Google Login su iOS
Copia un prompt di configurazione con i passaggi di installazione e la guida markdown completa per questo plugin.
Introduzione
Sezione intitolata “Introduzione”In questa guida imparerai a configurare Google Login con Capgo Social Login per iOS. Presumo che tu abbia già letto la guida alla configurazione generale.
Usare Google Login su iOS
Sezione intitolata “Usare Google Login su iOS”In questa sezione imparerai a configurare il login con Google su iOS.
-
Crea un client ID iOS nella console di Google
-
Clicca sulla barra di ricerca
-
Cerca
credentialsand click on theAPIs and Servicesquello (numero 2 nello screenshot)
-
Clicca sul
create credentials
-
Seleziona
OAuth client ID
-
Seleziona la
Application typeaiOS
-
Trova il bundle ID
-
Apri Xcode
-
Fai doppio clic su
App
-
Assicurati di essere nella
Targets -> App
-
Trova il tuo
Bundle Identifier
-
Torna sulla Google Console e incolla il tuo
Bundle Identifierall'internoBundle ID
-
-
Opzionalmente, aggiungi il tuo
App Store IDoTeam IDnel client ID se hai pubblicato l'app su App Store -
Dopo aver inserito tutti i dettagli, clicca sul
create
-
Clicca su
OK
-
Apri il nuovo client iOS creato
-
Copia i seguenti dati
-
-
Modifica l'Info.plist della tua app
-
Apri Xcode e trova il
Info.plistfile
-
Clicca col tasto destro su questo file e aprilo come sorgente code
-
In fondo al tuo
Plistfile, vedrai un</dict>tag
-
Inserisci il seguente frammento subito prima del tag di chiusura
</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_IDal valore copiato nel passaggio precedente
-
Salva il file con
Command + S
-
-
Modifica il
AppDelegate.swift-
Apri l'AppDelegate
-
Inserisci
import GoogleSignInall'inizio del file
-
Trova il
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])funzione
-
Modifica la funzione in questo modo
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 il login con Google nel tuo code JavaScript/TypeScript
-
Importa
SocialLogineCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Chiama il metodo initialize (va chiamato una sola volta)
Basic setup (online mode - recommended for most apps):
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})Configurazione avanzata con client ID 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 login. Crea un pulsante ed esegui il seguente code al click
Per la modalità online:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Per la 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
-
Builda e avvia l'app
cap sync -
Se hai fatto tutto correttamente, dovresti vedere il flusso di login di Google funzionare correttamente
-
Problemi noti
Sezione intitolata “Problemi noti”Incompatibilità con il plugin Privacy Screen
Sezione intitolata “Incompatibilità con il plugin Privacy Screen”Il plugin Google Login è incompatibile con @capacitor/privacy-screen. Se utilizzi entrambi i plugin insieme, la webview del login di Google verrà interrotta dalla privacy screen.
Workaround: Chiama await PrivacyScreen.disable(); prima di chiamare la funzione di login:
import { PrivacyScreen } from '@capacitor/privacy-screen';import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();await SocialLogin.login({ provider: 'google', options: {}});Continuare con il Google Login su iOS
Sezione intitolata “Continuare con il Google Login su iOS”Se stai usando Google Login su iOS per pianificare i flussi di autenticazione e account, collegandolo a Utilizzo di @capgo/capacitor-social-login per la funzionalità nativa in Utilizzo di @capgo/capacitor-social-login, @capgo/capacitor-social-login per i dettagli di implementazione in @capgo/capacitor-social-login, @capgo/capacitor-passkey per i dettagli di implementazione in @capgo/capacitor-passkey, @capgo/capacitor-native-biometric per i dettagli di implementazione in @capgo/capacitor-native-biometric, e Autenticazione a due fattori per i dettagli sull'implementazione dell'autenticazione a due fattori.