Ce document vous explique comment configurer votre projet Unity afin d'utiliser le plug-in Google Play Jeux pour Unity. Vous allez apprendre à installer le plug-in et à configurer votre projet Unity. Il explique également comment valider le service de connexion.
Avant de commencer
Consultez la configuration logicielle requise. Configurez la Play Console et installez Unity Hub.
Configurez la Play Console pour votre jeu.
Installez Unity Hub et créez votre jeu dans Unity.
Installation du plug-in
Pour télécharger et installer le plug-in Google Play Jeux pour Unity, procédez comme suit dans Unity Hub :
Téléchargez le dépôt GitHub.
Dans le répertoire
current-build
, recherchez le fichierunitypackage
. Ce fichier représente le plug-in. Par exemple, il devrait ressembler à ceci :current-build/GooglePlayGamesPluginForUnity-X.YY.ZZ.unitypackage
Configurer le projet Unity
Pour configurer un projet Unity dans les paramètres du lecteur, procédez comme suit :
Ouvrez votre projet de jeu.
Dans Unity Hub, cliquez sur Assets > Import Package > Custom Package (Éléments > Importer un package > Package personnalisé) pour importer le fichier
unitypackage
dans les éléments de votre projet.Assurez-vous que votre plate-forme de compilation actuelle est définie sur Android.
Dans le menu principal, cliquez sur File > Build Settings (Fichier > Paramètres de compilation).
Sélectionnez Android, puis cliquez sur Switch Platform (Changer de plate-forme).
Vous devriez voir un nouvel élément de menu sous Window > Google Play Games (Fenêtre > Google Play Jeux). Si ce n'est pas le cas, actualisez les éléments en cliquant sur Assets > Refresh (Assets > Actualiser), puis réessayez de définir la plate-forme de compilation.
Dans Unity Hub, cliquez sur File > Build Settings > Player Settings > Other Settings (Fichier > Paramètres de compilation > Paramètres du lecteur > Autres paramètres).
Dans la zone Niveau d'API cible, sélectionnez une version.
Dans la zone Scripting backend (Backend de script), saisissez
IL2CPP
.Dans la zone Architectures cibles, sélectionnez une valeur.
Notez le nom du package package_name.Vous pourrez utiliser ces informations ultérieurement.

