Login con Google 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 questo guide, imparerai a configurare l'accesso Google con Capgo Social Login per iOS. Assumo che tu abbia già letto la guida di configurazione generale. Configurazione generale.
Utilizzare l'accesso Google su iOS
Sezione intitolata “Utilizzare l'accesso Google su iOS”In questa parte, imparerai a configurare l'accesso Google su iOS.
-
Creare un ID di client iOS nel console di Google
-
Clicca sulla barra di ricerca
-
Cerca
credentialse clicca sulAPIs and Servicesuno (numero 2 nell'immagine)
-
Clicca sul
create credentials
-
Seleziona
OAuth client ID
-
Seleziona il
Application typeperiOS
-
Trova l'ID del bundle
-
Apre Xcode
-
Clicca due volte su
App
-
Assicurati di essere nella sezione
Targets -> App
-
Cerca il tuo
Bundle Identifier
-
Torna indietro al Console di Google e incolla il tuo
Bundle IdentifiernelBundle ID
-
-
Aggiungi optionalmente il tuo
App Store IDoTeam IDinserisci il codice cliente se hai pubblicato l'app sullo Store App -
Dopo aver riempito tutti i dettagli, clicca
create
-
Clicca
OK
-
Apre il nuovo client iOS creato
-
Copia i seguenti dati
-
-
Modifica il tuo file Info.plist
-
Apre Xcode e trova il
Info.plistfile
-
Clicca con il tasto destro su questo file e aprilo come fonte code
-
Al fondo della tua
Plistil file, vedrai una tag</dict>tag
-
Chiudere il tag di dizionario in Info.plist file
</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 passo precedente
-
Salva il file con
Command + S
-
-
Modifica il
AppDelegate.swift-
Apri il file AppDelegate
-
Inserisci
import GoogleSignInalla fine del file
-
Trova il
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])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 il login di 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)
Impostazione base (modalità online - consigliata per la maggior parte degli 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 il 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
-
Costruisci l'app e eseguila
cap sync -
Se hai fatto tutto correttamente, dovresti vedere il flusso di accesso Google funzionare correttamente
-
Problemi Noti
Sottosezione intitolata “Problemi Noti”Incompatibilità dello Schermo di Privacy del Plugin
Sezione intitolata “Incompatibilità dello schermo di privacy del plugin”Il plugin di accesso Google è incompatibile con @capacitor/schermata-di-privacyQuando si utilizzano entrambi i plugin insieme, il webview di Google login verrà interrotto dalla schermata di privacy.
Workaround: Chiama 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 da Google Login su iOS
Sottosezione intitolata “Continua da Google Login su iOS”Se stai utilizzando Google Login su iOS per pianificare l'autenticazione e le flussi di account, connettilo con Utilizzando @capgo/capacitor-login sociale per la capacità nativa in Utilizzando @capgo/capacitor-login sociale @capgo/capacitor-login sociale per il dettaglio di implementazione in @capgo/capacitor-login sociale @capgo/capacitor-chiave di accesso per i dettagli di implementazione in @capgo/capacitor-passkey @capgo/capacitor-nativo-biometrico per i dettagli di implementazione in @capgo/capacitor-native-biometric, e Autenticazione a due fattori per i dettagli di implementazione in Autenticazione a due fattori.