Zum Inhalt springen

Google-Anmeldung auf Android

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

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

  1. Erstellen Sie einen Android-Kundenidentifikator.

    1. Klicken Sie auf die Suchleiste

      Google-Konsolen-Suchleiste
    2. Suchen Sie nach credentials und klicken Sie auf das APIs and Services das zweite (Nummer 2 auf dem Screenshot)

      Suchergebnisse mit Anzeige der Zugangsdatenoption mit APIs und Diensten hervorgehoben
    3. Klicken Sie auf den create credentials

      Schaltfläche zum Erstellen von Zugriffsberechtigungen in Google Console
    4. Wählen Sie OAuth client ID

      OAuth-Kundenkonto-Option in der Zugriffsberechtigungs-Menü
    5. Wählen Sie das Android Anwendungstyp

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

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

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

      build.gradle (Modul: app) Datei im Abschnitt "Gradle Scripts"
    9. Kopieren Sie das android.defaultConfig.applicationIdDies wird Ihr package name im Google-Konsolen

      build.gradle-Datei mit der Anwendungskonfiguration für applicationId
    10. Öffnen Sie nun die Terminal-Anwendung. Stellen Sie sicher, dass Sie sich im android Ordner Ihres Apps befinden und das ./gradlew signInReport

    Terminal-Ansicht mit dem Befehl gradlew signInReport
    1. Zum Anfang dieser Anweisung scrollen. Sie sollten Folgendes sehen. Fügen Sie den SHA1.
    Terminalausgabe, die SHA1-Zertifikatsfingerprint anzeigt
    1. Gehe nun zurück zum Google-Konsolen. Geben Sie Ihren applicationId als Package Name und Ihre SHA1 in das Zertifikatsfeld ein und klicken Sie create
    Android-Kundenanlageformular mit Paketnamen- und SHA1-Feldern ausgefüllt
  2. Erstelle einen Webclient (dies ist erforderlich für Android)

    1. Gehe zur Create credentials Seite im Google-Konsolen

    2. Setze die Anwendungstyp auf Web

      Anwendungstypauswahl mit Web-Option hervorgehoben
    3. Klicken Sie Create

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

      Details zur Client-ID, Webclient-ID zum Kopieren anzeigen
  3. Passen Sie Ihre MainActivity

    1. Öffnen Sie Ihr App-Projekt in Android Studio. Sie können es cap open android

    2. Finden Sie MainActivity.java

      1. Öffnen Sie das app Ordner

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

        Java-Ordner im Android Studio-Projekt-Struktur
      3. Entdecken Sie Ihre MainActivity.java und klicken Sie darauf

        MainActivity.java-Datei im Paketstruktur
    3. Ändern MainActivity.javaBitte fügen Sie folgende 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 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 die Datei

  4. Verwenden Sie Google-Login in Ihrer Anwendung

    1. Zuerst importieren Sie SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. Rufen Sie initialize auf. 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. Rufen Sie an SocialLogin.login. Erstellen Sie einen Button und führen Sie folgendes 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. Gehen Sie hinein Device manager und klicken Sie auf die Plus-Taste

      Gerätemanager in Android Studio mit Plus-Taste hervorgehoben
    2. Ein virtuelles Gerät erstellen

      Schaltfläche "Ein virtuelles Gerät erstellen" in der virtuellen Geräte-Konfiguration
    3. Wählen Sie jedes Gerät mit einem Play Store Symbol

      Wie Sie sehen, unterstützt das

      die pixel 8 Dienste Play Store Klicken Sie auf

    4. Weiter-Button in der Geräteerstellungswizard next

      Next button in device creation wizard
    5. Stellen Sie sicher, dass das Betriebssystem-Image vom Typ Google Play. MUSST muss vom Typ Google Play

      Systembildauswahl, die Google Play-Typenbilder anzeigt
    6. Klicken Sie auf Weiter

      Weiter-Button in der Systembildauswahl-Schaltfläche
    7. Bestätigen Sie Ihr Gerät. Sie können Ihrem Emulator einen Namen geben, wie Sie ihn bevorzugen

      Bildschirm zur Verifizierung der Gerätekonfiguration mit Beenden-Button
    8. Gehe in Device Manager und starte dein Simulator

      Gerätemanager mit virtuellem Gerät aufgelistet und Spiel-Button
    9. Nachdem der Simulator gestartet wurde, gehe in seine Einstellungen

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

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

    Wenn Sie alles korrekt gemacht haben, sollten Sie das Google-Login-Flow ordnungsgemäß funktionieren sehen:

    Demo des Google-Login-Flows auf Android, die Anmeldeprozess und erfolgreiche Authentifizierung zeigt

Wenn Sie Probleme haben, zögern Sie bitte nicht, diesen Abschnitt zu überprüfen Github Probleme.

Die Probleme mit dem Google-Login sind immer bezogen auf das SHA1-Zertifikat.

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