Protection de l'intégrité pour Google Play Jeux sur PC

Google Play Jeux sur PC vous aide à protéger l'intégrité grâce à l'API Play Integrity et à plusieurs autres fonctionnalités Google Play qui vous permettent de vous assurer que votre jeu n'a pas été altéré ou qu'il n'a pas été installé à partir d'une source non fiable.

API Play Integrity

L'API Play Integrity protège vos jeux contre les interactions potentiellement dangereuses et frauduleuses. Elle vous permet de limiter les attaques et les abus tels que la fraude, la tricherie et les accès non autorisés. L'API Play Integrity remplace l'API SafetyNet Attestation (SNAA) et l'API Play App Licencing. SNAA ne fonctionne pas avec Google Play Jeux sur PC.

Champ "Intégrité de l'appareil"

Le champ deviceRecognitionVerdict contient une valeur unique, deviceRecognitionVerdict, qui représente la capacité d'un appareil à appliquer l'intégrité de l'application. Par défaut, deviceRecognitionVerdict peut avoir l'une des valeurs suivantes :

  • MEETS_DEVICE_INTEGRITY : l'application s'exécute sur un appareil Android doté des services Google Play. L'appareil répond aux vérifications d'intégrité du système et respecte la configuration Android requise.
  • MEETS_VIRTUAL_INTEGRITY: l'application s'exécute dans un environnement Android virtuel avec les services Google Play, actuellement limité à Google Play Jeux sur PC. L'environnement répond aux exigences essentielles de compatibilité Android et aux vérifications d'intégrité de Google Play.
  • Aucune (valeur vide, par exemple) : l'application s'exécute sur un appareil qui présente des signes d'attaque (tels que des hooks d'API) ou qui est compromis par le système (en mode root, par exemple), ou encore l'application est en cours d'exécution sur un appareil non physique (comme un émulateur) qui ne répond pas aux vérifications d'intégrité de Google Play.

L'API Play Integrity utilise la valeur deviceRecognitionVerdict MEETS_VIRTUAL_INTEGRITY pour indiquer que le jeu est exécuté sur Google Play Jeux sur PC. Voici un exemple de réponse de l'API Play Integrity :

deviceIntegrity: {
    // "MEETS_VIRTUAL_INTEGRITY" indicates the game is running on Google Play Games on PC
    deviceRecognitionVerdict: ["MEETS_VIRTUAL_INTEGRITY"]
}

Si un jeu multiplate-forme est disponible à la fois sur mobile et sur Google Play Jeux sur PC, assurez-vous que votre logique de validation vérifie à la fois MEETS_VIRTUAL_INTEGRITY et MEETS_DEVICE_INTEGRITY.

Protection automatique de l'intégrité

La protection automatique de l'intégrité est une vérification d'exécution ajoutée par Google Play chaque fois que votre jeu est ouvert. Si votre jeu est altéré ou s'il n'est pas installé par Google Play, la protection automatique de l'intégrité peut empêcher son exécution. La protection automatique de l'intégrité ne vérifie pas l'appareil. Vous devez utiliser l'API Play Integrity pour obtenir l'état de l'intégrité de l'appareil.

La protection automatique de l'intégrité vous aide à protéger l'intégrité à l'aide des fonctionnalités suivantes :

  • Exiger l'installation depuis Google Play : permet de s'assurer que votre application a été installée via Google Play. Si cette vérification échoue, l'utilisateur est invité à télécharger votre application depuis Google Play. Cette fonctionnalité est activée par défaut, mais vous pouvez la désactiver. Dans ce cas, vous désactivez également la protection contre le piratage pour les applications payantes.
  • Empêcher les modifications : permet de s'assurer que votre application n'a pas été modifiée. Si cette vérification échoue, l'application n'est pas exécutée. Cette fonctionnalité est toujours activée et ne peut pas être désactivée.
  • Empêcher la rétro-ingénierie : permet de limiter le contournement des vérifications d'exécution par les pirates informatiques grâce à l'obscurcissement et à d'autres techniques avancées. Cette fonctionnalité est toujours activée et ne peut pas être désactivée.

La protection automatique de l'intégrité nécessite que le développeur l'active. Aucune modification du code ni aucun autre effort de la part du développeur ne sont nécessaires.

Les protections s'exécutent qu'il existe ou non une connexion de données ou Internet. Aucun composant côté serveur n'est requis. Si l'application Play Store sur l'appareil est restée hors connexion pendant une période prolongée, une connexion de données est régulièrement nécessaire au bon fonctionnement de l'option "Exiger l'installation depuis Google Play".