Google Login unter iOS
Kopiere einen Setup-Prompt mit den Installationsschritten und dem vollständigen Markdown-Guide für dieses Plugin.
Einführung
Abschnitt „Einführung“In diesem Guide erfährst du, wie du Google Login mit Capgo Social Login für iOS einrichtest. Ich setze voraus, dass du bereits den Allgemeine Setup-Anleitung.
Google Login unter iOS nutzen
Abschnitt „Using Google login on iOS“ gelesen hastIn diesem Abschnitt lernst du, wie du Google Login unter iOS einrichtest.
-
Erstelle eine iOS Client ID in der Google Console
-
Klicke in die Suchleiste
-
Suche nach
credentialsund klicke aufAPIs and Serviceseins (Nummer 2 im Screenshot)
-
Klicke auf die
create credentials
-
Wähle
OAuth client ID
-
Wähle die
Application typezuiOS
-
Bundle ID finden
-
Xcode öffnen
-
Doppelklicke auf
App
-
Stelle sicher, dass du dich im
Targets -> App
-
Finde dein
Bundle Identifier
-
Zurück zur Google Console gehen und deine
Bundle IdentifierinBundle ID
-
-
Optional füge deine
App Store IDoderTeam IDin die Client-ID ein, falls du deine App im App Store veröffentlicht hast -
Nachdem du alle Details ausgefüllt hast, klicke auf
create
-
Klicken
OK
-
Öffne den neu erstellten iOS-Client
-
Kopiere die folgenden Daten
-
-
Info.plist deiner App anpassen
-
Öffne Xcode und suche die
Info.plistDatei
-
Rechtsklick auf diese Datei und als code öffnen
-
Ganz unten in deinem
PlistDatei siehst du ein</dict>Tag
-
Füge das folgende Fragment direkt vor dem schließenden
</dict>Tag
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Ändere den
YOUR_DOT_REVERSED_IOS_CLIENT_IDauf den im vorherigen Schritt kopierten Wert
-
Speichere die Datei mit
Command + S
-
-
Ändere die
AppDelegate.swift-
Öffne die AppDelegate
-
Einfügen
import GoogleSignInam Anfang der Datei
-
Suche nach
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])Funktion
-
Ändere die Funktion wie folgt
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)}
-
Speichere die Datei mit
Command + S
-
-
Google Login in deinem JavaScript/TypeScript code einrichten
-
Importieren
SocialLoginundCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Rufe die initialize-Methode auf (nur einmal aufrufen)
Basis-Setup (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}})})Erweitertes Setup 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'}})}) -
Implementiere die Login-Funktion. Erstelle einen Button und führe beim Klick folgenden code aus
Für den Online-Modus:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Für den 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)
-
-
Teste deine App
-
App bauen und ausführen
cap sync -
Wenn alles korrekt eingerichtet ist, sollte der Google Login-Flow einwandfrei funktionieren
-
Bekannte Probleme
Abschnitt mit dem Titel „Bekannte Probleme“Inkompatibilität mit dem Privacy Screen Plugin
Abschnitt „Inkompatibilität mit dem Privacy Screen Plugin“Das Google Login Plugin ist nicht kompatibel mit @capacitor/privacy-screen. Wenn beide Plugins gleichzeitig genutzt werden, wird die Google-Login-Webview durch den Privacy Screen unterbrochen.
Workaround: Rufe await PrivacyScreen.disable(); vor dem Aufruf 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: {}});Google Login unter iOS fortsetzen
Abschnitt mit dem Titel „Keep going from Google Login on iOS“Wenn du es nutzt Google Login unter iOS Um Authentifizierungs- und Account-Flows zu planen, verbinde es mit @capgo/capacitor-social-login verwenden für die native Funktion bei der Verwendung von @capgo/capacitor-social-login, @capgo/capacitor-social-login für die Implementierungsdetails in @capgo/capacitor-social-login, @capgo/capacitor-passkey für die Implementierungsdetails in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric für die Implementierungsdetails in @capgo/capacitor-native-biometric, und Zwei-Faktor-Authentifizierung für die Implementierungsdetails zur Zwei-Faktor-Authentifizierung.