Bonnes pratiques pour les identifiants uniques

Ce document fournit des conseils pour sélectionner les identifiants appropriés pour votre application en fonction de votre cas d'utilisation.

Pour une présentation générale des autorisations Android, consultez la section Présentation des autorisations. Pour connaître les bonnes pratiques spécifiques à l'utilisation des autorisations Android, consultez la section Bonnes pratiques concernant les autorisations des applications.

Bonnes pratiques pour l'utilisation des identifiants Android

Pour protéger la confidentialité de vos utilisateurs, utilisez l'identifiant le plus restrictif répondant au cas d'utilisation de votre application. Suivez plus particulièrement les bonnes pratiques suivantes:

  1. Choisissez des identifiants réinitialisables par l'utilisateur autant que possible. Votre application peut réaliser la plupart de ses cas d'utilisation, même lorsqu'elle utilise des identifiants autres que les ID matériels non réinitialisables.
  2. Évitez d'utiliser des identifiants matériels. Dans la plupart des cas d'utilisation, vous pouvez éviter d'utiliser des identifiants matériels, tels que l'IMEI (International Mobile Equipment Identity), sans limiter les fonctionnalités requises.

    Android 10 (niveau d'API 29) ajoute des restrictions pour les identifiants non réinitialisables, qui incluent à la fois le code IMEI et le numéro de série. Votre application doit être une application propriétaire de l'appareil ou du profil, disposer d'autorisations spéciales de l'opérateur ou disposer de l'autorisation privilégiée READ_PRIVILEGED_PHONE_STATE pour accéder à ces identifiants.

  3. N'utilisez un identifiant publicitaire que pour le profilage des utilisateurs ou pour des cas d'utilisation d'annonces. Lorsque vous utilisez un identifiant publicitaire, respectez toujours les choix des utilisateurs concernant le suivi des annonces. Si vous devez associer l'identifiant publicitaire à des informations permettant d'identifier personnellement l'utilisateur, ne le faites que avec le consentement explicite de l'utilisateur.

  4. Ne reliez pas les réinitialisations de l'identifiant publicitaire.

  5. Dans la mesure du possible, utilisez un ID d'installation Firebase (FID) ou un GUID stocké de manière privée pour tous les autres cas d'utilisation, à l'exception de la prévention des fraudes au paiement et de la téléphonie. Pour la grande majorité des cas d'utilisation autres que les annonces, un FID ou un GUID devrait suffire.

  6. Utilisez des API adaptées à votre cas d'utilisation pour minimiser les risques de confidentialité. Utilisez l'API DRM pour la protection des contenus à forte valeur ajoutée et les API Play Integrity pour la protection contre les abus. Les API Play Integrity sont le moyen le plus simple de déterminer si un appareil est authentique sans courir de risque de confidentialité.

Les sections restantes de ce guide détaillent ces règles dans le contexte du développement d'applications Android.

Utiliser des identifiants publicitaires

L'identifiant publicitaire est réinitialisable par l'utilisateur et convient aux cas d'utilisation d'annonces. Toutefois, vous devez garder à l'esprit certains points clés lorsque vous utilisez cet ID:

Respectez toujours l'intention de l'utilisateur lorsqu'il réinitialise l'identifiant publicitaire. Ne reliez pas les réinitialisations utilisateur à l'aide d'un autre identifiant ou d'une autre empreinte pour associer les identifiants publicitaires ultérieurs sans l'autorisation de l'utilisateur. Le Règlement sur le contenu pour les développeurs Google Play stipule ce qui suit:

"...en cas de réinitialisation, un nouvel identifiant publicitaire ne doit pas être associé à un ancien identifiant publicitaire ni à des données qui en sont dérivées sans le consentement explicite de l'utilisateur."

Respectez toujours l'indicateur "Annonces personnalisées" associé. Les identifiants publicitaires sont configurables dans la mesure où les utilisateurs peuvent limiter le volume de suivi associé à l'identifiant. Utilisez toujours la méthode AdvertisingIdClient.Info.isLimitAdTrackingEnabled() pour vous assurer de ne pas contourner les souhaits de vos utilisateurs. Le Règlement relatif au contenu des applications Google Play pour les développeurs stipule ce qui suit:

"...vous devez respecter le paramètre "Désactiver les annonces par centres d'intérêt" ou "Désactiver la personnalisation des annonces" défini par l'utilisateur. Si ce paramètre est activé, vous ne devez pas utiliser l'identifiant publicitaire pour créer des profils utilisateur à des fins de publicité ni pour cibler des utilisateurs avec des annonces personnalisées. Les activités autorisées incluent la publicité contextuelle, la limitation de la fréquence d'exposition, le suivi des conversions, la création de rapports, la sécurité et la détection des fraudes."

Tenez compte des règles de confidentialité ou de sécurité liées aux SDK que vous utilisez et qui sont liées à l'utilisation de l'identifiant publicitaire. Par exemple, si vous transmettez true à la méthode enableAdvertisingIdCollection() du SDK Google Analytics, assurez-vous d'examiner et de respecter toutes les règles applicables du SDK Analytics.

Sachez également que le Règlement sur le contenu des développeurs Google Play exige que l'identifiant publicitaire "ne soit pas associé à des informations permettant d'identifier personnellement l'utilisateur ni à un identifiant permanent de l'appareil (par exemple, SSAID, adresse MAC, code IMEI, etc.)".

Par exemple, supposons que vous souhaitiez collecter des informations pour renseigner les tables de base de données avec les colonnes suivantes:

TABLE-01
timestamp ad_id account_id clickid
TABLEAU-02
account_id name dob country

Dans cet exemple, la colonne ad_id pourrait être jointe aux informations d'identification personnelle via la colonne account_id dans les deux tables, ce qui constituerait une violation du Règlement sur le contenu pour les développeurs Google Play, si vous n'avez pas obtenu l'autorisation explicite de vos utilisateurs.

N'oubliez pas que les liens entre l'ID de l'annonceur et les informations permettant d'identifier personnellement l'utilisateur ne sont pas toujours aussi explicites. Il est possible que des "quasi-identifiants" apparaissent à la fois dans les tableaux d'informations permettant d'identifier personnellement l'utilisateur et dans les tableaux associés à l'identifiant de l'annonce, ce qui pose également problème. Par exemple, supposons que nous modifions TABLE-01 et TABLE-02 comme suit:

TABLEAU-01
timestamp ad_id clickid dev_model
TABLE-02
timestamp demo account_id dev_model name

Dans ce cas, avec des événements de clic suffisamment rares, il est toujours possible de joindre l'ID de l'annonceur TABLE-01 et les informations personnelles contenues dans TABLE-02 à l'aide du code temporel de l'événement et du modèle de l'appareil.

Bien qu'il soit souvent difficile de garantir l'absence de ces quasi-identifiants dans un ensemble de données, vous pouvez éviter les risques de jointure les plus évidents en généralisant des données uniques dans la mesure du possible. Dans l'exemple précédent, cela signifierait réduire la précision de l'horodatage afin que plusieurs appareils du même modèle apparaissent pour chaque horodatage.

Voici d'autres solutions:

  • Ne pas concevoir de tables qui associent explicitement des informations personnelles à des identifiants publicitaires Dans le premier exemple ci-dessus, cela signifie que la colonne account_id ne doit pas être incluse dans TABLE-01.

  • Ségrégation et surveillance des listes de contrôle des accès pour les utilisateurs ou les rôles ayant accès à la fois aux données associées à l'identifiant publicitaire et aux informations permettant d'identifier personnellement l'utilisateur En contrôlant et en auditant étroitement la capacité à accéder aux deux sources simultanément (par exemple, en effectuant une jointure entre les tables), vous réduisez le risque d'association entre l'identifiant publicitaire et les informations permettant d'identifier personnellement l'utilisateur. En règle générale, le contrôle des accès implique les opérations suivantes:

    1. Maintenez les listes de contrôle d'accès (LCA) pour les données associées à l'identifiant de l'annonceur et les informations permettant d'identifier personnellement l'utilisateur distinctes pour réduire le nombre d'individus ou de rôles figurant dans les deux LCA.
    2. Implémentez la journalisation et l'audit des accès pour détecter et gérer les exceptions à cette règle.

Pour en savoir plus sur l'utilisation responsable des ID publicitaires, consultez la documentation de référence de l'API AdvertisingIdClient.

Utiliser les FID et les GUID

La solution la plus simple pour identifier une instance d'application exécutée sur un appareil consiste à utiliser un ID d'installation Firebase (FID). Il s'agit de la solution recommandée dans la majorité des cas d'utilisation autres que les annonces. Seule l'instance d'application pour laquelle il a été provisionné peut accéder à cet identifiant. Il peut être réinitialisé (relativement) facilement, car il ne persiste que tant que l'application est installée.

Par conséquent, les FID offrent de meilleures propriétés de confidentialité que les ID matériels de portée appareil non réinitialisables. Pour en savoir plus, consultez la documentation de référence de l'API firebase.installations.

Lorsqu'un FID n'est pas pratique, vous pouvez également utiliser des ID uniques globaux (GUID) personnalisés pour identifier de manière unique une instance d'application. Le moyen le plus simple de le faire est de générer votre propre GUID à l'aide du code suivant:

Kotlin

var uniqueID = UUID.randomUUID().toString()

Java

String uniqueID = UUID.randomUUID().toString();

Comme l'identifiant est unique, il peut être utilisé pour identifier une instance d'application spécifique. Pour éviter les problèmes liés à l'association de l'identifiant entre les applications, stockez les GUID dans l'espace de stockage interne plutôt que dans l'espace de stockage externe (partagé). Pour en savoir plus, consultez la page Présentation du stockage de données et des fichiers.

Ne fonctionnent pas avec les adresses MAC

Les adresses MAC sont uniques au monde, ne peuvent pas être réinitialisées par l'utilisateur et survivent aux réinitialisations d'usine. Pour ces raisons, afin de protéger la confidentialité des utilisateurs, sur les versions 6 et ultérieures d'Android, l'accès aux adresses MAC est limité aux applications système. Les applications tierces ne peuvent pas y accéder.

Modifications apportées à la disponibilité des adresses MAC sous Android 11

Dans les applications ciblant Android 11 ou version ultérieure, la randomisation MAC pour les réseaux Passpoint est effectuée par profil Passpoint, ce qui génère une adresse MAC unique basée sur les champs suivants:

  • Nom de domaine complet
  • Domaine
  • Identifiants basés sur ceux utilisés dans le profil Passpoint :
    • Identifiants utilisateur: nom d'utilisateur
    • Identifiants de certificat: certificat et type de certificat
    • Identifiants de la carte SIM: type EAP et IMSI

De plus, les applications non privilégiées ne peuvent pas accéder à l'adresse MAC de l'appareil. Seules les interfaces réseau disposant d'une adresse IP sont visibles. Cela a un impact sur les méthodes getifaddrs() et NetworkInterface.getHardwareAddress(), ainsi que sur l'envoi de messages Netlink RTM_GETLINK.

Voici la liste des applications concernées par ce changement:

  • NetworkInterface.getHardwareAddress() renvoie la valeur nulle pour chaque interface.
  • Les applications ne peuvent pas utiliser la fonction bind() sur les sockets NETLINK_ROUTE.
  • La commande ip ne renvoie pas d'informations sur les interfaces.
  • Les applications ne peuvent pas envoyer de messages RTM_GETLINK.

Notez que la plupart des développeurs doivent utiliser les API de niveau supérieur de ConnectivityManager plutôt que les API de niveau inférieur telles que NetworkInterface, getifaddrs() ou les sockets Netlink. Par exemple, une application qui a besoin d'informations à jour sur les itinéraires actuels peut obtenir ces informations en écoutant les modifications de réseau à l'aide de ConnectivityManager.registerNetworkCallback() et en appelant l'LinkProperties.getRoutes() associé au réseau.

Caractéristiques de l'identifiant

L'OS Android propose plusieurs ID avec des caractéristiques de comportement différentes. L'ID à utiliser dépend de la façon dont les caractéristiques suivantes fonctionnent avec votre cas d'utilisation. Toutefois, ces caractéristiques ont également des implications en termes de confidentialité. Il est donc important de comprendre comment elles interagissent entre elles.

Champ d'application

Le champ d'application de l'identifiant indique les systèmes pouvant y accéder. La portée de l'identifiant Android se présente généralement sous trois formes:

  • Une seule application: l'ID est interne à l'application et les autres applications ne peuvent pas y accéder.
  • Groupe d'applications: l'ID est accessible à un groupe prédéfini d'applications associées.
  • Device (Appareil) : toutes les applications installées sur l'appareil peuvent accéder à l'ID.

Plus le champ d'application accordé à un identifiant est large, plus il est susceptible d'être utilisé à des fins de suivi. À l'inverse, si un identifiant n'est accessible que par une seule instance d'application, il ne peut pas être utilisé pour suivre un appareil dans plusieurs transactions dans différentes applications.

Réinitialisation et persistance

La réinitialisation et la persistance définissent la durée de vie de l'identifiant et expliquent comment le réinitialiser. Les déclencheurs de réinitialisation courants incluent: les réinitialisations dans l'application, les réinitialisations via les paramètres système, les réinitialisations au lancement et les réinitialisations lors de l'installation. La durée de vie des identifiants Android peut varier, mais elle est généralement liée à la manière dont l'ID est réinitialisé:

  • Session uniquement: un nouvel ID est utilisé chaque fois que l'utilisateur redémarre l'application.
  • Installation-réinitialisation: un nouvel ID est utilisé chaque fois que l'utilisateur désinstalle et réinstalle l'application.
  • Rétablir la configuration d'usine: un nouvel ID est utilisé chaque fois que l'utilisateur rétablit la configuration d'usine de l'appareil.
  • FDR-persistent: l'ID persiste après le rétablissement de la configuration d'usine.

La réinitialisation permet aux utilisateurs de créer un ID dissocié de toutes les informations de profil existantes. Plus un identifiant persiste longtemps et de manière fiable, comme celui qui persiste après une réinitialisation d'usine, plus le risque que l'utilisateur soit soumis à un suivi à long terme est élevé. Si l'identifiant est réinitialisé lors de la réinstallation de l'application, cela réduit la persistance et permet de réinitialiser l'ID, même s'il n'existe aucun contrôle utilisateur explicite pour le réinitialiser depuis l'application ou les paramètres système.

unicité

L'unicité détermine la probabilité de collisions, c'est-à-dire que des identifiants identiques existent dans le champ d'application associé. Au niveau le plus élevé, un identifiant unique au niveau mondial ne provoque jamais de collision, même sur d'autres appareils ou applications. Sinon, le niveau d'unicité dépend de l'entropie de l'identifiant et de la source de hasard utilisée pour le créer. Par exemple, le risque de collision est beaucoup plus élevé pour les identifiants aléatoires générés à partir de la date calendaire d'installation (par exemple, 2019-03-01) que pour les identifiants générés à partir du code temporel Unix de l'installation (par exemple, 1551414181).

En général, les identifiants de compte utilisateur peuvent être considérés comme uniques. Autrement dit, chaque combinaison appareil/compte dispose d'un ID unique. D'un autre côté, plus un identifiant est peu unique dans une population, plus la protection de la confidentialité est élevée, car il est moins utile pour suivre un utilisateur individuel.

Protection de l'intégrité et non-répudiation

Vous pouvez utiliser un identifiant difficile à falsifier ou à reproduire pour prouver que l'appareil ou le compte associé présente certaines propriétés. Par exemple, vous pouvez prouver que l'appareil n'est pas un appareil virtuel utilisé par un spammeur. Les identifiants difficiles à falsifier offrent également une non-répudiation. Si l'appareil signe un message avec une clé secrète, il est difficile de prétendre que l'appareil d'un tiers a envoyé le message. La non-répudiation peut être une fonctionnalité souhaitée par l'utilisateur, par exemple lors de l'authentification d'un paiement, ou une propriété indésirable, par exemple lorsqu'il envoie un message qu'il regrette.

Cas d'utilisation courants et identifiant approprié à utiliser

Cette section propose des alternatives à l'utilisation d'ID matériel, tels que le code IMEI. L'utilisation d'ID matériels est déconseillée, car l'utilisateur ne peut pas les réinitialiser et ils sont limités à l'appareil. Dans de nombreux cas, un identifiant de portée application suffit.

Comptes

État du transporteur

Dans ce cas, votre application interagit avec les fonctionnalités de téléphone et de messagerie de l'appareil à l'aide d'un compte opérateur.

Identifiant recommandé:IMEI, IMSI et Line1

Pourquoi cette recommandation ?

L'utilisation d'identifiants matériels est acceptable si elle est requise pour des fonctionnalités liées à l'opérateur. Par exemple, vous pouvez utiliser ces identifiants pour basculer entre des opérateurs mobiles ou des emplacements de carte SIM, ou pour envoyer des messages SMS via IP (pour Line1) : comptes utilisateur basés sur une carte SIM. Toutefois, pour les applications non privilégiées, nous vous recommandons d'utiliser une connexion de compte pour récupérer les informations sur l'appareil de l'utilisateur côté serveur. En effet, sous Android 6.0 (API de niveau 23) et versions ultérieures, ces identifiants ne peuvent être utilisés que via une autorisation d'exécution. Les utilisateurs peuvent désactiver cette autorisation. Votre application doit donc gérer ces exceptions correctement.

État de l'abonnement mobile

Dans ce cas, vous devez associer la fonctionnalité de l'application à certains abonnements de services mobiles sur l'appareil. Par exemple, vous devrez peut-être valider l'accès à certaines fonctionnalités d'application premium en fonction des abonnements mobiles de l'appareil via la carte SIM.

Identifiant recommandé à utiliser:API Subscription ID pour identifier les SIM utilisées sur l'appareil.

L'ID d'abonnement fournit une valeur d'indice (à partir de 1) pour identifier de manière unique les SIM installées (y compris les physiques et les électroniques) utilisées sur l'appareil. Grâce à cet ID, votre application peut associer sa fonctionnalité à diverses informations d'abonnement pour une carte SIM donnée. Cette valeur est stable pour une carte SIM donnée, sauf si l'appareil est rétabli en configuration d'usine. Toutefois, il est possible que la même carte SIM ait un ID d'abonnement différent sur différents appareils ou que différentes cartes SIM aient le même ID sur différents appareils.

Pourquoi cette recommandation ?

Certaines applications utilisent peut-être actuellement l'ID ICC à cette fin. Étant donné que l'ID ICC est unique au niveau mondial et ne peut pas être réinitialisé, l'accès est limité aux applications disposant de l'autorisation READ_PRIVILEGED_PHONE_STATE depuis Android 10. À partir d'Android 11, Android a encore restreint l'accès à l'ICCID via l'API getIccId(), quel que soit le niveau d'API cible de l'application. Les applications concernées doivent migrer pour utiliser l'ID d'abonnement à la place.

Authentification unique

Dans ce cas, votre application propose une expérience d'authentification unique, qui permet aux utilisateurs d'associer un compte existant à votre organisation.

Identifiant recommandé à utiliser:comptes compatibles avec le gestionnaire de comptes, tels que l'association de comptes Google

Pourquoi cette recommandation ?

L'association de comptes Google permet aux utilisateurs d'associer leur compte Google existant à votre application, ce qui leur permet d'accéder facilement et de manière plus sécurisée aux produits et services de votre organisation. De plus, vous pouvez définir des champs d'application OAuth personnalisés pour ne partager que les données nécessaires, ce qui renforce la confiance des utilisateurs en définissant clairement comment leurs données sont utilisées.

Annonces

Ciblage

Dans ce cas, votre application crée un profil des centres d'intérêt de l'utilisateur afin de lui montrer des annonces plus pertinentes.

Identifiant recommandé à utiliser:si votre application utilise un identifiant pour les annonces et qu'elle importe ou publie des contenus sur Google Play, cet identifiant doit être l'identifiant publicitaire.

Pourquoi cette recommandation ?

Il s'agit d'un cas d'utilisation lié aux annonces qui peut nécessiter un identifiant disponible dans les différentes applications de votre organisation. L'utilisation d'un identifiant publicitaire est donc la solution la plus appropriée. Conformément au Règlement relatif au contenu pour les développeurs Google Play, l'identifiant publicitaire est obligatoire dans les cas d'utilisation publicitaires, car l'utilisateur peut le réinitialiser.

Que vous partagiez ou non les données utilisateur dans votre application, si vous les collectez et les utilisez à des fins publicitaires, vous devez déclarer ces finalités dans la section Sécurité des données de la page Contenu de l'application de la Play Console.

de mesure

Dans ce cas, votre application crée un profil d'utilisateur en fonction de son comportement dans les applications de votre organisation sur le même appareil.

Identifiant recommandé à utiliser:identifiant publicitaire ou API Play Install Referrer

Pourquoi cette recommandation ?

Il s'agit d'un cas d'utilisation lié aux annonces qui peut nécessiter un identifiant disponible dans les différentes applications de votre organisation. L'utilisation d'un identifiant publicitaire est donc la solution la plus appropriée. Si vous utilisez un ID pour des cas d'utilisation publicitaires, il doit s'agir de l'identifiant publicitaire, car l'utilisateur peut le réinitialiser. Pour en savoir plus, consultez le Règlement relatif au contenu de Google Play pour les développeurs.

Conversions

Dans ce cas, vous suivez les conversions pour déterminer si votre stratégie marketing est efficace.

Identifiant recommandé à utiliser:identifiant publicitaire ou API Play Install Referrer

Pourquoi cette recommandation ?

Il s'agit d'un cas d'utilisation lié aux annonces qui peut nécessiter un identifiant disponible dans les différentes applications de votre organisation. L'utilisation d'un identifiant publicitaire est donc la solution la plus appropriée. Conformément au Règlement relatif au contenu pour les développeurs Google Play, l'identifiant publicitaire est obligatoire dans les cas d'utilisation publicitaires, car l'utilisateur peut le réinitialiser.

Remarketing

Dans ce cas, votre application diffuse des annonces en fonction des centres d'intérêt précédents de l'utilisateur.

Identifiant recommandé à utiliser:identifiant publicitaire

Pourquoi cette recommandation ?

Il s'agit d'un cas d'utilisation lié aux annonces qui peut nécessiter un identifiant disponible dans les différentes applications de votre organisation. L'utilisation d'un identifiant publicitaire est donc la solution la plus appropriée. L'utilisation de l'identifiant publicitaire est obligatoire pour les cas d'utilisation publicitaires, conformément au Règlement Google Play pour les contenus des développeurs, car l'utilisateur peut le réinitialiser.

Solution d'analyse d'applications

Dans ce cas, votre application évalue le comportement d'un utilisateur pour vous aider à déterminer les éléments suivants:

  • Parmi les autres produits ou applications de votre organisation, lesquels pourraient convenir à l'utilisateur ?
  • Comment maintenir l'intérêt des utilisateurs pour votre application.
  • Mesurez les statistiques et les analyses d'utilisation pour les utilisateurs déconnectés ou anonymes.

Voici quelques solutions possibles:

  • ID de groupe d'applications:un ID de groupe d'applications vous permet d'analyser le comportement d'un utilisateur sur plusieurs applications appartenant à votre organisation, à condition de ne pas utiliser les données utilisateur à des fins publicitaires. Si vous ciblez des appareils équipés des services Google Play, nous vous recommandons d'utiliser l'ID de l'ensemble d'applications.
  • ID Firebase (FID) : un FID est limité à l'application qui le crée, ce qui empêche l'utilisation de l'identifiant pour suivre les utilisateurs dans plusieurs applications. Il peut également être facilement réinitialisé, car l'utilisateur peut effacer les données de l'application ou la réinstaller. Le processus de création d'un FID est simple. Consultez le guide d'installation de Firebase.

Développement d'application

Rapports d'erreur

Dans ce cas, votre application collecte des données sur le moment et la raison de ses plantages sur les appareils d'un utilisateur.

Identifiant recommandé à utiliser:FID ou ID du groupe d'applications

Pourquoi cette recommandation ?

Un FID est limité à l'application qui le crée, ce qui empêche l'identifiant d'être utilisé pour suivre les utilisateurs dans plusieurs applications. Il peut également être facilement réinitialisé, car l'utilisateur peut effacer les données de l'application ou la réinstaller. Le processus de création d'un FID est simple. Consultez le guide d'installation de Firebase. Un ID d'ensemble d'applications vous permet d'analyser le comportement d'un utilisateur dans plusieurs applications appartenant à votre organisation, à condition de ne pas utiliser les données utilisateur à des fins publicitaires.

Rapports sur les performances

Dans ce cas, votre application collecte des métriques de performances, telles que les temps de chargement et l'utilisation de la batterie, pour améliorer sa qualité.

Identifiant recommandé à utiliser:Firebase Performance Monitoring

Pourquoi cette recommandation ?

Firebase Performance Monitoring vous permet de vous concentrer sur les métriques qui comptent le plus pour vous et de tester l'impact d'une modification récente de votre application.

Test d'applications

Dans ce cas, votre application évalue l'expérience d'un utilisateur avec votre application à des fins de test ou de débogage.

Identifiant qu'il est recommandé d'utiliser:FID ou ID du groupe d'applications

Pourquoi cette recommandation ?

Un FID est limité à l'application qui le crée, ce qui empêche l'identifiant d'être utilisé pour suivre les utilisateurs dans les applications. Il peut également être facilement réinitialisé, car l'utilisateur peut effacer les données de l'application ou la réinstaller. Le processus de création d'un FID est simple. Consultez le guide d'installation de Firebase. Un ID d'ensemble d'applications vous permet d'analyser le comportement d'un utilisateur dans plusieurs applications appartenant à votre organisation, à condition de ne pas utiliser les données utilisateur à des fins publicitaires.

Installation inter-appareils

Dans ce cas, votre application doit identifier l'instance appropriée lorsqu'elle est installée sur plusieurs appareils pour le même utilisateur.

Identifiant recommandé:FID ou GUID

Pourquoi cette recommandation ?

Un FID est conçu explicitement à cette fin. Son champ d'application est limité à l'application afin qu'il ne puisse pas être utilisé pour suivre les utilisateurs sur différentes applications. Il est réinitialisé lors de la réinstallation de l'application. Dans les rares cas où un FID est insuffisant, vous pouvez également utiliser un GUID.

Sécurité

Détection des abus

Dans ce cas, vous essayez de détecter plusieurs faux appareils qui attaquent vos services backend.

Identifiant recommandé à utiliser:jeton d'intégrité de l'API Google Play Integrity

Pourquoi cette recommandation ?

Pour vérifier qu'une requête provient d'un appareil Android authentique (plutôt que d'un émulateur ou d'un autre code usurpant l'identité d'un autre appareil), utilisez l'API Google Play Integrity.

Fraude publicitaire

Dans ce cas, votre application vérifie que les impressions et les actions d'un utilisateur dans votre application sont authentiques et vérifiables.

Identifiant recommandé à utiliser:identifiant publicitaire

Pourquoi cette recommandation ?

L'utilisation de l'identifiant publicitaire est obligatoire pour les cas d'utilisation publicitaires, conformément au Règlement sur le contenu pour les développeurs Google Play, car l'utilisateur peut le réinitialiser.

Gestion des droits numériques (DRM)

Dans ce cas, votre application souhaite protéger l'accès frauduleux à la propriété intellectuelle ou aux contenus payants.

Identifiant recommandé à utiliser:l'utilisation d'un FID ou d'un GUID oblige l'utilisateur à réinstaller l'application pour contourner les limites de contenu, ce qui constitue un fardeau suffisant pour dissuader la plupart des utilisateurs. Si cette protection n'est pas suffisante, Android fournit une API DRM, qui peut être utilisée pour limiter l'accès au contenu. Elle inclut un identifiant par APK, l'ID Widevine.

Préférences utilisateur

Dans ce cas, votre application enregistre l'état de l'utilisateur par appareil, en particulier pour les utilisateurs qui ne sont pas connectés. Vous pouvez transférer cet état vers une autre application signée avec la même clé sur le même appareil.

Identifiant recommandé:FID ou GUID

Pourquoi cette recommandation ?

Il n'est pas recommandé de conserver les informations via des réinstallations, car les utilisateurs peuvent vouloir réinitialiser leurs préférences en réinstallant l'application.