Google Login su iOS
Copia un prompt di installazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Introduzione
Sezione intitolata “Introduzione”In questo tutorial, imparerai a configurare il login con Google con Capgo Social Login per iOS. Sono convinto che tu abbia già letto la guida di configurazione generale Configurazione generale.
Utilizzo del login Google su iOS
Sezione intitolata “Utilizzo del login Google su iOS”In questo capitolo, imparerai a configurare il login Google su iOS
-
Crea un ID client iOS nel console di Google
-
Clicca sulla barra di ricerca
-
Cerca e clicca sul
credentialsuno (numero 2 nella schermata)APIs and Servicesscreenshot
-
Cliccare sul
create credentials
-
Seleziona
OAuth client ID
-
Seleziona il
Application typeApplicazioneiOS
-
Trova l'ID del bundle
-
Apri Xcode
-
Doppio clic su
App
-
Eccellenza che si assicura di essere su
Targets -> App
-
Cerca il tuo
Bundle Identifier
-
Torna indietro al Console di Google e incolla il tuo
Bundle IdentifiernelBundle ID
-
-
Facoltativamente, aggiungi il tuo
App Store IDoTeam IDSe hai pubblicato l'app sullo Store, incolla il tuo -
nel campo ID del client se hai pubblicato l'app sullo Store
create
-
Clicca
OK
-
Apri il nuovo client iOS creato
-
Copia i seguenti dati
-
-
Modifica il file Info.plist della tua app
-
Apri Xcode e trova il file
Info.plistfile
-
Fai clic destro su questo file e apriolo come fonte code
-
In fondo al tuo
Plistfile, vedrai una</dict>tag
-
Inserisci il seguente frammento prima della chiusura della
</dict>tag
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Cambia il
YOUR_DOT_REVERSED_IOS_CLIENT_IDin il valore copiato nel passaggio precedente
-
Salva il file con
Command + S
-
-
Modifica il
AppDelegate.swift-
Apri il file AppDelegate
-
Inserisci
import GoogleSignInAll'inizio del file
-
Trova la
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])La funzione
-
Modifica la funzione per farla assomigliare a questa
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)}
-
Salva il file con
Command + S
-
-
Configura l'accesso Google nel tuo JavaScript/TypeScript code
-
Importa
SocialLogineCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Chiamare il metodo di inizializzazione (questo deve essere chiamato solo una volta)
Configurazione base (modalità online - consigliata per le maggior parte delle app):
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})Configurazione avanzata con ID client aggiuntivi:
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'}})}) -
Implementa la funzione di accesso. Crea un pulsante e esegui il seguente code al click
Per modalità online:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Per modalità offline:
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)
-
-
Testa la tua applicazione
-
Costruisci l'app e eseguila
cap sync -
Se hai fatto tutto correttamente, dovresti vedere il flusso di accesso Google funzionare correttamente
-
Problemi Noti
Problemi notiIncompatibilità dello Schermo di Privacy del Plugin
Sezione intitolata “Incompatibilità dello schermo di privacy del plugin”Il plugin di accesso Google non è compatibile con @capacitor/schermo-di-privacyQuando si utilizzano entrambi i plugin insieme, il webview di Google login verrà interrotto dalla schermata di privacy.
Soluzione di emergenza: Chiamare await PrivacyScreen.disable(); prima di chiamare la funzione di accesso:
import { PrivacyScreen } from '@capacitor/privacy-screen';import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();await SocialLogin.login({ provider: 'google', options: {}});Continua dall'accesso con Google su iOS
Sezione intitolata “Continua con Google Login su iOS”Se stai utilizzando Google Login su iOS per pianificare l'autenticazione e le flussi di account, connettilo con Utilizza @capgo/capacitor-login-social per la capacità nativa in Utilizza @capgo/capacitor-login-social @capgo/capacitor-login-social per il dettaglio di implementazione in @capgo/capacitor-login-social @capgo/capacitor-passkey per il dettaglio di implementazione in @capgo/capacitor-passkey @capgo/capacitor-biometrica-nativa per il dettaglio di implementazione in @capgo/capacitor-biometrica-nativa, e Autenticazione a due fattori per la dettagliata implementazione in Autenticazione a due fattori.