Cet article détaille les étapes de base pour authentifier les utilisateurs finaux avec leurs identifiants Google OpenID Connect dans un exemple d'application Android Unity. Si vous souhaitez utiliser Google Play Game pour authentifier les utilisateurs finaux avec leurs identifiants Google, consultez l'article .Authentication - Google (PlayGame)
Prérequis
- Vous disposez d'un compte Google pour créer des projets dans GCP 
- Votre appareil de test avec l'API Android niveau 19 ou supérieur 
Étape 1: Créer une application sur l'éditeur Unity
- Ouvrez le hub Unity et créez un nouveau projet. 
- Téléchargez et importez le dernier package Unity du client brainCloud dans ce projet. Une fois le plugin correctement importé, l'onglet brainCloud apparaîtra dans le menu de l'éditeur. 
- Téléchargez et importez la dernière version du - Google Sign-In Unity Plugindepuis les dépôts d'exemples Google. Nous l'utiliserons pour exiger les- server auth codesqui seront transmis à la méthode- AuthenticateGooglede brainCloud dans notre exemple de code. (Notez que certains fichiers sous- PlayServiceResolverpeuvent être obsolètes; vous devrez probablement installer le plugin- unity-jar-resolverdepuis les dépôts d'exemples Google pour le mettre à jour- PlayServiceResolver. De plus, si vous rencontrez une erreur de fichier dupliqué- Task DLL, supprimez simplement celui qui a été installé avec le plugin situé dans le répertoire- Asset->Parse->Plugins.)
- Vous devriez trouver ce répertoire de plugins importés sous Assets. 
- Ouvrez - brainCloud settingà partir de l'onglet, sélectionnez ou créez une application back-end brainCloud liée à votre projet.
- Créez des éléments d’interface utilisateur pour appeler l’initialisation de brainCloud et Google SignIn à partir de votre script. 
- Les fonctions et le code des boutons sont similaires à ceux présentés ci-dessous. Une fois que l'utilisateur se connecte à son compte Google avec Google Play Games en définissant - UseGameSignInà- false, nous pouvons obtenir son- userIden appelant- GetUserId() depuis la fonction de success callback, et obtenir leur- emailpuis les transmettre à la méthode d'authentification Google de brainCloud:- AuthenticateGoogleOpenId
public void GoogleAPISignIn()
{
bcreturn.GetComponent<Text>().text = "Google sign in......";
GoogleSignIn.Configuration = configuration;
//GoogleSignIn.Configuration.UseGameSignIn = true;
GoogleSignIn.DefaultInstance.SignIn().ContinueWith(GoogleSinInCallback);
}
public void GoogleSinInCallback(Task<GoogleSignInUser> task)
{
if (task.IsFaulted)
{
using (IEnumerator<System.Exception> enumerator = task.Exception.InnerExceptions.GetEnumerator())
{
if (enumerator.MoveNext())
{
GoogleSignIn.SignInException error = (GoogleSignIn.SignInException)enumerator.Current;
bcreturn.GetComponent<Text>().text = "Task Exception Error: " + error.Status + " " + error.Message;
}
else
{
bcreturn.GetComponent<Text>().text = "Task Unexpected Exception" + task.Exception;
}
}
}
else if (task.IsCanceled)
{
bcreturn.GetComponent<Text>().text = "Canceled";
}
else
{
//serverAuthCode = task.Result.AuthCode;
googleEmail = task.Result.Email;
idToken = task.Result.IdToken;
bcreturn.GetComponent<Text>().text = "Logged into google! \n Email: " + googleEmail + " \n IdToken: " + idToken;
channelid.GetComponent<InputField>().text = "[" + googleEmail + "]" + idToken;
}
}
- Terminez le code des callbacks restants dans votre script. Consultez le code complet de notre exemple de projet Google Authentication sur GitHub pour référence. ( Notez que - GoogleSignInConfigurationrequiert que- WebClientIdreprésente un utilisateur pour appeler Google SignIn ; nous devrons configurer cela dans notre code après la création de l'élément- client credentialpar- Google Cloud Console. )
- Cliquez maintenant sur l'onglet - Build Settingsdans le menu Unity- Fileet basculez vers la plateforme- Android. Créez ensuite un keystore- Keystore Manageret enregistrez-le localement si vous n'en avez pas.
- Configurez également votre application - package namevia- Player Settings.
- Nous pouvons maintenant passer à l’étape suivante pour créer un projet Google. 
Étape 2: Créez un projet Google et configurez-le avec les informations d'identification du client OAuth 2.0
- Avant de créer un projet, générons une empreinte digitale - SHA1en utilisant le fichier- keystoreet- package nameque nous avons créé à l'étape précédente via le terminal local en utilisant la commande Java JDK:- keytool -exportcert -alias your-keystore-alia -keystore path-to-your-keystore-file -list -v. ( Si vous ne définissez pas cette commande globalement, pour utiliser- keytool, vous devrez peut-être accéder à votre dossier personnel Java JDK)
- Ensuite, au lieu d'aller sur Google Cloud Console pour créer un projet et ajouter manuellement les informations d'identification du client d'authentification, nous pouvons accéder à la page Android-developer - Google Sign Inet créer un projet à partir de là. ( en utilisant cela, un projet Google et un ID client Android pour OAuth 2.0 créés en un seul clic ), collez le- package namede votre application Android et votre empreinte digitale- SHA1en conséquence lorsque vous y êtes invité et créez le projet.
- Maintenant, ouvrez Google Cloud Platform, vous devriez pouvoir voir les ID de projet et de client OAuth 2.0 créés pour vous. 
- Maintenant que nous avons terminé la configuration de notre projet depuis GCP, notez l'ID client, ses identifiants Web secrets et le - project number, nous en aurons également besoin pour la configuration dans la console brainCloud. (Notez que le numéro de projet est préfixé à l'ID client.)
Étape 3: Configurer les informations d’identification du client Google sur brainCloud
- Ouvrez votre application brainCloud correspondante à partir du portail de développement brainCloud, accédez à la page Conception | Informations sur l'application principale . 
- Cliquez sur Google sous Configurer les plates-formes et collez vos informations d'identification - Client IDet celles de votre- secretde client Web dans les champs de configuration Google respectivement.
- Assurez-vous que la plateforme - Google Androidest sélectionnée dans la page Conception | Informations sur l'application principale | Plateformes .
- Maintenant que nous avons terminé les paramètres de brainCloud, passons à l’étape suivante pour configurer l’ID client de votre code dans Unity. 
Étape 4: Configuration finale de l'application Android dans Unity et création d'une application de test
- Référencer cet ID client en tant que configuration Google SignIn dans votre code. - configuration = nouvelle configuration GoogleSignIn 
 {
 WebClientId = "998140262691-eot4ico1t3qtb35ea1prbt9ilinekpnr.apps.googleusercontent.com",
 RequestEmail = true,
 RequestIdToken = true,
 RequestAuthCode = true
 };
- Accédez à l’écran - Build Settingset créez l’APK pour votre appareil de test.
Étape 5: Test


















