Pour des cas d'utilisation tels que l'analyse ou la prévention de la fraude sur un appareil donné, vous devrez peut-être mettre en corrélation l'utilisation ou les actions sur un ensemble d'applications appartenant à votre organisation. Les services Google Play proposent une option respectueuse de la confidentialité appelée ID du groupe d'applications.
Portée de l'ID du groupe d'applications
L'ID du groupe d'applications peut avoir l'une des portées définies suivantes. Pour déterminer le champ auquel un ID particulier est associé, appelez getScope().
Champ d'application pour les développeurs Google Play
Pour les applications installées par le Google Play Store, l'API ID du groupe d'applications renvoie un ID limité à l'ensemble des applications publiées sous le même compte de développeur Google Play.
Par exemple, supposons que vous publiez deux applications sous votre compte de développeur Google Play et que les deux applications sont installées sur le même appareil via le Google Play Store. Les applications partagent le même ID du groupe d'applications sur cet appareil. L'ID est le même, même si les applications sont signées par des clés différentes.
Portée de l'application
Dans l'une des conditions suivantes, le SDK d'ID du groupe d'applications renvoie un ID unique à l'application appelante elle-même sur un appareil donné :
- L'application est installée par un programme d'installation autre que le Google Play Store.
- Les services Google Play ne parviennent pas à déterminer le compte de développeur Google Play d'une application.
- L'application est installée sur un appareil sans services Google Play.
Ne pas compter sur une valeur mise en cache de l'ID du groupe d'applications
L'ID de l'ensemble d'applications pour un ensemble donné d'applications installées sur un appareil depuis le Google Play Store peut être réinitialisé dans les conditions suivantes :
- Les groupes d'applications qui partagent la même valeur d'ID n'ont pas accédé à l'API ID du groupe d'applications depuis plus de 13 mois.
- La dernière application d'un ensemble donné est désinstallée de l'appareil.
- L'utilisateur rétablit la configuration d'usine de l'appareil.
Votre application doit utiliser le SDK pour récupérer la valeur de l'ID chaque fois que cela est nécessaire.
Ajouter le SDK ID du groupe d'applications à votre application
L'extrait suivant montre un exemple de fichier build.gradle qui utilise la bibliothèque d'ID de l'ensemble d'applications :
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
L'extrait d'exemple suivant montre comment récupérer l'ID de l'ensemble d'applications de manière asynchrone à l'aide de l'API Tasks dans les services 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();
}
});
Pour en savoir plus sur le format UUID, consultez Identifiant universel unique.