Google-Login auf iOS
Einen Einrichtungsvorschlag mit den Installationsanweisungen und der vollständigen Markdown-Dokumentation für diesen Plugin kopieren.
Einführung
Abschnitt mit dem Titel “Einführung”In dieser Anleitung lernen Sie, wie Sie Google-Login mit Capgo Social Login für iOS einrichten. Ich gehe davon aus, dass Sie bereits die allgemeine Einrichtungsanleitung.
Google-Login auf iOS
Abschnitt mit dem Titel “Google-Login auf iOS”In diesem Teil lernen Sie, wie Sie Google-Login in iOS einrichten.
-
Einen iOS-Kunden-ID in der Google-Konsole erstellen
-
Auf die Suchleiste klicken
-
Nach
credentialsund auf dieAPIs and Serviceseine (Zahl 2 auf dem Screenshot)
-
Klicken Sie auf den
create credentials
-
Wählen Sie
OAuth client ID
-
Wählen Sie die
Application typeZuriOS
-
Finden Sie die Bundle-ID
-
Öffnen Sie Xcode
-
Doppelklicken Sie auf
App
-
Stellen Sie sicher, dass Sie sich auf
Targets -> App
-
Finden Sie Ihr
Bundle Identifier
-
Zurück zur Google-Konsole und fügen Sie Ihren
Bundle IdentifierhinzuBundle ID
-
-
Optional, fügen Sie Ihren
App Store IDoderTeam IDzum Client-Id, wenn Sie Ihre App im App Store veröffentlicht haben -
Nachdem Sie alle Details ausgefüllt haben, klicken Sie auf
create
-
Klicken Sie
OK
-
Öffnen Sie den neu erstellten iOS-Client
-
Kopieren Sie die folgenden Daten
-
-
Passen Sie die Info.plist Ihres Apps an
-
Öffnen Sie Xcode und finden Sie das
Info.plistDatei
-
Recht klicken Sie auf diese Datei und öffnen Sie sie als Quelle code
-
Am unteren Ende Ihrer
PlistDatei sehen Sie ein</dict>Tag
-
Fügen Sie den folgenden Fragment vor dem Abschluss
</dict>Schluss
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Ändern Sie den
YOUR_DOT_REVERSED_IOS_CLIENT_IDzu dem Wert, der in der vorherigen Schritt kopiert wurde
-
Speichern Sie das Datei mit
Command + S
-
-
Ändern Sie die
AppDelegate.swift-
Öffnen Sie das AppDelegate
-
Einfügen
import GoogleSignInam Anfang der Datei
-
Finden Sie die
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])Funktion
-
Ä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 callvar handled: Boolhandled = GIDSignIn.sharedInstance.handle(url)if handled {return true}return ApplicationDelegateProxy.shared.application(app, open: url, options: options)}
-
Speichern Sie das Datei mit
Command + S
-
-
Einrichten Sie Google-Anmeldung in Ihrem JavaScript/TypeScript code
-
Importieren
SocialLoginundCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Aufrufen Sie die Initialisierungs-Methode (dies sollte nur einmal aufgerufen werden)
Grundlegende Einrichtung (Online-Modus - empfohlen für die meisten Apps):
// onMounted is Vue specificonMounted(() => {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 supportiOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced featuresmode: 'online' // 'online' or 'offline'}})}) -
Implementieren Sie die Anmeldefunktion. Erstellen Sie einen Button und führen Sie folgenden code bei einem Klick aus
Für Online-Modus:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.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 modeconsole.log('Server auth code:', res.result.serverAuthCode)
-
-
Testen Sie Ihre Anwendung
-
Bauen Sie Ihre App und führen Sie sie aus
cap sync -
Wenn Sie alles richtig gemacht haben, sollten Sie das Google-Anmeldevorgang korrekt funktionieren sehen
-
Known Issues
Abschnitt mit dem Titel „Known Issues“Unvereinbarkeit des Privacy-Screen-Plugins
Abschnitt mit dem Titel „Unvereinbarkeit des Privacy-Screen-Plugins“Das Google-Login-Plugin ist mit @capacitor/privacy-screenunvereinbar. Wenn Sie beide Plugins gemeinsam verwenden, wird die Google-Login-Webview durch den Datenschutzschirm unterbrochen.
Lösung: Anrufen await PrivacyScreen.disable(); context: Anrufen
import { PrivacyScreen } from '@capacitor/privacy-screen';import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();await SocialLogin.login({ provider: 'google', options: {}});Zwischenablage kopieren (Copy to clipboard) ist nicht verfügbar in diesem Kontext. Bitte verwenden Sie "Weiter mit Google Login auf iOS" (Keep going from Google Login on iOS).
Abschnitt mit dem Titel “Weiter mit Google Login auf iOS”Wenn Sie Google Login auf iOS verwenden Google Login auf iOS um die Authentifizierung und die Kontenflüsse zu planen, verbinden Sie es mit Verwenden Sie @capgo/capacitor-social-login Verwenden Sie @capgo/capacitor-social-login für die native Fähigkeit in Verwenden Sie @capgo/capacitor-social-login @capgo/capacitor-social-login Verwenden Sie @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login @capgo/capacitor-passkey Verwenden Sie @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey @capgo/capacitor-native-biometric Verwenden Sie @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric Zweifaktor-Authentifizierung für die Implementierungsdetails in Zweifaktor-Authentifizierung.