Zum Inhalt springen

Google-Anmeldung auf iOS

Einführung

Einleitung

In dieser Anleitung lernen Sie, wie Sie Google-Anmeldung mit Capgo Social Login für iOS einrichten können. Ich gehe davon aus, dass Sie bereits die allgemeine Einrichtungsanleitung gelesen haben. Allgemeine Einrichtungsanleitung.

In diesem Abschnitt lernen Sie, wie Sie Google-Anmeldung in iOS einrichten können.

  1. Erstellen Sie einen iOS-Kunden-ID in der Google-Konsole

    1. Klicken Sie auf die Suchleiste

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

      Suchergebnisse zeigen Anmeldeinformationen Option mit APIs und Diensten hervorgehoben
    3. Klicken Sie auf den create credentials

      Erstellen Sie Anmeldeinformationen-Button im Google-Console
    4. Wählen Sie OAuth client ID

      OAuth-Kundenkonto-ID-Option in der Anmeldeinformationen-Erstellungsmenü
    5. Wählen Sie das Application type für iOS

      Anwendungstypen Auswahl 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 auf Targets -> App

        Zielgruppe in Xcode mit App ausgewählt
      4. Finden Sie Ihr Bundle Identifier

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

        Bundle-ID-Feld in der Google-Konsole iOS-Kundenereignis-Erstellungsvorlage
    7. Optional können Sie Ihren App Store ID oder Team ID in den Client-Id, wenn Sie Ihre App bereits im App Store veröffentlicht haben

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

      Schaltfläche 'Erstellen' am unteren Ende der iOS-Kundenereignis-Erstellungsvorlage
    9. Klicken OK

      OK-Button auf Client-ID-Erstellungsbestätigungsdialog
    10. Öffnen Sie den neu erstellten iOS-Client

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

      Details zur Client-ID, die Client-ID und die umgekehrte Client-ID zum Kopieren zeigen
  2. Ändern Sie die Info.plist-Datei Ihres Apps

    1. Öffnen Sie Xcode und finden Sie das Info.plist Datei

      Info.plist-Datei im Xcode-Projekt-Explorer
    2. Recht klicken Sie auf diese Datei und öffnen Sie sie als Quelle code

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

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

      Info.plist mit URL-Schemes code eingeschoben vor Abschluss des Schlüsselwortes
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Ändern Sie den YOUR_DOT_REVERSED_IOS_CLIENT_ID auf den Wert, der in der vorherigen Schritt kopiert wurde

      Info.plist mit dem tatsächlichen rückgekehrten Client-Id eingeschrieben in URL-Schemes
    6. Speichern Sie das Datei mit Command + S

  3. Ändern Sie das AppDelegate.swift

    1. Öffnen Sie das AppDelegate

      AppDelegate.swift Datei im Xcode Projekt Navigator
    2. Einfügen import GoogleSignIn am Anfang der Datei

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

      Original Anwendung openURL Funktion in AppDelegate
    4. Ändern Sie die Funktion so

      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)
      }
      Modifizierte Anwendung öffnenURL-Funktion mit GoogleSignIn-Handling
    5. Speichern Sie das Datei mit Command + S

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

    1. Importieren SocialLogin und Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. Aufrufen der Initialisierungs-Methode (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 Login-Funktion. Erstellen Sie einen Button und führen Sie folgenden code auf Klick aus

      Für 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 führen Sie sie aus cap sync

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

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

Inkompatibilität des Privacy-Screen-Plugins

Abschnitt 'Inkompatibilität des Privacy-Screen-Plugins'

Das Google-Login-Plugin ist mit @capacitor/privacy-screenunvereinbar. Wenn Sie beide Plugins gleichzeitig verwenden, wird die Google-Login-Webview durch den Privacy-Screen unterbrochen.

Workaround: Call await PrivacyScreen.disable(); bevor Sie die Login-Funktion aufrufen:

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

Wenn Sie " Google Login auf iOS" für die Planung der Authentifizierung und der Kontenflüsse verwenden, verbinden Sie es mit Mit @capgo/capacitor-social-login für die native Fähigkeit in Mit @capgo/capacitor-social-login, Mit @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login, Mit @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, Mit @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric und Zweifaktor-Authentifizierung für die Implementierungsdetails in Zweifaktor-Authentifizierung.