Cette page explique comment utiliser le rappel de données appareil pour stocker et récupérer des données personnalisées avec des appareils spécifiques. Vous pourrez rappeler de manière fiable les données personnalisées ultérieurement lorsque votre application sera installée sur le même appareil, même après la réinitialisation de l'appareil. Cela vous permet de détecter et d'empêcher la réutilisation d'un appareil en fonction d'une action ou d'un comportement que vous spécifiez, tout en préservant la confidentialité des utilisateurs.
Comment fonctionne le rappel de données appareil ?
Le rappel de données appareil permet aux applications de stocker et de rappeler des données personnalisées associées à un appareil spécifique, tout en préservant la confidentialité de l'utilisateur. Les données étant stockées sur les serveurs Google, votre application peut les rappeler par appareil de manière fiable, même après sa réinstallation ou la réinitialisation de l'appareil. Par exemple, vous pouvez utiliser cette fonctionnalité pour rappeler les appareils sur lesquels vous avez trouvé des preuves d'abus graves, les appareils qui ont déjà bénéficié d'articles de grande valeur (comme un essai sans frais) ou les appareils qui sont utilisés à plusieurs reprises pour créer de nouveaux comptes à des fins abusives. Le rappel de données appareil préserve la confidentialité des utilisateurs, car l'application qui en fait la demande ne peut rappeler que les données limitées qu'elle a associées aux appareils, sans accéder à aucun identifiant d'appareil ni d'utilisateur. Une fois le rappel de données appareil activé, vous pouvez effectuer les opérations suivantes :
- Lire les données par appareil : vous pouvez lire trois valeurs personnalisées ou bits pour chaque appareil lorsque vous obtenez une évaluation de l'intégrité. Vous pouvez définir votre propre signification pour ces valeurs. Par exemple, vous pouvez les traiter comme trois indicateurs distincts ou les combiner pour représenter huit libellés personnalisés.
- Modifier les données par appareil : une fois que vous avez obtenu un jeton d'intégrité, vous pouvez l'utiliser pour effectuer un appel côté serveur au serveur de Google Play afin de modifier une ou plusieurs valeurs. Vous disposez de 14 jours pour utiliser le jeton. Cela vous permet de modifier une valeur si, par exemple, l'utilisation abusive n'est évidente que dans les deux semaines suivant la première vérification de l'intégrité. Lorsque vous modifiez une valeur, le mois et l'année de la modification sont également stockés.
Conditions préalables et points à prendre en compte pour le rappel de données appareil
La fonctionnalité de rappel de données appareil ne peut être utilisée que pour stocker et rappeler des informations afin de protéger la sécurité des applications et d'atténuer les risques d'utilisation abusive, de fraude et d'accès non autorisé. Vous ne pouvez pas utiliser la fonctionnalité de rappel de données appareil pour identifier ou suivre des utilisateurs ou des appareils individuels, ni pour suivre des caractéristiques sensibles des utilisateurs ou des appareils, comme le genre, l'âge ou les données de localisation.
Le rappel de données appareil est soumis aux conditions préalables suivantes :
- Le rappel de données appareil peut être utilisé sur les téléphones, les tablettes, les appareils pliables, les téléviseurs, les appareils Auto et Wear OS. Sur Wear, le rappel d'appareil n'est disponible que sur les appareils équipés de Wear OS 5 ou version ultérieure. Le rappel d'appareil n'est pas disponible sur les émulateurs.
- Le rappel d'appareil nécessite l'installation et l'activation de versions récentes du Google Play Store et des services Google Play sur l'appareil.
- Le rappel de données appareil nécessite que le compte utilisateur dispose d'une licence Google Play. Sinon, l'évaluation ne sera pas examinée.
Le rappel de données appareil présente les considérations de délai suivantes :
- Une fois que vous avez validé un jeton d'intégrité, vous disposez de 14 jours pour l'utiliser afin de stocker des données personnalisées sur le rappel de données appareil.
- Le rappel de données appareil inclut des codes temporels pour que vous puissiez considérer les données récemment modifiées comme plus prioritaires que celles qui ont été modifiées il y a longtemps. Envisagez d'ignorer ou de réinitialiser les données après une période suffisamment longue pour tenir compte du fait que les appareils peuvent changer de propriétaire ou être reconditionnés et revendus.
- Les bits de rappel d'un appareil seront stockés pendant trois ans après le dernier accès en lecture ou en écriture.
- Si vous devez supprimer toutes les données associées à un appareil, votre application peut réinitialiser les trois valeurs de cet appareil sur "false". Les codes temporels seront automatiquement réinitialisés.
Pour les développeurs disposant de plusieurs applications et ceux qui transfèrent des applications, le rappel d'appareils fonctionne comme suit :
- Toutes les applications de votre compte de développeur Google Play ont accès aux mêmes trois valeurs par appareil. En d'autres termes, si l'une de vos applications modifie l'une des valeurs, toutes vos applications liront la valeur modifiée lorsqu'elles seront installées sur le même appareil.
- Si une application est transférée d'un compte de développeur à un autre, le rappel d'appareil reflétera les données par appareil du nouveau compte de développeur, et non celles de l'ancien compte de développeur.
Activer le rappel de données appareil
Lorsque vous êtes prêt, activez le rappel de données appareil dans la Play Console :
- Connectez-vous à la Play Console.
- Sélectionnez l'application qui utilisera la fonctionnalité de rappel de données appareil.
- Accédez à Protégé avec Play dans le menu de gauche.
- À côté de l'API Play Integrity, cliquez sur Gérer.
- Dans la section "Réponses" de la page, cliquez sur Modifier les réponses.
- Activez la fonctionnalité Rappel de données appareil.
- Cliquez sur "Enregistrer les modifications".
Lorsque vous activez ou désactivez le rappel de données appareil, toutes les réponses de test de l'API Play Integrity que vous avez configurées dans la Play Console sont supprimées, et vous devez les recréer.
Lire les valeurs de rappel de données appareil
Le rappel de données appareil fonctionne avec les requêtes classiques et standards de l'API Play Integrity. Dans les requêtes standards, le rappel de données appareil est actualisé lors de l'appel de préchauffage. En d'autres termes, après avoir modifié les données par appareil, vous devrez effectuer un autre échauffement pour voir la valeur mise à jour. Une fois le rappel de données appareil activé, vous pourrez lire les valeurs de rappel de données appareil dans vos évaluations de l'intégrité.
Modifier les valeurs de rappel de données appareil
Vous pouvez modifier les valeurs de rappel de données appareil en effectuant un appel d'API de serveur à serveur semblable au décryptage du verdict d'intégrité. Si vous définissez un bit sur true, sa date d'écriture sera également mise à jour (même s'il était déjà défini sur true). Si vous définissez un bit sur false, sa date d'écriture sera réinitialisée sur une valeur vide. Tous les bits non spécifiés dans une requête resteront inchangés. Il existe un léger délai de propagation entre l'écriture des bits et leur lecture dans le verdict. Ce délai peut aller jusqu'à 30 secondes, bien qu'il soit généralement beaucoup plus court. Les requêtes d'écriture du rappel de données appareil doivent être moins fréquentes que les requêtes de jeton d'intégrité. Elles ne sont pas comptabilisées dans votre quota de requêtes de jeton d'intégrité, mais sont soumises à des limites de fréquence distinctes.
playintegrity.googleapis.com/v1/PACKAGE_NAME/deviceRecall:write -d \
'{
"integrityToken": "INTEGRITY_TOKEN",
"newValues": {
"bitFirst": true,
"bitThird": false
}
}'newValues.BitFirst = true // ForceSendFields optional for value true newValues.BitSecond = false // ForceSendFields required for value false newValues.BitThird = nil // do not set ForceSendFields for unspecified bits newValues.ForceSendFields = []string{"BitSecond"}