Iniciar sesión con Google en iOS
Copie una solicitud de configuración con los pasos de instalación y la guía de markdown completa para este complemento.
Introducción
Sección titulada “Introducción”En esta guía, aprenderá a configurar el inicio de sesión de Google con Capgo Inicio de sesión social para iOS. Supongo que ya ha leído la Configuración general.
Usando inicio de sesión de Google en iOS
Sección titulada “Usando inicio de sesión de Google en iOS”En esta parte, aprenderá a configurar el inicio de sesión de Google en iOS.
-
Crear un ID de cliente de iOS en la consola de Google
-
Haga clic en la barra de búsqueda
-
Buscar
credentialsy hacer clic en elAPIs and Servicesuno (número 2 en la captura de pantalla)
-
Hacer clic en el
create credentials
-
Seleccionar
OAuth client ID
-
Seleccionar el
Application typeparaiOS
-
Encuentra el ID del paquete
-
Abrir Xcode
-
Haz clic dos veces en
App
-
Asegúrate de que estás en
Targets -> App
-
Encuentra tu
Bundle Identifier
-
Vuelve a la consola de Google y pega tu
Bundle IdentifierenBundle ID
-
-
Opcionalmente, agrega tu
App Store IDoTeam IDen el ID del cliente si has publicado tu aplicación en App Store -
Después de rellenar todos los detalles, haz clic
create
-
Haz clic
OK
-
Abre el cliente iOS recién creado
-
Copia los siguientes datos
-
-
Modifica el archivo Info.plist de tu aplicación
-
Abra Xcode y encuentre el
Info.plistarchivo
-
Haga clic derecho en este archivo y abra como fuente code
-
En la parte inferior de su
Plistarchivo, verás un</dict>tag
-
Inserte el siguiente fragmento justo antes de la etiqueta de cierre.
</dict>etiqueta
<key>CFBundleURLTypes</key><array><dict><key>CFBundleURLSchemes</key><array><string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string></array></dict></array> -
Cambie el
YOUR_DOT_REVERSED_IOS_CLIENT_IDhasta el valor copiado en el paso anterior
-
Guarde el archivo con
Command + S
-
-
Modifique el
AppDelegate.swift-
Abra el AppDelegate
-
Inserte
import GoogleSignInen la parte superior del archivo
-
Encuentre el
func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:])función
-
Modificar la función para que se vea así
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)}
-
Guardar el archivo con
Command + S
-
-
Configuración de inicio de sesión de Google en tu JavaScript/TypeScript code
-
Importar
SocialLoginyCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Llamar al método de inicialización (debe llamarse solo una vez)
Configuración básica (modo en línea - recomendado para la mayoría de las aplicaciones):
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})Configuración avanzada con IDs de cliente adicionales:
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'}})}) -
Implemente la función de inicio de sesión. Cree un botón y ejecute el siguiente code al hacer clic
Para el modo en línea:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Para el 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)
-
-
Pruebe su aplicación
-
Construya su aplicación y ejecute
cap sync -
Si ha hecho todo correctamente, debería ver el flujo de inicio de sesión de Google funcionando correctamente
-
Problemas conocidos
Sección titulada “Problemas conocidos”Incompatibilidad del plugin de pantalla de privacidad
Sección titulada “Incompatibilidad del plugin de pantalla de privacidad”El plugin de inicio de sesión de Google es incompatible con @capacitor/privacy-screenAl utilizar ambos plugins juntos, el navegador de inicio de sesión de Google se interrumpirá por la pantalla de privacidad.
Solución alternativa: Llamar await PrivacyScreen.disable(); antes de llamar a la función de inicio de sesión:
import { PrivacyScreen } from '@capacitor/privacy-screen';import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();await SocialLogin.login({ provider: 'google', options: {}});