Passer à la navigation

Connexion Google sur Android

Dans ce guide, vous apprendrez à configurer l'authentification Google avec Capgo Social Login pour Android. Je suppose que vous avez déjà lu le guide de configuration générale..

Utilisation de l'authentification Google sur Android

Section intitulée « Utilisation de l'authentification Google sur Android »

Dans cette partie, vous apprendrez à configurer l'authentification Google sur Android.

  1. Cliquez sur la barre de recherche

    1. Vous pouvez créer plusieurs ID de client Android. Cela est requis si vous avez plusieurs certificats SHA1.

      Barre de recherche de Google Console
    2. Recherchez credentials et cliquez sur le APIs and Services un (le numéro 2 sur l'écran d'affichage)

      Résultats de recherche montrant l'option de crédentials avec APIs et Services mis en surbrillance
    3. Cliquez sur le create credentials

      Bouton de création de crédentials dans Google Console
    4. Sélectionnez OAuth client ID

      L'option d'ID client OAuth dans le menu de création de crédentials
    5. Sélectionnez le Android Type d'application

      Sélection du type d'application avec l'option Android mise en surbrillance
    6. Ouvrir Android Studio

    7. À la fin de la barre de navigation, recherchez la section Gradle Scripts

      La section Scripts Gradle dans le navigateur de projet Android Studio
    8. Trouvez build.gradle pour le module app

      le fichier build.gradle (Module : app) dans la section Scripts Gradle
    9. Copiez le android.defaultConfig.applicationIdCela sera votre package name dans le console Google

      Le fichier Build.gradle montrant la configuration applicationId
    10. Maintenant, ouvrez le terminal. Assurez-vous d'être dans le android répertoire de votre application et exécutez ./gradlew signInReport

    Terminal affichant la commande gradlew signInReport
    1. Faites défiler vers le haut de cette commande. Vous devriez voir les éléments suivants. Copiez-les. SHA1.
    Affichage terminal montrant l'empreinte de certificat SHA1
    1. Maintenant, retournez à la Console Google. Saisissez votre applicationId comme Package Name et votre SHA1 dans le champ du certificat et cliquez sur create
    Formulaire de création d'un client Android avec les champs package name et SHA1 remplis
  2. Créez un client web (ceci est requis pour Android)

    1. Allez à la Create credentials page dans la Console Google

    2. Définissez le type d'application sur Web

      Sélection de type d'application avec l'option Web mise en surbrillance
    3. Cliquez Create

      Formulaire de création de client Web avec bouton Créer en bas
    4. Copiez l'ID du client, vous en aurez besoin de celui-ci dans votre __CAPGO_KEEP_0__ JS/TS webClientId in your JS/TS code

      Modifier votre
  3. Veuillez ouvrir votre application dans Android Studio. Vous pouvez exécuter MainActivity

    1. Trouvez cap open android

    2. Ouvrez le MainActivity.java

      1. dossier app Dossier d'application dans le navigateur de projet Android Studio

        Trouvez
      2. Trouvez java

        dossier Java dans la structure de projet Android Studio
      3. Trouvez votre MainActivity.java et cliquez dessus

        fichier MainActivity.java dans la structure de package
    3. Modifier MainActivity.javaVeuillez ajouter le suivant code

      import ee.forgr.capacitor.social.login.GoogleProvider;
      import ee.forgr.capacitor.social.login.SocialLoginPlugin;
      import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin;
      import com.getcapacitor.PluginHandle;
      import com.getcapacitor.Plugin;
      import android.content.Intent;
      import android.util.Log;
      import com.getcapacitor.BridgeActivity;
      // ModifiedMainActivityForSocialLoginPlugin is VERY VERY important !!!!!!
      public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) {
      PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
      if (pluginHandle == null) {
      Log.i("Google Activity Result", "SocialLogin login handle is null");
      return;
      }
      Plugin plugin = pluginHandle.getInstance();
      if (!(plugin instanceof SocialLoginPlugin)) {
      Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin");
      return;
      }
      ((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data);
      }
      }
      // This function will never be called, leave it empty
      @Override
      public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}
      }
    4. Enregistrer le fichier

  4. Utiliser l'authentification Google dans votre application

    1. Tout d'abord, importez SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. Appeler initialize. Cela doit être appelé qu'une seule fois.

      // onMounted is Vue specific
      // webClientId is the client ID you got in the web client creation step not the android client ID.
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: '673324426943-avl4v9ubdas7a0u7igf7in03pdj1dkmg.apps.googleusercontent.com',
      }
      })
      })
    3. Appeler SocialLogin.login. Créez un bouton et exécutez le code lors du clic.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response
      console.log(JSON.stringify(res))
  5. Configurez l'emulateur pour les tests

    1. Allez dans Device manager et cliquez sur le bouton plus

      Gestionnaire de dispositifs dans Android Studio avec le bouton plus mis en surbrillance
    2. Créer un dispositif virtuel

      Bouton Créer un Dispositif Virtuel dans la Configuration du Dispositif Virtuel
    3. Sélectionnez n'importe quel dispositif avec un Play Store icône

      Sélection de matériel montrant les dispositifs avec prise en charge de Google Play

      Comme vous pouvez le voir, le pixel 8 supporte les Play Store services

    4. Cliquez next

      Bouton suivant dans le créateur de périphérique
    5. Assurez-vous que l'image du système est du type Google Play. CE DOIT ÊTRE doit être du type Google Play

      Sélection de l'image du système montrant des images de type Google Play
    6. Cliquez sur suivant

      Bouton suivant sur l'écran de sélection de l'image du système
    7. Confirmez votre appareil. Vous pouvez nommer votre émulateur comme vous le souhaitez

      Écran de vérification de la configuration du périphérique avec bouton Terminer
    8. Allez dans Device Manager et démarrez votre simulateur

      Gestionnaire de périphériques avec périphérique virtuel listé et bouton Play
    9. Après le démarrage du simulateur, allez dans ses paramètres

      Émulateur Android affichant l'application de paramètres
    10. Allez dans Google Play

    Écran de paramètres avec option Google Play
    1. Cliquez Update et attendez environ 60 secondes
    Écran de mise à jour Google Play avec le bouton Mise à jour
  6. Testez votre application

    Si vous avez fait tout correctement, vous devriez voir le flux de connexion Google fonctionner correctement :

    Démonstration du flux de connexion Google sur Android montrant le processus de connexion et l'authentification réussie

Si vous avez des problèmes, veuillez consulter le Github des problèmes.

Les problèmes liés à l'authentification Google sont TOUJOURS liés au certificat SHA1.

Si vous ne pouvez pas obtenir le certificat SHA1 de développement, essayez d'utiliser un clé de stockage personnalisée. Voici un commentaire expliquant comment ajouter une clé de stockage à votre projet.