Détecter les utilisations abusives répétées à l'aide du rappel d'appareil (bêta)

Cette page explique comment utiliser le rappel d'appareil pour stocker et récupérer des données personnalisées avec des appareils spécifiques. Vous pourrez rappeler les données personnalisées de manière fiable 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 d'appareils ?

Le rappel d'appareil permet aux applications de stocker et de récupérer 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à récupéré des 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 à 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 ni d'utilisateur. Une fois la fonctionnalité de rappel d'appareil activée, 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 pendant la période de 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 d'appareils

La fonctionnalité de rappel d'appareil ne peut être utilisée que pour stocker et rappeler des informations afin de protéger la sécurité des applications et de limiter les utilisations abusives, la fraude et les accès non autorisés. Vous ne pouvez pas utiliser le rappel d'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 d'appareils est soumis aux conditions préalables suivantes :

  • Le rappel d'appareils peut être utilisé sur les téléphones, tablettes, appareils pliables, téléviseurs, appareils Auto et Wear OS. Sur Wear, le rappel d'appareils 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'appareils 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 d'appareil nécessite que le compte utilisateur dispose d'une licence Play. Sinon, l'évaluation ne sera pas examinée.

Voici les délais à prendre en compte pour le rappel d'appareils :

  • Une fois que vous avez validé un jeton d'intégrité, vous disposez de 14 jours maximum pour l'utiliser afin de stocker des données personnalisées sur le rappel d'appareils.
  • Le rappel d'appareil inclut des codes temporels pour que vous puissiez considérer les données récemment modifiées comme plus importantes 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 d'appareils dans la Play Console :

  1. Connectez-vous à la Play Console.
  2. Sélectionnez l'application qui utilisera la fonctionnalité de rappel d'appareil.
  3. Dans la section Publier du menu de gauche, accédez à Intégrité de l'application.
  4. À côté de l'API Play Integrity, cliquez sur Paramètres.
  5. Dans la section "Réponses" de la page, cliquez sur Modifier les réponses.
  6. Activez la fonctionnalité Rappel d'appareil.
  7. Cliquez sur "Enregistrer les modifications".

Lorsque vous activez ou désactivez le rappel d'appareils, 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 d'appareil

Le rappel d'appareil fonctionne avec les requêtes classiques et standards de l'API Play Integrity. Dans les requêtes standards, le rappel de l'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 d'appareil activé, vous pourrez lire les valeurs de rappel d'appareil dans vos verdicts d'intégrité.

Modifier les valeurs de rappel de l'appareil

Vous pouvez modifier les valeurs de rappel d'appareil en effectuant un appel d'API de serveur à serveur semblable au décodage du verdict d'intégrité. Si vous définissez un bit sur true, sa date d'écriture sera également mise à jour (même si elle était déjà définie 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. Un léger délai de propagation s'applique entre l'écriture des bits et leur lecture dans le verdict. Ce délai peut aller jusqu'à 30 secondes, mais il est 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 demandes de jetons d'intégrité, mais sont soumises à des limites de fréquence 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"}