La fonctionnalité de connexion aux services de jeux Play vous permet d'obtenir l'identité de jeu d'un joueur. Cette identité de joueur Android est spécifique au jeu au niveau de la plate-forme. Elle permet d'établir une relation entre votre jeu et le joueur. Les joueurs acceptent plus volontiers d'utiliser cette identité pour se connecter que d'autres systèmes centralisés.
De plus, la fonctionnalité de connexion vous fournit un identifiant fort et cohérent que vous pouvez utiliser comme clé d'accès à un système d'enregistrement dans le cloud. Très apprécié des joueurs, l'enregistrement dans le cloud leur permet d'effectuer ce qui suit :
- Reprendre le jeu là où ils l'ont interrompu s'ils réinitialisent leur appareil ou en changent
- Utiliser le jeu sur plusieurs appareils (par exemple, sur un autre téléphone ou sur un Chromebook)
- Désinstaller le jeu et le réinstaller ultérieurement
Vous pouvez utiliser l'identité des services de jeux Play comme clé pour votre propre solution d'enregistrement dans le cloud, ou vous pouvez utiliser le service Jeux enregistrés accessible sans frais.
Les services de jeux Play (PGS) sont compatibles avec la connexion automatique, qui permet de connecter les joueurs sans friction, ainsi qu'avec la connexion manuelle, qui se fait en un clic. Ce document décrit ces différentes méthodes de connexion.
Flux de connexion recommandé
Pour connecter les joueurs à votre jeu, utilisez le flux de connexion suivant :
- Lors de la séquence de démarrage de votre jeu, essayez la connexion automatique pour connecter automatiquement le joueur.
- Si la connexion automatique ne fonctionne pas et que l'appareil de l'utilisateur est en ligne, essayez la connexion manuelle.
- Si la connexion manuelle est refusée, mémorisez le choix de l'utilisateur et ne l'affichez plus, mais continuez à essayer la connexion automatique au démarrage.
Vous devez également vous assurer que les utilisateurs peuvent se connecter à votre jeu avec leur compte de services de jeux Play à l'aide d'un bouton dédié et facile à trouver.
Connexion automatique
La connexion automatique permet aux utilisateurs de se connecter à votre jeu sans aucune friction. Si votre jeu invite l'utilisateur à se connecter et que le paramètre de connexion automatique est activé (dans l'application Google Play Jeux), vous recevez les identifiants de cet utilisateur pour les services de jeux Play, et celui-ci accède à l'expérience de connexion aux services de jeux Play.
Les utilisateurs peuvent configurer le paramètre de connexion automatique selon leurs préférences. Ils peuvent choisir de se connecter automatiquement à tous les jeux ou d'être invités à se connecter à chaque fois.
Connexion manuelle
Si un utilisateur ne se connecte pas automatiquement au jeu, vous pouvez lui demander de se connecter manuellement. Les utilisateurs peuvent se connecter d'un simple clic à partir d'une boîte de dialogue affichée en haut de votre jeu.
Autoriser les pop-ups PGS pour une expérience de connexion optimale
Lorsque les utilisateurs utilisent PGS, ils doivent savoir qu'ils sont connectés. Pour ce faire, affichez l'expérience de connexion PGS.
Pour afficher l'expérience de connexion, appelez la méthode setViewForPopups()
de la classe GamesClient
au démarrage du jeu. Cela est essentiel pour permettre une expérience utilisateur correcte.
Niveaux d'accès OAuth et services de jeux Play
PGS s'appuie sur le système OAuth pour permettre aux utilisateurs d'autoriser votre jeu à accéder à leur compte. Les champs d'application OAuth sont des autorisations que vous pouvez demander en tant que développeur. Si elles sont accordées, ces autorisations permettent à votre jeu d'appeler certaines API au nom de l'utilisateur et vous donnent également accès à certaines parties de son compte Google.
PGS dispose d'un champ d'application unique pour les jeux (games-lite
) et s'appuie sur un autre champ d'application (drive.appdata
) si votre jeu utilise la fonctionnalité Jeux enregistrés. La fonctionnalité Jeux enregistrés donne accès au compte Google Drive de l'utilisateur, où sont stockées les données de jeu.
Votre jeu peut demander toute portée dont vous avez besoin pour créer une expérience de jeu de qualité pour vos utilisateurs. Votre jeu peut demander tous les champs d'application dont il a besoin dans un seul lot, ce qui limite le nombre de requêtes d'accès au compte Google. Cependant, cette approche présente un inconvénient majeur. Si vous demandez plus que les champs d'application spécifiques à PGS, la connexion automatique ne peut pas aboutir. La connexion automatique est le meilleur moyen de connecter les joueurs à votre jeu.
Il est recommandé d'utiliser des requêtes de portée incrémentielle. Votre jeu doit d'abord demander des champs d'application réservés aux PGS dans la requête initiale, puis demander d'autres champs d'application séparément à un moment plus pertinent.
L'accès OAuth est accordé à l'aide d'un écran différent pour chaque champ d'application. Cela permet aux utilisateurs de décider de manière précise à quels champs d'application accorder l'accès. En utilisant la connexion automatique avec uniquement des habilitations PGS, les utilisateurs n'auront pas à interagir avec les invites OAuth, ce qui réduira les frictions liées à la connexion.
Compatibilité avec plusieurs méthodes de connexion
PGS fournit une identité de jeu aux joueurs Android, mais celle-ci ne doit pas nécessairement être la seule identité connectée à vos utilisateurs. Vous pouvez simultanément connecter les joueurs à l'aide des services de jeux Play, d'un identifiant de réseau social et de votre propre système d'ID de jeu. Chaque système possède ses propres avantages, pour vous comme pour vos joueurs, et tous peuvent fonctionner ensemble pour offrir une expérience optimale aux joueurs Android.
Récupérer et valider l'identité du joueur de manière sécurisée pour l'intégration backend
Vous pouvez demander un code d'autorisation pour permettre à votre serveur de communiquer directement avec les serveurs des services de jeux Play via l'API REST sous l'autorité du joueur connecté. Cela permet un accès direct à l'ID du joueur, à son profil et à d'autres informations (comme la liste d'amis, si l'accès à celle-ci est autorisé). Si vous stockez des ID de joueur, des ID d'ami ou d'autres données associées dans votre backend, cette méthode doit être utilisée pour éliminer le risque de manipulation de ces champs côté appareil.
En outre, pour certains jeux plus anciens et certains joueurs, l'ID de joueur renvoyé par le SDK Android peut être différent de celui que les autres joueurs voient pour le joueur en question dans le même jeu ; ceci est particulièrement pertinent pour la liste d'amis. En revanche, le player_id
renvoyé dans l'API REST est toujours cohérent et correspond toujours à l'ID visible par les autres joueurs.
Pour en savoir plus, consultez Accès hors connexion et la documentation sur l'API REST.
Implémentation client
Pour découvrir comment implémenter la connexion sous Android, consultez Se connecter dans les jeux Android.