Créer un keystore
Pour valider vos identifiants, vous avez besoin d'une clé. Procédez comme suit :
- Dans Unity Hub, cliquez sur File > Build settings > Player settings (Fichier > Paramètres de compilation > Paramètres du lecteur).
- Dans la section Paramètres de publication, cliquez sur Gestionnaire de Keystore.
- Dans la fenêtre Gestionnaire de Keystore, cliquez sur Keystore > Créer > N'importe où.
- Sélectionnez un dossier et attribuez un nom au keystore.
- Dans le champ Mot de passe, saisissez un mot de passe et confirmez-le.
- Cliquez sur Ajouter une clé.
Notez le nom du dossier. Vous pouvez utiliser ce nom pour créer un identifiant dans Google Cloud.
Copier les ressources Android depuis la Play Console
Chaque réussite, classement et événement que vous créez dans la Play Console inclut une ressource Android que vous utilisez lorsque vous configurez votre projet Unity.
Pour obtenir les ressources Android pour votre jeu, procédez comme suit :
Dans la Google Play Console, ouvrez le jeu.
Sur la page Services de jeux Play - Configuration (Croissance> Services de jeux Play> Configuration et gestion> Configuration), cliquez sur Obtenir des ressources.
Dans la fenêtre Resources (Ressources), cliquez sur l'onglet Android(XML).
Sélectionnez et copiez le contenu des ressources Android (
AndroidManifest.xml
).
Ajoutez les ressources Android à votre projet Unity.
Ajoutez les ressources Android suivantes à votre projet Unity :
Dans Unity Hub, cliquez sur Window > Google Play Games > Setup > Android Setup (Fenêtre > Google Play Jeux > Configuration > Configuration Android).
- Dans le champ Répertoire pour l'enregistrement des constantes, saisissez le nom du dossier du fichier des constantes.
Dans le champ Nom de la classe des constantes, saisissez le nom de la classe C# à créer, y compris l'espace de noms.
Par exemple, si la classe C# est
id.cs
et qu'elle se trouve sous Assets > myproject > scripts > id.cs. Le nom de la classe de constantes peut êtremyproject.scripts.id
.Dans le champ Définition des ressources, collez les données des ressources Android (fichier
AndroidManifest.xml
) que vous avez copiées depuis la Google Play Console.(Facultatif) Dans le champ ID client, saisissez l'ID client de l'application Web associée.
Pour obtenir l'ID client de votre jeu depuis Google Cloud, consultez Créer des ID clients.
Cela n'est nécessaire que si vous disposez d'un backend Web pour votre jeu et que vous avez besoin d'un code d'authentification de serveur pour échanger un jeton d'accès par le serveur backend ou si vous avez besoin d'un jeton d'identification pour que le joueur puisse effectuer des appels d'API hors du jeu.
Cliquez sur Configurer. Votre jeu est ainsi configuré avec l'identifiant client et génère une classe C# contenant des constantes pour chacune de vos ressources Android.
Dans Unity Hub, cliquez sur Window > Google Play Games > Setup > Nearby Connections Setup (Fenêtre > Google Play Jeux > Configuration > Configuration de Nearby Connections).
Dans le champ ID du service de connexion à proximité, saisissez package_name.
Utilisez le même package_name que celui utilisé dans Configurer le projet Unity.
Cliquez sur Configurer.
Choisir une plate-forme de réseau social
Le plug-in des services de jeux Google Play implémente l'interface sociale d'Unity pour assurer la compatibilité avec les jeux qui utilisent déjà cette interface lors de l'intégration à d'autres plates-formes. Cependant, certaines fonctionnalités propres à Play Jeux sont proposées en tant qu'extensions de l'interface de réseau social standard fournie par Unity.
Les appels d'API standards sont accessibles via l'objet Social.Active, qui fait référence à une interface ISocialPlatform. Vous pouvez accéder aux extensions non standards des services de jeux Google Play en castant l'objet Social.Active dans la classe PlayGamesPlatform, où des méthodes supplémentaires sont disponibles.
Utiliser le plug-in sans remplacer la plate-forme de réseau social par défaut
Lorsque vous appelez PlayGamesPlatform.Activate
, les services de jeux Google Play deviennent votre implémentation de plate-forme de réseau social par défaut. Cela signifie que les appels statiques vers les méthodes dans Social
et Social.Active
seront effectués par le plug-in des services de jeux Google Play. C'est le comportement de la plupart des jeux utilisant le plug-in.
Toutefois, si, pour une raison quelconque, vous souhaitez que l'implémentation par défaut reste accessible (par exemple, pour envoyer des réussites et des classements à une autre plate-forme de réseau social), vous pouvez utiliser le plug-in Google Play Jeux sans remplacer l'option par défaut. Pour ce faire :
- N'appelez pas
PlayGamesPlatform.Activate
- Si
Xyz
est le nom d'une méthode que vous devez appeler sur la classeSocial
, n'appelez pasSocial.Xyz
. Appelez plutôtPlayGamesPlatform.Instance.Xyz
. - N'utilisez pas
Social.Active
lorsque vous interagissez avec les services de jeux Google Play. Utilisez plutôtPlayGamesPlatform.Instance
.
Ainsi, vous pouvez même envoyer des scores et des réussites simultanément à au moins deux plates-formes de réseaux sociaux :
// Submit achievement to original default social platform
Social.ReportProgress("MyAchievementIdHere", 100.0f, callback);
// Submit achievement to Google Play
PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere", 100.0f, callback);
Valider le service de connexion
À l'ouverture de votre jeu, une connexion aux services de jeux Play est automatiquement effectuée à l'aide du service de connexion. Si la connexion aboutit, votre jeu affiche une invite de connexion et peut utiliser le plug-in des services de jeux Google Play pour Unity.
Si un utilisateur n'a jamais utilisé les services de jeux Google Play sur son appareil, il est automatiquement redirigé vers un écran de configuration unique pour créer un compte Play Jeux.
Dans la méthode Start
de votre script, écoutez le résultat de la tentative de connexion automatique, récupérez l'état d'authentification et désactivez les fonctionnalités des services de jeux Play si l'utilisateur n'est pas connecté.
Si la version du plug-in Unity est antérieure à v11
, vous ne pouvez pas utiliser la fonctionnalité de connexion.
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}
internal void ProcessAuthentication(SignInStatus status) {
if (status == SignInStatus.Success) {
// Continue with Play Games Services
} else {
// Disable your integration with Play Games Services or show a login button
// to ask users to sign-in. Clicking it should call
// PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
}
}
Le code de résultat est une énumération que vous pouvez utiliser pour identifier la raison d'un échec de connexion.
Si vous préférez utiliser la plate-forme de réseaux sociaux Unity, vous pouvez également utiliser le code suivant :
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Activate();
Social.localUser.Authenticate(ProcessAuthentication);
}
Vous ne pouvez pas effectuer d'appels à l'API Google Play Jeux tant qu'Authenticate
n'a pas renvoyé une valeur de retour. Par conséquent, nous vous recommandons d'afficher un écran d'attente jusqu'à ce que le rappel soit appelé. De la sorte, les utilisateurs ne pourront pas commencer à jouer tant que le processus d'authentification ne sera pas terminé.
Utiliser la signature d'application Play
Google gère et protège la clé de signature de votre application à l'aide de la signature d'application Play. Vous pouvez utiliser la signature d'application Play pour signer des fichiers Android App Bundle optimisés pour la distribution. La signature d'application Play stocke votre clé de signature d'application sur l'infrastructure sécurisée de Google. Pour utiliser la signature d'application Play, vous devez d'abord créer et télécharger un fichier AAB depuis Unity Hub. Vous pouvez ensuite importer le fichier AAB dans la Play Console et créer une version de test interne.
Créer un fichier AAB
Pour créer un fichier AAB dans Unity Hub, procédez comme suit :
- Dans Unity Hub, cliquez sur File > Build settings (Fichier > Paramètres de compilation).
Sélectionnez Build App Bundle (Google Play) (Créer un app bundle [Google Play]).
Pour en savoir plus, consultez la documentation de référence sur les paramètres de compilation Android.
Cliquez sur Compiler.
Téléchargez le fichier AAB depuis Unity Hub.
Créer une version de test interne
Pour créer une version de test interne et ajouter des testeurs dans la Play Console, procédez comme suit :
- Dans la Google Play Console, sélectionnez un jeu.
- Accédez à la page Tester et publier (Tests > Tests internes).
- Cliquez sur Importer, puis sélectionnez le fichier AAB.
- Dans le champ Informations sur la version, saisissez un nom.
- Cliquez sur Suivant et vérifiez les détails de la version.
- Cliquez sur Enregistrer et publier.
Dans l'onglet Testeurs, cliquez sur Créer une liste de diffusion pour ajouter jusqu'à 100 testeurs.
Pour en savoir plus, consultez Test interne : gérer jusqu'à 100 testeurs.
Dans le champ URL ou adresse e-mail pour les commentaires, saisissez une URL ou une adresse e-mail pour les commentaires.
Cliquez sur Enregistrer.
Valider vos identifiants de signature d'application
- Dans la Google Play Console, sélectionnez un jeu.
- Accédez à la page Tester et publier (Configuration > Signature d'application).
- Vérifiez vos identifiants de signature d'application.
Créer et exécuter le projet
À ce stade, vous pouvez créer et exécuter le projet de jeu. Lorsque le jeu démarre, la tentative de connexion automatique s'affiche.
Vous avez besoin d'un appareil Android physique sur lequel le débogage USB est activé ou d'un émulateur capable d'exécuter le projet développé.
Récupérer les codes d'authentification du serveur
Pour accéder aux API Google sur un serveur Web backend pour le compte du joueur actuel, vous devez obtenir un code d'authentification auprès de l'application cliente et le transmettre à l'application de votre serveur Web. Ce code peut ensuite être échangé contre un jeton d'accès permettant d'appeler les différentes API. Pour en savoir plus sur ce workflow, consultez Se connecter avec Google pour le Web.
Voici comment procéder pour obtenir le code d'accès côté serveur :
- Ajoutez l'ID client Web de votre jeu dans la Play Console.
- Dans la Google Play Console, sélectionnez votre jeu.
- Sur la page Configuration (Accroître le nombre d'utilisateurs > Services de jeux Play > Configuration et gestion > Configuration), cliquez sur Ajouter un identifiant.
- Sur la page Ajouter un identifiant, sélectionnez Serveur de jeu.
- Générez un ID client OAuth 2.0.
- Notez la valeur de l'ID client. Vous devrez fournir cette valeur ultérieurement.
Ajoutez l'ID client Web à Unity Hub.
- Dans Unity Hub, configurez Google Play Jeux pour Unity et connectez-vous.
- Dans le hub Unity, accédez à Window > Google Play Games > Setup > Android Setup.
- Saisissez la valeur de l'ID client.
Récupérez le code d'autorisation du serveur pour les autres habilitations.
C#
using GooglePlayGames.BasicApi; // Define selectedScope having additional identity scopes. private List
selectedScopes = new List (); // Add scopes you want to request. selectedScopes.Add(AuthScope.OPEN_ID); selectedScopes.Add(AuthScope.PROFILE); selectedScopes.Add(AuthScope.EMAIL); // Call RequestServerSideAccess with additional scopes and retrieve // authcode and grantedscopes list. PlayGamesPlatform.Instance.RequestServerSideAccess( /* forceRefreshToken= */ false,selectedScopes (AuthResponse authResponse) => { string authCode = authResponse.GetAuthCode(); List grantedScopes = authResponse.GetGrantedScopes(); // send authCode to server... });
Effectuer la configuration et ajouter des fonctionnalités
Activez les fonctionnalités des services de jeux Play.
Ajoutez des fonctionnalités à votre jeu à l'aide des API des services de jeux Play :
API Recall pour Unity (compatible uniquement avec le plug-in Unity version 11 et ultérieure)