Identifier les applications appartenant à un développeur
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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 du 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:
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
valclient=AppSet.getClient(applicationContext)asAppSetIdClientvaltask:Task<AppSetIdInfo>=client.appSetIdInfoasTask<AppSetIdInfo>task.addOnSuccessListener({// Determine current scope of app set ID.valscope:Int=it.scope// Read app set ID value, which uses version 4 of the// universally unique identifier (UUID) format.valid:String=it.id})
Java
Contextcontext=getApplicationContext();AppSetIdClientclient=AppSet.getClient(context);Task<AppSetIdInfo>task=client.getAppSetIdInfo();task.addOnSuccessListener(newOnSuccessListener<AppSetIdInfo>(){@OverridepublicvoidonSuccess(AppSetIdInfoinfo){// Determine current scope of app set ID.intscope=info.getScope();// Read app set ID value, which uses version 4 of the// universally unique identifier (UUID) format.Stringid=info.getId();}});
Le contenu et les exemples de code de cette page sont soumis aux licences décrites dans la Licence de contenu. Java et OpenJDK sont des marques ou des marques déposées d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/17 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Il n'y a pas l'information dont j'ai besoin","missingTheInformationINeed","thumb-down"],["Trop compliqué/Trop d'étapes","tooComplicatedTooManySteps","thumb-down"],["Obsolète","outOfDate","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Mauvais exemple/Erreur de code","samplesCodeIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/08/17 (UTC)."],[],[],null,["# Identify developer-owned apps\n\nFor use cases such as analytics or fraud prevention on a given device, you may\nneed to correlate usage or actions across a set of apps owned by your\norganization. [Google Play services](https://developers.google.com/android)\noffers a privacy-friendly option called [*app set ID*](https://developers.google.com/android/reference/com/google/android/gms/appset/AppSetIdInfo).\n\nApp set ID scope\n----------------\n\nThe app set ID can have one of the following defined scopes. To determine which\nscope a particular ID is associated with, call\n[`getScope()`](https://developers.google.com/android/reference/com/google/android/gms/appset/AppSetIdInfo#getScope()).\n| **Caution:** When Google Play services updates from a version that only supports app scope to a version that supports developer scope, the app set ID's value is reset automatically, without any developer action. See [other reasons developers\n| shouldn't rely on a cached value of the app set ID](#dont-rely-on-cached-value).\n\n### Google Play developer scope\n\n| **Note:** The app set SDK attempts to return app set IDs that have the developer scope without any additional developer action, unless the app satisfies the conditions for app scope, described below.\n\nFor apps that are installed by the Google Play store, the app set ID API returns\nan ID scoped to the set of apps published under the same Google Play developer\naccount.\n\nFor example, suppose you publish two apps under your Google Play developer\naccount and both apps are installed on the same device through the Google Play\nstore. The apps share the same app set ID on that device. The ID is the same\neven if the apps are signed by different keys.\n\n### App scope\n\nUnder any of the following conditions, the app set ID SDK returns an ID unique\nto the calling app itself on a given device:\n\n- The app is installed by an installer other than the Google Play store.\n- Google Play services is unable to determine an app's Google Play developer account.\n- The app is installed on a device without Google Play services.\n\nDon't rely on a cached value of app set ID\n------------------------------------------\n\nUnder any of the following conditions, the app set ID for a given set of Google\nPlay store-installed apps on a device can be reset:\n\n- The app set ID API hasn't been accessed by the groups of apps that share the same ID value for over 13 months.\n- The last app from a given set of apps is uninstalled from the device.\n- The user performs a factory reset of the device.\n\nYour app should use the SDK to retrieve the ID value every time it's needed.\n\nAdd the app set ID SDK to your app\n----------------------------------\n\nThe following snippet shows an example `build.gradle` file that uses the app set\nID library: \n\n dependencies {\n implementation 'com.google.android.gms:play-services-appset:16.1.0'\n }\n\nThe following sample snippet demonstrates how you can retrieve the app set ID\nasynchronously using the [Tasks\nAPI](https://developers.google.com/android/guides/tasks) in Google Play\nservices: \n\n### Kotlin\n\n```kotlin\nval client = AppSet.getClient(applicationContext) as AppSetIdClient\nval task: Task\u003cAppSetIdInfo\u003e = client.appSetIdInfo as Task\u003cAppSetIdInfo\u003e\n\ntask.addOnSuccessListener({\n // Determine current scope of app set ID.\n val scope: Int = it.scope\n\n // Read app set ID value, which uses version 4 of the\n // https://en.wikipedia.org/wiki/Universally_unique_identifier.\n val id: String = it.id\n})\n```\n\n### Java\n\n```java\nContext context = getApplicationContext();\nAppSetIdClient client = AppSet.getClient(context);\nTask\u003cAppSetIdInfo\u003e task = client.getAppSetIdInfo();\n\ntask.addOnSuccessListener(new OnSuccessListener\u003cAppSetIdInfo\u003e() {\n @Override\n public void onSuccess(AppSetIdInfo info) {\n // Determine current scope of app set ID.\n int scope = info.getScope();\n\n // Read app set ID value, which uses version 4 of the\n // https://en.wikipedia.org/wiki/Universally_unique_identifier.\n String id = info.getId();\n }\n});\n```"]]