Zum Inhalt springen

Google Login auf Android

In diesem Leitfaden lernen Sie, wie Sie Google Login mit Capgo Social Login für Android einrichten. Ich gehe davon aus, dass Sie die allgemeine Einrichtungsanleitung bereits gelesen haben.

In diesem Teil lernen Sie, wie Sie Google Login in Android einrichten.

  1. Erstellen Sie eine Android-Client-ID.

    1. Klicken Sie auf die Suchleiste

      Google Console Suchleiste
    2. Suchen Sie nach credentials und klicken Sie auf die APIs and Services Option (Nummer 2 auf dem Screenshot)

      Suchergebnisse zeigen Credentials-Option mit hervorgehobenen APIs and Services
    3. Klicken Sie auf create credentials

      Credentials erstellen Schaltfläche in Google Console
    4. Wählen Sie OAuth client ID

      OAuth client ID Option im Credentials-Erstellungsmenü
    5. Wählen Sie den Android Anwendungstyp

      Anwendungstyp-Auswahl mit hervorgehobener Android-Option
    6. Öffnen Sie Android Studio

    7. Ganz unten im Navigator finden Sie die Gradle Scripts

      Gradle Scripts Bereich im Android Studio Projekt-Navigator
    8. Finden Sie build.gradle für das Modul app

      build.gradle (Module: app) Datei im Gradle Scripts Bereich
    9. Kopieren Sie die android.defaultConfig.applicationId. Dies wird Ihr package name in der Google Console sein

      Build.gradle Datei zeigt applicationId Konfiguration
    10. Öffnen Sie nun das Terminal. Stellen Sie sicher, dass Sie sich im android Ordner Ihrer App befinden und führen Sie ./gradlew signInReport aus

    Terminal zeigt gradlew signInReport Befehl
    1. Scrollen Sie zum Anfang dieses Befehls. Sie sollten Folgendes sehen. Kopieren Sie den SHA1.
    Terminal-Ausgabe zeigt SHA1-Zertifikat-Fingerabdruck
    1. Gehen Sie nun zurück zur Google Console. Geben Sie Ihre applicationId als Package Name und Ihren SHA1 im Zertifikatsfeld ein und klicken Sie auf create
    Android-Client-Erstellungsformular mit ausgefüllten Paketnamen- und SHA1-Feldern
  2. Erstellen Sie einen Web-Client (dies ist für Android erforderlich)

    1. Gehen Sie zur Create credentials Seite in der Google Console

    2. Setzen Sie den Anwendungstyp auf Web

      Anwendungstyp-Auswahl mit hervorgehobener Web-Option
    3. Klicken Sie auf Create

      Web-Client-Erstellungsformular mit Create-Schaltfläche unten
    4. Kopieren Sie die Client-ID, Sie werden diese als webClientId in Ihrem JS/TS Code verwenden

      Client-ID Details zeigen Web-Client-ID zum Kopieren
  3. Ändern Sie Ihre MainActivity

    1. Bitte öffnen Sie Ihre App in Android Studio. Sie können cap open android ausführen

    2. Finden Sie MainActivity.java

      1. Öffnen Sie den app Ordner

        App Ordner im Android Studio Projekt-Navigator
      2. Finden Sie java

        Java Ordner in Android Studio Projektstruktur
      3. Finden Sie Ihre MainActivity.java und klicken Sie darauf

        MainActivity.java Datei in Paketstruktur
    3. Ändern Sie MainActivity.java. Bitte fügen Sie den folgenden Code hinzu

      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 ist SEHR SEHR wichtig !!!!!!
      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. Speichern Sie die Datei

  4. Verwenden Sie Google Login in Ihrer Anwendung

    1. Importieren Sie zuerst SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. Rufen Sie initialize auf. Dies sollte nur einmal aufgerufen werden.

      // onMounted ist Vue-spezifisch
      // webClientId ist die Client-ID, die Sie im Web-Client-Erstellungsschritt erhalten haben, nicht die Android-Client-ID.
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: '673324426943-avl4v9ubdas7a0u7igf7in03pdj1dkmg.apps.googleusercontent.com',
      }
      })
      })
    3. Rufen Sie SocialLogin.login auf. Erstellen Sie eine Schaltfläche und führen Sie den folgenden Code beim Klicken aus.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // Verarbeiten Sie die Antwort
      console.log(JSON.stringify(res))
  5. Konfigurieren Sie den Emulator zum Testen

    1. Gehen Sie in den Device manager und klicken Sie auf die Plus-Schaltfläche

      Device Manager in Android Studio mit hervorgehobener Plus-Schaltfläche
    2. Erstellen Sie ein virtuelles Gerät

      Virtuelles Gerät erstellen Schaltfläche in Virtueller Gerätekonfiguration
    3. Wählen Sie ein beliebiges Gerät mit einem Play Store Symbol

      Hardware-Auswahl zeigt Geräte mit Play Store Unterstützung

      Wie Sie sehen können, unterstützt der pixel 8 die Play Store Dienste

    4. Klicken Sie auf next

      Next Schaltfläche im Geräteerstellungs-Assistenten
    5. Stellen Sie sicher, dass das OS-Image vom Typ Google Play ist. Es MUSS vom Typ Google Play sein

      System-Image-Auswahl zeigt Google Play Typ Images
    6. Klicken Sie auf next

      Next Schaltfläche im System-Image-Auswahlbildschirm
    7. Bestätigen Sie Ihr Gerät. Sie können Ihren Emulator nach Belieben benennen

      Gerätekonfigurations-Überprüfungsbildschirm mit Finish-Schaltfläche
    8. Gehen Sie in den Device Manager und starten Sie Ihren Simulator

      Device Manager mit aufgelistetem virtuellem Gerät und Play-Schaltfläche
    9. Nachdem der Simulator hochgefahren ist, gehen Sie in die Einstellungen

      Android Emulator zeigt Einstellungs-App
    10. Gehen Sie zu Google Play

    Einstellungsbildschirm mit Google Play Option
    1. Klicken Sie auf Update und warten Sie etwa 60 Sekunden
    Google Play Update-Bildschirm mit Update-Schaltfläche
  6. Testen Sie Ihre Anwendung

    Wenn Sie alles richtig gemacht haben, sollten Sie sehen, dass der Google-Login-Ablauf ordnungsgemäß funktioniert:

    Demo des Google-Login-Ablaufs auf Android zeigt Anmeldeprozess und erfolgreiche Authentifizierung

Wenn Sie Probleme haben, schauen Sie sich bitte die Github Issues an.

Die Probleme mit Google Login sind IMMER mit dem SHA1-Zertifikat verbunden.

Wenn Sie das Entwicklungs-SHA1-Zertifikat nicht erhalten können, versuchen Sie, einen benutzerdefinierten Keystore zu verwenden. Hier ist ein Kommentar, der erklärt, wie Sie einen Keystore zu Ihrem Projekt hinzufügen.