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 pouvez rappeler les données personnalisées de manière fiable ultérieurement lorsque votre application est 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é des utilisateurs. Les données étant stockées sur les serveurs Google, votre application peut les rappeler 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'utilisation abusive grave, les appareils qui ont déjà utilisé des articles de grande valeur (comme un essai sans frais) ou les appareils qui sont utilisés de manière répétée pour créer de nouveaux comptes à des fins abusives. Le rappel de données appareil préserve la confidentialité des utilisateurs, car l'application à l'origine de 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 ou 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 un verdict d'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 utiliser ce jeton pour effectuer un appel côté serveur au serveur 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 d'intégrité. Lorsque vous modifiez une valeur, le mois et l'année de la modification sont également stockés.
Prérequis et points à prendre en compte concernant le rappel de données appareil
Le rappel de données appareil ne peut être utilisé que pour stocker et rappeler des informations afin de protéger la sécurité des applications et de limiter les utilisations abusives, les fraudes et les accès non autorisés. Vous ne pouvez pas utiliser le 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, telles que le sexe, l'âge ou les données de localisation.
Le rappel de données appareil présente les prérequis suivants :
- Le rappel de données appareil peut être utilisé sur les téléphones, les tablettes, les appareils pliables, les téléviseurs, les voitures et Wear OS. Sur Wear, le rappel de données 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 compatible avec les émulateurs.
- Le rappel de données appareil nécessite que les versions récentes du Google Play Store et des services Google Play soient installées et activées 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 points à prendre en compte suivants concernant le timing :
- 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 de rappel d'appareil personnalisées.
- Le rappel de données appareil inclut des codes temporels afin 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 remis à neuf 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 alors automatiquement réinitialisés.
Pour les développeurs disposant de plusieurs applications et ceux qui transfèrent des applications, le rappel d'appareil 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
Une fois votre demande approuvée, vous pourrez activer le rappel de données appareil dans la Play Console.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 le rappel de données appareil.
- Dans le menu de gauche, accédez à Protégé avec Play.
- À côté de l'option API Play Integrity, cliquez sur Gérer.
- Dans la section Réponses de la page, cliquez sur Modifier les réponses.
- Activez le 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 à la fois dans 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éparation. En d'autres termes, après avoir modifié les données par appareil, vous devrez effectuer une autre préparation 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écodage de l'évaluation de l'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à 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 petit délai de propagation entre l'écriture des bits et leur lecture dans l'évaluation. Ce délai peut aller jusqu'à 30 secondes, bien qu'il soit généralement beaucoup plus court. Les requêtes d'écriture de rappel d'appareil doivent être moins fréquentes que vos 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 débit défensives non publiques.
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"}