Présentation de la migration

Le SDK v1 des services de jeux Google Play repose sur Google Sign-In pour Android, qui est obsolète et sera supprimé du SDK Auth des services Google Play (com.google.android.gms:play-services-auth) en 2025. Les nouvelles applications de jeux peuvent utiliser les services de jeux v1 jusqu'en 2025. La suppression de Google Sign-In introduit des problèmes de dépendance pour les applications de jeux existantes. La migration des applications de jeux existantes du SDK games v1 vers le SDK games v2 permet de résoudre les problèmes de dépendance introduits par la suppression de Google Sign-In.

La migration des services de jeux Google Play de la version 1 à la version 2 est une mise à jour importante qui simplifie le développement et prend en charge les jeux multiplates-formes. La version 2 des services de jeux Google Play découple l'identité de la plate-forme et celle du jeu, en agissant comme un système d'identité au niveau de la plate-forme qui authentifie automatiquement les joueurs au lancement. L'identité de la plate-forme est désormais distincte du système de compte principal du jeu, que vous devez gérer indépendamment à l'aide d'outils tels que Se connecter avec Google ou des backends propriétaires. L'intégration du SDK des services de jeux Play v2 utilise l'ID de joueur pour les fonctionnalités de la plate-forme telles que les succès et les classements, sans modifier les flux d'intégration ou de connexion existants.

Ce document vous aide à comprendre les interactions entre l'application de jeux et différents SDK. En raison du calendrier officiel d'arrêt, vous devez suivre les principes architecturaux, les chemins de migration et les stratégies de communication avec les joueurs de ce guide de migration pour assurer la continuité de l'expérience des joueurs.

Interactions avec le SDK

Les schémas illustrent l'interaction entre une application de jeux sur Android, les services Google Mobile (GMS) Core, les services de jeux Play et un serveur de jeux tiers. Il explique comment l'application utilise les services Google pour l'authentification et les fonctionnalités de jeu, tout en interagissant avec un système tiers distinct.

games v2 (actuel)

Interaction entre une application de jeux sur Android, GMS Core, les services de jeux Play et un serveur de jeux tiers.
Interaction entre une application de jeux sur Android, GMS Core, les services Play Jeux, et un serveur de jeu tiers. (cliquez pour agrandir).

games v1 (ancienne version)

Interaction entre une application de jeux sur Android, GMS Core, les services de jeux Play et un serveur de jeux tiers.
Interaction entre une application de jeux sur Android, GMS Core, les services Play Jeux, et un serveur de jeux tiers. (cliquez pour agrandir).

Voici un bref aperçu des composants et des SDK :

  • Application de jeux.
    • Cela représente l'application de jeu de l'utilisateur exécutée sur un appareil Android.
    • Il comprend deux composants principaux :
      • SDK games v1 ou games v2 : SDK côté client responsable de l'interaction avec les services de jeux Play.
      • SDK Auth Le SDK Auth des services Google Play est responsable de la gestion des flux d'authentification et d'autorisation des utilisateurs dans les jeux v1.
    • Les deux SDK communiquent à l'aide d'AIDL (Android Interface Definition Language), ce qui indique un modèle de communication entre différents processus ou services.
  • GMS Core, également appelé Services Google Play.
    • Il s'agit de la couche propriétaire de Google sur Android.
    • L'application de jeux utilise deux modules GMS Core :
      • Le module Jeux fournit des fonctionnalités spécifiques aux jeux, telles que les classements, les réussites et la gestion de l'état du jeu.
      • Module d'authentification : gère les opérations d'authentification et d'autorisation des utilisateurs.
    • Les SDK Games et Auth de l'application de jeux communiquent avec les modules correspondants à l'aide d'interfaces AIDL, ce qui indique une communication entre processus (IPC).

  • Passerelle des services Play Games.
    • Passerelle logique qui sert d'intermédiaire pour la communication entre GMS Core et le serveur des services Jeux Play.
    • Gère les requêtes API, la transformation des données et l'authentification pour la communication avec le serveur.
  • Serveur des services Play Games.
    • Représente les services de backend des services de jeux Play responsables du stockage des données de jeu, de la gestion des comptes utilisateur et de la facilitation des fonctionnalités multijoueurs.
  • Passerelle de jeux tiers
    • Si votre application de jeux est considérée comme une application tierce, la bibliothèque cliente communique avec les serveurs des services Play Games via les serveurs de jeux tiers.
    • Cela signifie que l'application peut également s'authentifier auprès d'un autre fournisseur de services.
  • Serveur de jeu tiers
    • Représente un serveur externe facultatif avec lequel l'application de jeu peut interagir, probablement pour des fonctionnalités personnalisées ou la gestion des données.
    • La communication avec l'application se fait via la passerelle de jeux tiers.

