API Recall

L'API Recall permet aux jeux d'utiliser les services de jeux Play (PGS) en complément de leurs mécanismes de connexion existants (par exemple, Google Sign-In), et de synchroniser facilement les informations de connexion des joueurs sur leurs appareils afin de réduire la perte d'utilisateurs dès le premier jour et d'augmenter la fidélisation au 1er jour. L'API gère les liens entre le compte des services de jeux Play (PGS) d'un utilisateur et ses comptes de jeu en stockant des jetons de rappel auprès des serveurs Google. Voici un exemple d'utilisation de l'API Recall:

  1. Un utilisateur joue à un jeu dans lequel le développeur a mis en place un système d'identité permettant au joueur de suivre sa progression. Ce développeur utilise PGS en parallèle avec d'autres méthodes d'authentification pour connecter les utilisateurs à son jeu. Dans cet exemple, une utilisatrice est connectée à son compte PGS (Laura) et crée un compte dans le jeu (Racer94) avec le système d'identité du développeur. Lorsque l'utilisatrice joue au jeu, le serveur de jeu du développeur synchronise sa progression.

    L'utilisatrice est connectée à PGS et à un compte dans le jeu.

  2. Par ailleurs, le développeur enregistre un jeton de rappel auprès de Google, qui correspond au compte de jeu de l'utilisatrice. Google stocke automatiquement ce jeton de rappel dans le profil PGS de l'utilisatrice.

    Le serveur de jeu stocke le jeton de rappel auprès des serveurs Google

  3. L'utilisateur décide maintenant de jouer pour la première fois au jeu sur Google Play Jeux sur PC. L'utilisateur est automatiquement connecté avec son compte PGS, et le client de jeu vérifie si une progression est disponible pour cet utilisateur PGS. Le serveur de jeu interroge ensuite Google pour savoir s'il existe des jetons pour ce compte PGS. Comme c'est le cas, Google renvoie le jeton de rappel et le serveur de jeu l'utilise pour trouver le compte Racer94 associé à l'utilisateur et restaurer sa progression. La connexion avec PGS étant une expérience fluide, la progression de l'utilisateur est restaurée par l'application sans que l'utilisateur ait besoin de saisir un nom d'utilisateur ou un mot de passe. De plus, le développeur peut utiliser la connexion à PGS avec son système d'identité existant et s'appuyer sur Google pour stocker le lien entre la progression du joueur et son compte PGS.

    Le serveur de jeu restaure la progression avec un jeton de rappel

Comme le montre l'exemple ci-dessus, l'API Recall effectue deux actions principales:

  • Stockage du jeton avec Google lorsqu'un utilisateur se connecte avec l'un des comptes de jeu
  • Récupérer le jeton d'un utilisateur afin de restaurer ses comptes de jeu.

En plus des jetons de rappel, l'API Recall nécessite également un identifiant stable correspondant au compte de jeu, appelé persona, pour appliquer les contraintes de cardinalité. Vous pouvez considérer le persona comme le libellé représentant le compte de jeu de l'utilisateur dans le système d'identité du développeur, et le jeton de rappel comme une clé permettant de restaurer le compte de jeu de l'utilisateur dans le jeu. Les valeurs des personas et des jetons ne doivent pas être réutilisées dans différents projets PGS. De plus, bien que les jetons de rappel puissent être modifiés au fil du temps, un persona doit être stable par rapport au compte de jeu de l'utilisateur.

Règles de cardinalité

L'API Recall applique une relation individuelle entre les profils PGS et les comptes de jeu (appelés règles de cardinalité), c'est-à-dire qu'un persona ne peut être lié qu'à un seul profil PGS et vice-versa. Le persona sert d'identifiant stable pour un compte de jeu, car les jetons de rappel peuvent changer au fil du temps.

Le persona associé à un profil PGS peut également être modifié au fil du temps (car différents comptes de jeu sont liés au profil PGS).

Flux techniques détaillés pour le stockage et la récupération des jetons de rappel

Cette section décrit le flux technique entre le client de jeu, le serveur de jeu et les serveurs de Google lors du stockage et de la récupération des jetons de rappel:

Étape 1 : Connecter l'utilisateur PGS et récupérer l'ID de session

Le jeu initialise le SDK de PGS et tente de connecter l'utilisateur à PGS.

L'utilisateur se connecte avec PGS.

En supposant que l'utilisateur est connecté, demandez un ID de session au SDK Jeux sur le client de jeu, puis demandez un jeton OAuth 2.0 au backend OAuth de Google. L'ID de session et les jetons OAuth 2.0 permettent de communiquer avec le backend de Jeux Google.

Le développeur demande un ID de session.

Étape 2 : Récupérer tout jeton de rappel disponible

Demandez tout jeton de rappel associé au compte PGS de l'utilisateur. Si un jeton est présent, passez à l'étape 3a et restaurez la progression. Sinon, s'il s'agit d'un nouvel utilisateur et qu'aucun jeton n'est présent, passez à l'étape 3b et stockez un nouveau jeton.

Le développeur récupère le jeton de rappel.

Étape 3a : Si un jeton est présent, restaurer la progression

Si un jeton est présent, récupérez-le et déchiffrez-le, puis restaurez les données de l'utilisateur.

Le développeur restaure les données à partir du jeton de rappel.

Étape 3b : En l'absence de jeton, en stocker un

Comme aucun jeton n'est présent, aucune progression n'est restaurée. L'utilisateur se connecte au système d'identité du développeur ou crée un compte s'il n'en possède pas.

L'utilisateur se connecte avec son compte dans le jeu.

Créez un jeton de rappel chiffré qui encode le compte de jeu de l'utilisateur, puis envoyez-le à Google avec l'ID de session et le jeton OAuth 2.0. À ce stade, Google crée une association entre le jeton de rappel envoyé et le compte PGS du joueur.

Le développeur stocke le jeton de rappel.

Étapes suivantes

Pour intégrer l'API Recall à votre client et à votre serveur de jeu, suivez ce guide d'implémentation.