Zum Inhalt springen

Google Login auf iOS

GitHub

In dieser Anleitung lernen Sie, wie Sie Google Login mit Capgo Social Login für iOS einrichten können. Ich nehme an, dass Sie bereits die allgemeine Einrichtungsanleitung.

In diesem Teil lernen Sie, wie Sie Google-Anmeldung in iOS einrichten.

  1. Erstellen Sie einen iOS-Kundenidentifikator im Google-Konsolen

    1. Auf die Suchleiste klicken

      Suchleiste der Google-Konsole
    2. Nach credentials klicken Sie auf APIs and Services eine (Nummer 2 auf dem Screenshot)

      Suchergebnisse, die die Option für Anmeldedaten mit APIs und Diensten hervorheben
    3. Klicken Sie auf create credentials

      Erstellen von Anmeldezertifikaten-Button im Google-Konsolen
    4. Auswählen OAuth client ID

      OAuth Client-ID-Option in der Anmeldeinformationen-Erstellungsmenü
    5. Auswählen Sie das Application type bis iOS

      Anwendungstypauswahl mit iOS-Option hervorgehoben
    6. Finden Sie die Bundle-ID

      1. Öffnen Sie Xcode

      2. Doppelklicken Sie auf App

        App-Ziel in Xcode-Projekt-Explorer
      3. Stellen Sie sicher, dass Sie sich im Targets -> App

        Ziele-Sektion in Xcode mit App ausgewählt sind
      4. Finden Sie Bundle Identifier

        Bundle Identifier Feld in Xcode Projekt-Einstellungen
      5. Zurück zur Google-Konsole und fügen Sie Ihren Bundle Identifier in Bundle ID

        Bundel-ID-Feld in Google-Console iOS-Kundenkonto-Erstellungsbild
    7. Optionally, fügen Sie Ihren App Store ID oder Team ID in die Client-ID, wenn Sie Ihre App im App Store veröffentlicht haben

    8. Nachdem Sie alle Details ausgefüllt haben, klicken Sie create

      Erstelle Schaltfläche am Ende der iOS-Klienten-Erstellungsoberfläche
    9. Click OK

      Nachdem Sie alle Details ausgefüllt haben, klicken Sie auf den
    10. Öffnen Sie den neu erstellten iOS-Kunden

      Neu erstellter iOS-Kunden in der Liste der Anmeldedaten
    11. Kopieren Sie die folgenden Daten

      Anzeige der Client-ID-Daten mit Client-ID und rückgekehrter Client-ID zum Kopieren
  2. Ihre App’s Info.plist anpassen

    1. Xcode öffnen und das Info.plist Datei

      Info.plist-Datei im Xcode-Projekt-Navigator finden
    2. Rechtsklick auf diese Datei und sie als Quelltext code öffnen

      Rechtsklick-Menü mit Option "Als Quelltext Code öffnen"
    3. Am unteren Ende Ihrer Plist Datei sehen Sie ein </dict> Tag

      Schließende Dict-Tag in Info.plist-Datei
    4. Einfügen Sie den folgenden Fragment vor dem Schließenden </dict> Tag

      Info.plist mit URL-Schemata code eingeschoben, bevor Abschlussschleife
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Ändern Sie das YOUR_DOT_REVERSED_IOS_CLIENT_ID auf den Wert, der im vorherigen Schritt kopiert wurde

      Info.plist mit tatsächlichem rückgekoppelter Client-Id in URL-Schemata eingeschrieben
    6. Speichern Sie das Datei mit Command + S

  3. Ändern Sie das AppDelegate.swift

    1. Öffnen Sie das AppDelegate

      AppDelegate.swift-Datei im Xcode-Projektnavigator
    2. Einfügen import GoogleSignIn am Anfang der Datei

      AppDelegate.swift mit GoogleSignIn import hinzugefügt
    3. Finden Sie die func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) Funktion

      Die ursprüngliche Anwendungsöffnungsfunktion in AppDelegate
    4. Ändern Sie die Funktion, damit sie wie folgt aussieht

      func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) -> Bool {
      // Called when the app was launched with a url. Feel free to add additional processing here,
      // but if you want the App API to support tracking app url opens, make sure to keep this call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      Geänderte Anwendungsöffnungsfunktion mit GoogleSignIn-Handling
    5. Speichern Sie die Datei mit Command + S

  4. Google-Anmeldung in Ihrem JavaScript/TypeScript code einrichten

    1. Importieren SocialLogin und Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. Die Initialisierungs-Methode aufrufen (dies sollte nur einmal aufgerufen werden)

      Grundlegende Einrichtung (Online-Modus - empfohlen für die meisten Apps):

      // onMounted is Vue specific
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      iOSClientId: '673324426943-redacted.apps.googleusercontent.com',
      mode: 'online' // Default mode
      }
      })
      })

      Erweiterte Einrichtung mit zusätzlichen Client-IDs:

      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: 'YOUR_WEB_CLIENT_ID', // Optional: for web platform support
      iOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1
      iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced features
      mode: 'online' // 'online' or 'offline'
      }
      })
      })
    3. Implementieren Sie die Anmeldefunktion. Erstellen Sie einen Button und führen Sie folgenden code auf Klick aus

      Für den Online-Modus:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response - contains user data
      console.log(JSON.stringify(res))

      Für Offline-Modus:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {
      forceRefreshToken: true // Recommended for offline mode
      }
      })
      // res contains serverAuthCode, not user data
      // Send serverAuthCode to your backend to get user information
      // Do not call SocialLogin.refresh() in offline mode
      console.log('Server auth code:', res.result.serverAuthCode)
  5. Testen Sie Ihre Anwendung

    1. Bauen Sie Ihre App und starten Sie sie cap sync

    2. Wenn Sie alles korrekt gemacht haben, sollten Sie das Google-Login-Flow korrekt funktionieren sehen

      Demo des Google-Login-Flows auf iOS, die sich beim Anmeldenprozess und der erfolgreichen Authentifizierung befindet

Das Google-Login-Plugin ist mit dem @capacitor/datenschutz-screenDatenschutz-Screen inkompatibel. Wenn Sie beide Plugins gleichzeitig verwenden, wird der Google-Login-Webview vom Datenschutz-Screen unterbrochen.

Workaround: Aufrufen await PrivacyScreen.disable(); vor dem Aufrufen der Login-Funktion:

import { PrivacyScreen } from '@capacitor/privacy-screen';
import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();
await SocialLogin.login({
provider: 'google',
options: {}
});

Zurücksetzen Google-Anmeldung auf iOS um die Authentifizierung und die Kontenflüsse zu planen, verbinden Sie es mit Mit @capgo/capacitor-social-login Für die native Fähigkeit in Mit @capgo/capacitor-social-login, Für @capgo/capacitor-social-login Für die Implementierungsdetails in @capgo/capacitor-social-login, Für @capgo/capacitor-passkey Für die Implementierungsdetails in @capgo/capacitor-passkey, Für @capgo/capacitor-native-biometric Für die Implementierungsdetails in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung Für die Implementierungsdetails in Zwei-Faktor-Authentifizierung.