Pourquoi migrer votre titre vers les services Play Games v2

La transition des services de jeux Play de la version 1 à la version 2 est une modernisation architecturale majeure qui simplifie le développement et prend en charge les jeux multiplates-formes.

Contrairement à la version 1, qui servait de système d'identité principal dans le jeu, les services de jeux Play version 2 dissocient l'identité de la plate-forme et celle du jeu. Ils agissent comme un système d'identité au niveau de la plate-forme qui authentifie automatiquement les joueurs au lancement pour gérer des fonctionnalités telles que les réussites et les classements.

Vous devez désormais gérer le système de compte principal de votre jeu de manière indépendante à l'aide d'outils tels que Se connecter avec Google ou des backends propriétaires. Le SDK des services de jeux Play v2 permet aux jeux d'utiliser l'ID de joueur des services de jeux Play pour accéder aux fonctionnalités de la plate-forme sans modifier les flux d'intégration ou de connexion existants. Ce document vous guide tout au long de la migration, en abordant les principes architecturaux, les chemins de migration et les stratégies de communication avec les joueurs. Il est essentiel de respecter la chronologie officielle de l'abandon pour assurer la continuité de l'expérience des joueurs.

Comparer l'authentification sur la plate-forme et l'authentification dans le jeu

Dans les services Play Games v2, le concept de "connexion" est divisé en deux couches distinctes :

  • Identité de la plate-forme : le SDK gère l'authentification de la plate-forme.
  • Identité dans le jeu.

Authentification sur la plate-forme

Les services de jeux Play fonctionnent strictement comme une couche d'engagement de plate-forme. Il gère la relation du joueur avec l'écosystème Google Play Jeux (succès, classements et événements) plutôt qu'avec l'authentification dans un compte ou un inventaire de jeu spécifique.

  • Silencieuse et automatique : l'authentification se produit automatiquement en arrière-plan au lancement du jeu. Aucun bouton de connexion manuelle n'est requis pour les services Play Games eux-mêmes.
  • ID de joueur : une fois l'authentification de la plate-forme réussie, les services de jeux Play fournissent un ID de joueur stable. Cet ID est cohérent sur tous les appareils pour le même jeu, mais il doit être utilisé principalement pour suivre les statistiques de la plate-forme (comme la progression des succès).
  • Découplé : les services de jeux Play v2 ne doivent pas être utilisés comme système d'identité principal de votre jeu pour gérer le compte du joueur dans le jeu avec sa progression ou son inventaire. Les services de jeux Play v2 agissent strictement comme un identifiant de plate-forme secondaire et persistant.

Authentification dans le jeu

Les développeurs sont responsables de la gestion du "compte de jeu" (CDJ). Il s'agit du système d'identité qui lie la progression, l'inventaire et la monnaie d'un joueur dans votre jeu.

  • Identité principale : vous pouvez utiliser votre propre backend, Se connecter avec Google ou d'autres fournisseurs comme méthode de connexion principale.
  • Indépendance : un joueur peut être connecté aux services de jeux Play (identité de plate-forme) pour gagner des succès tout en étant connecté à un compte de jeu spécifique. Par exemple, un compte invité ou un compte SiWG spécifique.
  • Gestion de plusieurs comptes de jeu : les services Play Games ne sont responsables que de l'authentification de la plate-forme, votre jeu gérant l'authentification principale des joueurs dans leurs comptes de jeu. Cela signifie que les flux existants de votre jeu concernant la façon dont les joueurs passent d'un compte en jeu à un autre ne seraient pas modifiés. Toutefois, les joueurs resteront authentifiés sur la plate-forme Play Jeux à l'aide des services Play Games, et vous continuerez à envoyer leurs données liées aux succès et à d'autres fonctionnalités des services Play Games en utilisant l'ID de joueur persistant.

Exigence de migration : associer les comptes de jeu à Google OpenID au lieu de l'ID de joueur des services de jeux Play

