Configuration de l’authentification PlayFab avec la connexion Google Play Games dans Unity
Prérequis
- Un projet créé avec le moteur de jeu Unity.
- Un compte de développeur Google.
- Un compte de développeur PlayFab ayant accès à un titre de jeu dans PlayFab.
- Les extensions PlayFab Unity Editor et le Unity SDK.
- Le Google Play Games SDK.
- Une bonne connaissance des principes de base et meilleures pratiques de connexion.
Mise en route
Nous commençons par configurer quelques éléments de base dans Google Play. Il existe quelques bons guides expliquant comment accomplir certaines de ces tâches; nous n’allons donc pas réinventer la roue.- Créez une Application - Si vous n’avez pas encore créé d’application, vous devez le faire dans la Google Play Developer Console.
- Générez l’AAB de votre jeu et téléversez-le pour les tests internes. Vous pouvez suivre ce guide sur la façon de publier votre application dans le canal Internal testing. Lors du processus de signature, sachez que vous devez utiliser votre propre magasin de clés (keystore) pour votre app bundle. Consultez ce document pour savoir comment créer un magasin de clés.
- Configurez les services Google Play Games en suivant les instructions de cette page : Setting Up Google Play Games Services.
- Téléchargez le Google Play Games SDK et installez-le.
- Installez le PlayFab Unity SDK (si vous ne savez pas comment effectuer cette tâche, suivez le guide de démarrage rapide Unity3D).
Configuration de Google Play Games
Vous pouvez configurer Google Play Games à partir de l’ensemble d’outils installé avec le Google Play Games SDK. Pour accéder à ces outils :- Accédez à l’onglet Window.
- Sélectionnez Google Play Games.
- Accédez à Setup.
-
Ouvrez ensuite Android Setup.

-
La fenêtre de configuration Android s’affiche; nous devons entrer la définition des ressources (Resources Definition) et l’ID client de l’application Web (Web App Client ID) dans cet écran.

Obtention de la définition des ressources
- Suivez ces étapes pour obtenir la définition de vos ressources Android.
Obtention de l’ID client de l’application Web
Pour que Google Sign-In fonctionne avec PlayFab, vous devez utiliser un ID client Web, que vous pouvez obtenir en créant des informations d’identification OAuth Client ID de type « Web application ». Avant de créer l’OAuth Client ID, vous devez connaître votre API Endpoint PlayFab, que vous pouvez trouver en suivant ces étapes :- Connectez-vous à Game Manager.
- Sélectionnez votre titre.
-
Accédez aux paramètres de votre titre en cliquant sur l’icône d’engrenage à côté du nom du titre et sélectionnez Title Settings.

- Sélectionnez l’onglet API Features.
-
Copiez le contenu du champ API endpoint.

-
Lors de la création du Client ID, vous devez ajouter l’API endpoint comme Authorized JavaScript origin pour votre Client ID.

-
Assurez-vous également d’ajouter l’URI de redirection de votre propre application comme Authorized Redirect URI. Si vous n’effectuez pas cette étape, vous obtiendrez une erreur mismatch redirect_uri.




Configuration de la connexion Google dans PlayFab
PlayFab possède son propre processus de configuration de la connexion Google. Vous pouvez effectuer cette configuration dans votre compte de développeur PlayFab. Si vous n’en avez pas, vous pouvez vous inscrire pour obtenir un compte de développeur gratuit. Pour configurer Google dans PlayFab :- Accédez à la section Add-ons de votre tableau de bord.
- Accédez au Google Add-On.
- À partir de là, sélectionnez le bouton Install Google.
- Le Google App Package ID - Ce champ correspond au nom de votre package Android. Par exemple, notre exemple utilise
com.playfab.gpgexample. - La Google App License Key - Bien que ce champ soit obligatoire, il n’est pas lié à Google Sign-In. Ce champ sert à configurer la validation des reçus à l’aide de nos Receipt Validation APIs.
Vous pouvez obtenir cette clé de licence dans la Google Developer Console : accédez à votre application, sous la section Monetize. Sélectionnez la section intitulée Monetization Setup. Faites défiler jusqu’à ce que vous voyiez une zone de texte Licensing, puis copiez et collez la clé publique RSA encodée en Base64 dans ce champ.
- Le Google OAuth Client ID - L’ID client Web que vous avez utilisé lors de la configuration du Google Play Games SDK dans Unity.
- Le Google OAuth Client Secret - La clé secrète que vous avez obtenue lors de la création de l’OAuth Client ID.
- La Service Account Key - Ce champ attend une chaîne JSON de clé de compte de service. Vous devez créer une clé de compte de service en suivant ces étapes. Créez ensuite des informations d’identification pour ce compte de service en suivant les étapes décrites ici. Après avoir obtenu le fichier JSON des informations d’identification, collez tout son contenu JSON dans ce champ.

Ajout de la connexion Google à votre jeu Unity
Le code nécessaire pour faire fonctionner la connexion Google est assez minimal. Il y a le code d’initialisation, que vous placez dans votre méthode Start (ou à tout endroit où vous initialisez ou démarrez votre application). Ce code peut se trouver à différents endroits, selon l’architecture et le cadriciel de votre jeu ou de votre application. Dans tous les cas, le code suivant initialise Google Play Games.Assurez-vous de ne pas oublier les instructions using, afin de pouvoir utiliser le Google Play Games SDK.
- Tout d’abord, nous nous connectons avec
PlayGamesPlatform.Instance.Authenticate- Cette fonction reçoit en paramètre une fonction de rappel qui traite le résultat et nous indique si l’utilisateur a pu se connecter avec succès en fonction du SignInStatus reçu. - Si vous n’ajoutez pas votre compte de test à votre application, le résultat SignInStatus du rappel est toujours Canceled lors des tests. Si ce problème se produit, suivez les étapes de ce guide pour ajouter des testeurs à votre application Google.
C’est l’appel à
PlayGamesPlatform.Instance.Authenticate qui déclenche l’affichage de la boîte de dialogue de connexion Google Play Games.-
Ensuite, si la connexion réussit, nous appelons
PlayGamesPlatform.Instance.RequestServerSideAccess, qui reçoit un autre rappel et retourne la chaîne ServerAuthCode. -
Puis, nous effectuons l’appel
PlayFabClientAPI.LoginWithGooglePlayGamesServiceset passons l’AuthCodeque nous venons d’obtenir de Google comme paramètreServerAuthCode. -
Enfin, selon le résultat de l’appel
LoginWithGooglePlayGamesServices,OnLoginWithGooglePlayGamesServicesSuccessouOnLoginWithGooglePlayGamesServicesFailureest appelé; ces rappels sont ceux qui traitent le résultat de votre opération de connexion à PlayFab. À ce stade, vous devriez voir une connexion réussie dans votre tableau de bord!
