Identifier les applications appartenant à un développeur

Pour des cas d'utilisation tels que l'analyse ou la prévention des fraudes sur un appareil donné, vous devrez peut-être mettre en corrélation l'utilisation ou les actions effectuées dans un ensemble d'applications appartenant à votre organisation. Les services Google Play proposent une option respectueuse de la confidentialité appelée ID de groupe d'applications.

Portée de l'ID du groupe d'applications

L'ID de l'ensemble 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 App set ID 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 avec 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 d'ensemble d'applications sur cet appareil. L'ID reste le même, même si les applications sont signées avec 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 d'ensemble 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 App set ID 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 d'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();
    }
});