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 d’éditeur Unity PlayFab et le SDK Unity.
- Le SDK Google Play Games.
- Une bonne connaissance des principes de base et bonnes pratiques de connexion.
Prise en main
Commençons par configurer quelques éléments de base dans Google Play. Il existe déjà de bons guides expliquant comment effectuer 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 chargez-le pour les tests internes. Vous pouvez suivre ce guide pour publier votre application sur la piste Internal testing. Pendant le processus de signature, notez que vous devez utiliser votre propre keystore pour votre app bundle. Consultez cette documentation pour savoir comment créer un keystore.
- Configurez Google Play Games services en suivant les instructions de cette page : Setting Up Google Play Games Services.
- Téléchargez le SDK Google Play Games et installez-le.
- Installez le SDK PlayFab pour Unity (si vous ne savez pas comment procéder, suivez le guide de démarrage rapide Unity3D).
Configuration de Google Play Games
Vous pouvez configurer Google Play Games à partir des outils installés avec le SDK Google Play Games. 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 saisir la définition des ressources (Resources Definition) et le 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 du Web App Client ID
Pour que Google Sign-In fonctionne avec PlayFab, vous devez utiliser un Web Client ID, 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 le point de terminaison d’API 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 le point de terminaison d’API en tant qu’Authorized JavaScript origin pour votre Client ID.

-
Veillez également à ajouter l’URI de redirection de votre propre application en tant qu’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 dispose 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 créer gratuitement un compte de développeur. Pour configurer Google dans PlayFab :- Accédez à la section Add-ons de votre tableau de bord.
- Accédez au Google Add-On.
- Sélectionnez ensuite le bouton Install Google.
- Google App Package ID : ce champ correspond au nom de votre package Android. Par exemple, notre exemple utilise
com.playfab.gpgexample. - Google App License Key : bien que ce champ soit obligatoire, il n’est pas lié à Google Sign-In. Ce champ permet de configurer la validation des reçus à l’aide de nos API de validation des reçus.
Vous pouvez obtenir cette clé de licence dans la Google Developer Console : accédez à votre application, dans la section Monetize. Sélectionnez la section intitulée Monetization Setup. Faites défiler la page jusqu’à la zone de texte Licensing, puis copiez et collez la clé publique RSA encodée en Base64 dans ce champ.
- Google OAuth Client ID : le Web Client ID que vous avez utilisé lors de la configuration du SDK Google Play Games dans Unity.
- Google OAuth Client Secret : la clé secrète obtenue lors de la création de l’OAuth Client ID.
- 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. Une fois le fichier JSON des informations d’identification obtenu, collez l’intégralité de 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 réduit. 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 framework de votre jeu ou de votre application. Dans tous les cas, le code suivant initialise Google Play Games.Veillez bien à ne pas oublier les instructions using, afin de pouvoir utiliser le SDK Google Play Games.
- Tout d’abord, nous nous connectons avec
PlayGamesPlatform.Instance.Authenticate: cette fonction reçoit en paramètre une fonction de rappel qui gère le résultat et nous indique si l’utilisateur a pu se connecter, 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 renvoie la chaîne ServerAuthCode. -
Nous effectuons ensuite l’appel
PlayFabClientAPI.LoginWithGooglePlayGamesServiceset transmettons l’AuthCodeque nous venons d’obtenir de Google en tant que paramètreServerAuthCode. -
Enfin, selon le résultat de l’appel
LoginWithGooglePlayGamesServices,OnLoginWithGooglePlayGamesServicesSuccessouOnLoginWithGooglePlayGamesServicesFailureest appelé ; ces rappels gèrent le résultat de votre opération de connexion à PlayFab. À ce stade, une connexion réussie devrait apparaître dans votre tableau de bord !
