Login di 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 configurazione di base.
Utilizzo dell'accesso Google su iOS
Sezione intitolata “Utilizzo dell'accesso Google su iOS”In questa parte, imparerai a configurare l'accesso Google in iOS.
-
Crea un ID client iOS nel console di Google
-
Clicca sulla barra di ricerca
-
Cerca
credentialse clicca sulAPIs and Servicesuno (numero 2 nella schermata)
-
Clicca sul
create credentials
-
Seleziona
OAuth client ID
-
Seleziona il
Application typeperiOS
-
Trova l'ID del bundle
-
Apri Xcode
-
Clicca due volte su
App
-
Assicurati di essere su
Targets -> App
-
Trova il tuo
Bundle Identifier
-
Torna indietro al Console di Google e incolla il tuo
Bundle IdentifiernelBundle ID
-
-
Facoltativamente, aggiungi il tuo
App Store IDoTeam IDnel codice cliente se hai pubblicato il tuo app su App Store -
Dopo aver riempito tutti i dettagli, clicca
create
-
Clicca
OK
-
Apre la nuova client iOS appena creata
-
Copia i seguenti dati
-
-
Modifica il file Info.plist della tua app
-
Apri Xcode e trova il file
Info.plistfile Info.plist nel navigatore dei progetti di Xcode
-
Menu a discesa con l'opzione Apri come fonte code con il tasto destro del mouse
-
In fondo al tuo
Plistfile, vedrai un</dict>tag
-
Inserisci il seguente frammento prima della 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_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 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 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 dovrebbe essere chiamato solo una volta)
Configurazione 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}})})Impostazione 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 modo online:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Per il modo 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 che funziona correttamente
-
Problemi Noti
Sezione intitolata “Problemi Noti”Incompatibilità del Plugin di Schermo di Privacy
Sezione intitolata “Incompatibilità del Plugin di Schermo di Privacy”Il plugin di accesso Google è incompatibile con capacitor/privacy-screenQuando si utilizzano entrambi i plugin insieme, il webview di accesso Google verrà interrotto dallo schermo di privacy.
Soluzione alternativa: Chiamata 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: {}});