W przypadkach użycia takich jak analizy czy zapobieganie oszustwom na danym urządzeniu może być konieczne powiązanie korzystania z zestawu aplikacji należących do Twojej organizacji. Usługi Google Play oferują opcję sprzyjającą prywatności o nazwie identyfikator zestawu aplikacji.
Zakres identyfikatora zestawu aplikacji
Identyfikator zestawu aplikacji może mieć jeden z tych zdefiniowanych zakresów. Aby określić, z jakim zakresem jest powiązany dany identyfikator, wywołaj getScope().
Zakres dewelopera w Google Play
W przypadku aplikacji zainstalowanych ze Sklepu Google Play interfejs API identyfikatora zestawu aplikacji zwraca identyfikator ograniczony do zestawu aplikacji opublikowanych na tym samym koncie dewelopera w Google Play.
Załóżmy na przykład, że publikujesz 2 aplikacje na swoim koncie dewelopera w Google Play i obie są zainstalowane na tym samym urządzeniu ze Sklepu Google Play. Aplikacje mają ten sam identyfikator zestawu aplikacji na tym urządzeniu. Identyfikator jest taki sam, nawet jeśli aplikacje są podpisane różnymi kluczami.
Zakres aplikacji
W każdym z poniższych przypadków pakiet SDK identyfikatora zestawu aplikacji zwraca identyfikator unikalny dla aplikacji wywołującej na danym urządzeniu:
- Aplikacja została zainstalowana przez instalator inny niż Sklep Google Play.
- Usługi Google Play nie mogą określić konta dewelopera w Google Play, do którego należy aplikacja.
- Aplikacja jest zainstalowana na urządzeniu bez Usług Google Play.
Nie polegaj na wartości identyfikatora zestawu aplikacji zapisanej w pamięci podręcznej
Identyfikator zestawu aplikacji dla danego zestawu aplikacji zainstalowanych ze Sklepu Google Play na urządzeniu można zresetować w tych przypadkach:
- Grupy aplikacji, które mają tę samą wartość identyfikatora zestawu aplikacji, nie korzystały z interfejsu App Set ID API przez ponad 13 miesięcy.
- Z urządzenia zostanie odinstalowana ostatnia aplikacja z danego zestawu.
- Użytkownik przywraca urządzenie do ustawień fabrycznych.
Aplikacja musi używać pakietu SDK, aby pobierać wartość identyfikatora za każdym razem, gdy jest on potrzebny.
Dodawanie do aplikacji pakietu SDK identyfikatora zestawu aplikacji
Poniższy fragment kodu przedstawia przykładowy plik build.gradle, który korzysta z biblioteki identyfikatora zestawu aplikacji:
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
Poniższy przykładowy fragment kodu pokazuje, jak asynchronicznie pobrać identyfikator zestawu aplikacji za pomocą interfejsu Tasks API w usługach Google Play:
Kotlin
val client = AppSet.getClient(applicationContext) as AppSetIdClient
val task: Task<AppSetIdInfo> = client.appSetIdInfo as Task<AppSetIdInfo>
task.addOnSuccessListener({
// Determine current scope of app set ID.
val scope: Int = it.scope
// Read app set ID value, which uses version 4 of the
// universally unique identifier (UUID) format.
val id: String = it.id
})
Java
Context context = getApplicationContext();
AppSetIdClient client = AppSet.getClient(context);
Task<AppSetIdInfo> task = client.getAppSetIdInfo();
task.addOnSuccessListener(new OnSuccessListener<AppSetIdInfo>() {
@Override
public void onSuccess(AppSetIdInfo info) {
// Determine current scope of app set ID.
int scope = info.getScope();
// Read app set ID value, which uses version 4 of the
// universally unique identifier (UUID) format.
String id = info.getId();
}
});
Więcej informacji o formacie UUID znajdziesz w artykule Uniwersalny unikalny identyfikator.