Zum Inhalt springen

Google-Anmelden auf Android

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

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

  1. Erstellen Sie eine Android-Kundenidentität.

    1. Klicken Sie auf die Suchleiste

      Google-Konsolen-Suchleiste
    2. Suchen Sie nach credentials und klicken Sie auf die APIs and Services eine (Zahl 2 auf dem Screenshot)

      Suchergebnisse, die die Anmeldeinformationen mit APIs und Diensten hervorheben
    3. Klicken Sie auf die create credentials

      Erstellen Sie die Anmeldeinformationen-Button in Google-Konsolen
    4. Wählen Sie OAuth client ID

      OAuth-Kunden-ID-Option in der Einstellungen für die Erstellung von Anmeldeinformationen
    5. Wählen Sie den Android Anwendungs-Typ

      Anwendungstypen Auswahl mit Android-Option hervorgehoben
    6. Öffnen Sie Android Studio

    7. Am unteren Ende des Navigators finden Sie die Gradle Scripts

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

      build.gradle (Modul: app) Datei in der Sektion Gradle-Scripts
    9. Kopieren Sie die android.defaultConfig.applicationId. Dies wird Ihre package name im Google-Konsolen

      Build.gradle-Datei, die die Anwendungs-ID-Konfiguration zeigt
    10. Öffnen Sie nun die Terminal-Anwendung. Stellen Sie sicher, dass Sie sich im android Ordner Ihrer App befinden und ./gradlew signInReport

    Terminal-Anzeige mit dem Befehl gradlew signInReport
    1. Rollen Sie nach oben zu diesem Befehl. Sie sollten Folgendes sehen. Kopieren Sie den SHA1.
    Terminal-Ausgabe mit dem SHA1-Zertifikatsfingerprint
    1. Gehen Sie nun zurück zum Google-Konsolen. Geben Sie Ihren applicationId als das Package Name und Ihren SHA1 in das Zertifikatsfeld ein und klicken Sie create
    Android-Kunden-Erstellungsformular mit Paketnamen und SHA1-Feldern ausgefüllt
  2. Erstellen Sie einen Webclient (dies ist erforderlich für Android)

    1. Gehe zur Create credentials Seite in Google Console

    2. Setze die Anwendungsart auf Web

      Anwendungsartenauswahl mit Web-Option hervorgehoben
    3. Klicke Create

      Webclient-Erstellungsformular mit Schaltfläche 'Erstellen' am unteren Ende
    4. Kopiere die Client-ID, Sie verwenden diese als webClientId in Ihrem JS/TS code

      Details zur Client-ID mit Webclient-ID zum Kopieren
  3. Ändern Sie Ihre MainActivity

    1. Öffnen Sie bitte Ihre App in Android Studio. Sie können mit F5 ausführen cap open android

    2. Find MainActivity.java

      1. Öffne das app Ordner

        App-Ordner in Android Studio-Projekt-Navigator
      2. Find java

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

        MainActivity.java-Datei in der Paketstruktur
    3. Ändern MainActivity.java. Bitte fügen Sie folgenden 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. Speichern Sie das Datei

  4. Verwenden Sie Google Login in Ihrer Anwendung

    1. Zuerst importieren SocialLogin

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

      // 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. Aufrufen SocialLogin.login. Erstellen Sie einen Button und führen Sie folgenden code auf Klick aus.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response
      console.log(JSON.stringify(res))
  5. Konfigurieren Sie den Emulator für die Testung

    1. Gehe in Device manager und klicke auf die Plus-Taste

      Gerätemanager in Android Studio mit Plus-Taste hervorgehoben
    2. Erstelle ein virtuelles Gerät

      Schaltfläche 'Erstellen virtuelles Gerät' in der virtuellen Gerätekonfiguration
    3. Wähle jedes Gerät mit einem Play Store Ikonen

      Hardwareauswahl zeigt Geräte mit Play Store Unterstützung an

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

    4. Klicken next

      Nächster Button in Geräteerstellungswizard
    5. Stellen Sie sicher, dass das Betriebssystem-Image vom Typ Google Play. __CAPGO_KEEP_0__ muss vom Typ Google Play

      Systemimageauswahl zeigt Google Play-Typ-Images an
    6. Klicken Sie auf Weiter

      Nächster Button in Systemimageauswahlbildschirm
    7. Bestätigen Sie Ihr Gerät. Sie können Ihrem Emulator einen Namen geben, wie Sie möchten

      Gerätekonfigurationsüberprüfungsseite mit Beenden-Button
    8. Gehe in Device Manager und starte Ihr Simulator

      Gerätemanager mit virtuellem Gerät aufgeführt und Spiel-Button
    9. Nachdem der Simulator gestartet ist, gehe in seine Einstellungen

      Android-Emulator zeigt Einstellungen-App
    10. Gehe in Google Play

    Einstellungsseite mit Google Play-Option
    1. Klicken Update und warten Sie etwa 60 Sekunden
    Google Play-Update-Seite mit Aktualisieren-Button
  6. Testen Sie Ihre Anwendung

    Wenn Sie alles richtig gemacht haben, sollten Sie das Google-Login-Flow korrekt funktionieren:

    Demo des Google-Login-Flows auf Android, der sich beim Anmelden und der erfolgreichen Authentifizierung befindet

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

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

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

Wenn Sie Google Login auf Android für die Planung der Authentifizierung und der Kontoflows verwenden, verbinden Sie es mit Mit @capgo/capacitor-social-login für die native Fähigkeit in Mit @capgo/capacitor-social-login, @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometrische für die Implementierungsdetails in @capgo/capacitor-native-biometrische, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.