Dans les services de jeux Play v1, les développeurs utilisaient les services de jeux Play comme principal fournisseur d'identité. Un bouton "Google Play" permettait d'associer le compte de jeu d'un joueur directement à son Player ID.

Les services Play Games v2 modifient cela en fournissant une authentification de plate-forme automatique et silencieuse au lancement. Le Player ID qui en résulte est désormais utilisé exclusivement pour les fonctionnalités de plate-forme telles que les classements et les réussites, séparément de la connexion au compte principal.

Les jeux doivent désormais gérer l'identité principale de manière indépendante via un écran de connexion dédié proposant des méthodes telles que "Se connecter avec Google" ou d'autres comptes de réseaux sociaux. Il est essentiel de noter que les services Play Games v2 ne doivent pas être utilisés comme système d'identité principal.

Ce changement d'architecture nécessite une modification correspondante de la façon dont les développeurs structurent les données de leur compte. Le compte de jeu doit être dissocié de son association principale avec Player ID.

Au lieu de cela, l'IGA doit désormais être lié à un identifiant principal stable et indépendant des services de jeux Play. L'identifiant recommandé est le Open ID fourni par le flux Se connecter avec Google (SCWG). Ce Open ID sert de clé unique et persistante pour le compte principal du joueur dans votre système.

Toutefois, l'IGA peut toujours être associé à Player ID en tant que liaison secondaire. Ce lien secondaire remplit deux fonctions essentielles :

  1. Il permet au jeu de continuer à suivre et à mettre à jour la progression des fonctionnalités Play Jeux (succès, etc.) associées à ce joueur spécifique.
  2. Elle permet la fonctionnalité "Restauration fluide", qui permet au jeu de connecter automatiquement un joueur à son IGA le plus récemment utilisé uniquement sur un nouvel appareil ou après une réinstallation.

Comprendre ce modèle d'identité dissociée est essentiel pour choisir le bon chemin de migration technique pour votre jeu.

Comparatif des fonctionnalités

Le tableau suivant compare les fonctionnalités des SDK Games v1 et Games v2 :


Fonctionnalité

SDK games v1

SDK Games v2

Authentification

L'intégration à play-services-auth est requise.

Simplifié et rationalisé ; aucune play-services-auth n'est requise.

Autorisation

Code supplémentaire pour les réussites, les échecs et les nouvelles tentatives.

Géré par le SDK

Jeton d'accès au serveur

Peut demander des niveaux d'accès OAuth 2.0 supplémentaires avec GoogleSigninClient.

Code supplémentaire pour la gestion des exceptions lors de l'authentification.

Peut demander trois habilitations d'identité OAuth 2.0 de base avec GamesSignInClient lors de la demande d'accès côté serveur aux API Web des services de jeux Play.

Pour en savoir plus, consultez Accès côté serveur aux services de jeux Play et Récupérer les codes d'authentification du serveur.


Processus de connexion

Utilise GoogleSigninClient.

Code supplémentaire pour la gestion du code récurrent pour l'authentification automatique et la gestion des exceptions.

Utilise GamesSignInClient.

Le SDK gère le code récurrent, l'authentification automatique et la gestion des erreurs. La "connexion" est divisée en deux couches distinctes :
  • Authentification sur la plate-forme : gérée par la version 2 du SDK des services Play Games.
  • Authentification dans le jeu : gérée par le jeu.

Pop-up de bienvenue

Vous devez ajouter du code.
 Les développeurs peuvent contrôler son emplacement et son timing.

Aucun code supplémentaire n'est requis. Interface utilisateur cohérente dans tous les jeux configurés avec le SDK v2 de Jeux.

Dépendances

Nécessite play-services-auth.

Le module Games s'occupe de l'autorisation et de l'authentification. Vous n'avez pas besoin d'ajouter de dépendances supplémentaires.
Se déconnecter

Utilisations de GoogleSignInClient.signOut.

L'API de déconnexion n'est pas requise, car les services de jeux Play v2 sont une identité de plate-forme persistante.

 Plusieurs comptes Services de jeux Play et paramètres par jeu

 La gestion de compte est possible dans votre jeu.

 Les utilisateurs peuvent modifier le profil Play Jeux dans les paramètres de l'appareil mobile. Pour en savoir plus, consultez Changer de profil Play Jeux sur mobile.