Inicio de sesión de Google en iOS
Copia una promesa 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ás a configurar el inicio de sesión de Google con Capgo Social Login para iOS. Supongo que ya has leído la guía de configuración general. Configuración general.
Usando el inicio de sesión de Google en iOS
Sección titulada “Usando el inicio de sesión de Google en iOS”En esta parte, aprenderás 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 y hacer clic en
credentialsy hacer clic en elAPIs and Servicesuno (número 2 en la captura de pantalla)
-
Haga clic en el
create credentials
-
Seleccione
OAuth client ID
-
Seleccione el
Application typeToiOS
-
Encuentre el ID de la caja
-
Abra Xcode
-
Doble clic en el
App
-
Asegúrate de estar 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 cliente ID si has publicado tu aplicación en App Store -
Haz clic en
create
-
Haz clic
OK
-
Abre el cliente iOS recién creado
-
Copia los siguientes datos
-
-
Modifica el archivo Info.plist de tu aplicación
-
Abre Xcode y encuentra el
Info.plistarchivo
-
Haz clic derecho en este archivo y abre como fuente code
-
En la parte inferior de tu
Plistarchivo, verás una</dict>etiqueta
-
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_IDa el valor copiado en el paso anterior
-
Guardar el archivo con
Command + S
-
-
Modificar el
AppDelegate.swift-
Abrir el archivo AppDelegate
-
Insertar
import GoogleSignInen la parte superior del archivo
-
Encuentre la
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
-
-
Configurar el inicio de sesión de Google en su JavaScript/TypeScript code
-
Importar
SocialLoginyCapacitorimport { SocialLogin } from '@capgo/capacitor-social-login';import { Capacitor } from '@capacitor/core'; -
Copiar a portapapeles
Llamar al método de inicialización (debe llamarse solo una vez)
// onMounted is Vue specificonMounted(() => {SocialLogin.initialize({google: {iOSClientId: '673324426943-redacted.apps.googleusercontent.com',mode: 'online' // Default mode}})})Copiar a portapapeles
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. Crea un botón y ejecuta el siguiente code al hacer clic
Para modo en línea:
const res = await SocialLogin.login({provider: 'google',options: {}})// handle the response - contains user dataconsole.log(JSON.stringify(res))Para modo sin conexión:
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-screen. Cuando se utilizan 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(); contexto: texto fragmento de HTML de una cadena de Capgo UI más larga (clave de página `appflow_migration_step2`). Página/área: Marketing comparativo de Appflow / migración. Rol: Copia de sitio web. Visto en: página ionic-appflow.astro. Preservar términos de producto/marca y términos de desarrollador exactamente. Clave de mensaje `appflow_migration_step2` (Appflow Migration Step2).
import { PrivacyScreen } from '@capacitor/privacy-screen';import { SocialLogin } from '@capgo/capacitor-social-login';
await PrivacyScreen.disable();await SocialLogin.login({ provider: 'google', options: {}});Copiar a portapapeles (copiar a portapapeles no está disponible en este contexto, pero puedes copiar el texto manualmente y pegarlo en el portapapeles). Por favor, continúa desde el inicio de sesión de Google en iOS
Sección titulada “Continúa desde Google Login en iOS”Si estás utilizando Google Login en iOS para planificar la autenticación y los flujos de cuenta, conecta con Usando @capgo/capacitor-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login @capgo/capacitor-social-login para el detalle de implementación en @capgo/capacitor-social-login @capgo/capacitor-passkey para el detalle de implementación en @capgo/capacitor-passkey @capgo/capacitor-native-biometric para el detalle de implementación en @capgo/capacitor-native-biometric Autenticación en dos factores para el detalle de implementación en Autenticación en dos factores.