Zum Inhalt springen

Google-Anmeldung auf iOS

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

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

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

    1. Klicken Sie auf die Suchleiste

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

      Suchergebnisse mit Anzeige der Anmeldeoption für APIs und Services
    3. Klicken Sie auf den create credentials

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

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

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

      1. Xcode öffnen

      2. Doppelklicken Sie auf App

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

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

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

        Bundle-ID-Feld in der Google-Konsolen iOS-Kunden-Erstellungsform
    7. Optional, 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-Button am unteren Ende der iOS-Client-Erstellungsform
    9. Klicken Sie OK

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

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

      Anzeige der Client-ID-Daten mit Client-ID und umgekehrter Client-ID zum Kopieren
  2. Ändern Sie die Informationen in Ihrem App-Info.plist

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

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

      Rechtsklick-Menü mit Option "Als Quelle öffnen Code"
    3. Unten in Ihrem Plist Datei, Sie sehen ein </dict> Schlagwort

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

      Info.plist mit URL-Schemata code eingefügt vor der Schließenden Dikt-Schlagwort
      <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 in dem vorherigen Schritt in die Zwischenablage kopiert wurde

      Info.plist mit dem tatsächlichen rückgekehrten Client-ID eingefügt in URL-Schemata
    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, dass 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)
      }
      Modifizierte Anwendung openURL-Funktion mit GoogleSignIn-Handling
    5. Speichern Sie das Datei mit Command + S

  4. Einrichten Sie 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. Rufen Sie die initialize-Methode auf (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 Konfiguration 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 den folgenden code bei einem 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-Anmeldevorgang funktionieren sehen

      Demo des Google-Anmeldevorgangs auf iOS, der sich beim Anmeldevorgang und der erfolgreichen Authentifizierung befindet

Das Google-Login-Plugin ist mit @capacitor/privacy-screenWenn Sie beide Plugins gemeinsam verwenden, wird die Google-Login-Webview durch die Datenschutzschirmfunktion unterbrochen.

Workaround: Aufruf await PrivacyScreen.disable(); Bevor Sie die Anmeldefunktion aufrufen:

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