W przypadku zastosowań takich jak analiza czy zapobieganie oszustwom na danym urządzeniu może być konieczne powiązanie korzystania z zestawu aplikacji należących do Twojej organizacji lub działań w nich wykonywanych. Usługi Google Play oferują opcję zapewniającą ochronę prywatności o nazwie identyfikator zestawu aplikacji.
Zakres identyfikatora zestawu aplikacji
Identyfikator zestawu aplikacji może mieć jeden z tych zakresów: Aby określić, z jakim zakresem jest powiązany dany identyfikator, wywołaj funkcję getScope()
.
Zakres dewelopera w Google Play
W przypadku aplikacji zainstalowanych ze Sklepu Google Play interfejs App Set ID API 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 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 instalowana przez instalator inny niż Sklep Google Play.
- Usługi Google Play nie mogą określić konta dewelopera w Google Play należącego do aplikacji.
- 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 z Google Play na urządzeniu może zostać zresetowany w każdej z tych sytuacji:
- Grupy aplikacji, które mają tę samą wartość identyfikatora, nie korzystały z interfejsu App Set ID API od ponad 13 miesięcy.
- Ostatnia aplikacja z danego zestawu aplikacji jest odinstalowywana z urządzenia.
- Użytkownik przywraca urządzenie do ustawień fabrycznych.
Aplikacja powinna używać pakietu SDK do pobierania wartości identyfikatora za każdym razem, gdy jest to potrzebne.
Dodawanie do aplikacji pakietu SDK identyfikatora zestawu aplikacji
Poniższy fragment kodu pokazuje 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'
}
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(); } });