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 d'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 la portée à laquelle un ID particulier est associé, appelez getScope().

Champ d'application du compte de développeur Google Play

Pour les applications installées par le Google Play Store, l'API ID de l'ensemble d'applications renvoie un ID limité à l'ensemble d'applications publiées sous le même compte de développeur Google Play.

Par exemple, supposons que vous publiiez deux applications sous votre compte de développeur Google Play et que les deux applications soient 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 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 de l'ID du groupe d'applications renvoie un ID propre à 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 s'appuyer sur une valeur mise en cache de l'ID d'ensemble d'applications

Dans l'une des conditions suivantes, 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é:

  • Les groupes d'applications qui partagent la même valeur d'ID n'ont pas accédé à l'API de l'ID de l'ensemble d'applications depuis plus de 13 mois.
  • La dernière application d'un ensemble d'applications 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 qu'elle en a besoin.

Ajouter le SDK de l'ID de groupe d'applications à votre application

L'extrait de code 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 de code 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();
    }
});