W przypadkach użycia takich jak analiza danych czy zapobieganie oszustwom na danym urządzeniu może być konieczne powiązanie użycia lub działań w zbiorze aplikacji należących do Twojej organizacji. Usługi Google Play oferują opcję chroniącą prywatność, która nazywa się identyfikator zestawu aplikacji.
Zakres identyfikatora zestawu aplikacji
Identyfikator zestawu aplikacji może mieć jeden z tych zakresów. Aby sprawdzić, z którym
zakresem jest powiązany dany identyfikator, wywołaj funkcję
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ą na tym urządzeniu ten sam identyfikator zestawu aplikacji. Identyfikator jest taki sam, nawet jeśli aplikacje są podpisane różnymi kluczami.
Zakres aplikacji
W każdym z tych przypadków pakiet SDK identyfikatora zestawu aplikacji zwraca identyfikator unikalny dla samej aplikacji wywołującej na danym urządzeniu:
- Aplikacja jest zainstalowana przez instalator inny niż Sklep Google Play.
- Usługi Google Play nie mogą określić konta dewelopera w Google Play.
- 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
W każdym z tych przypadków identyfikator zestawu aplikacji dla danego zestawu aplikacji zainstalowanych ze Sklepu Google Play na urządzeniu może zostać zresetowany:
- Grupy aplikacji, które mają tę samą wartość identyfikatora, nie korzystały z interfejsu API identyfikatora zestawu aplikacji przez ponad 13 miesięcy.
- Ostatnia aplikacja z danego zestawu aplikacji została odinstalowana z urządzenia.
- Użytkownik przywraca urządzenie do ustawień fabrycznych.
Aplikacja musi używać pakietu SDK, aby za każdym razem, gdy jest to potrzebne, pobierać wartość identyfikatora.
Dodawanie pakietu SDK identyfikatora zestawu aplikacji do aplikacji
Ten fragment kodu pokazuje przykładowy plik build.gradle, który używa biblioteki identyfikatora zestawu aplikacji:
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
Ten 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 Universally unique identifier (Uniwersalny unikalny identyfikator).