Saltar al contenido

Inicio de sesión de Google en iOS

GitHub

En esta guía, aprenderá a configurar el inicio de sesión de Google con Capgo Social Login para iOS. guía de configuración general.

Iniciar sesión con Google en iOS

Usando inicio de sesión de Google en iOS

En esta parte, aprenderá a configurar el inicio de sesión de Google en iOS.

  1. Crear un ID de cliente de iOS en la consola de Google

    1. Haga clic en la barra de búsqueda

      Barrador de búsqueda de Google Console
    2. Buscar credentials y haz clic en el APIs and Services uno (número 2 en la captura de pantalla)

      Resultados de búsqueda mostrando opción de credenciales con APIs y Servicios destacados
    3. Haz clic en el create credentials

      botón de creación de credenciales en Google Console
    4. Selecciona OAuth client ID

      ID de cliente OAuth en el menú de creación de credenciales
    5. Selecciona el Application type para iOS

      Selección del tipo de aplicación con opción de iOS destacada
    6. Encuentre el ID de la aplicación

      1. Abra Xcode

      2. Haga doble clic en App

        App target in Xcode project navigator
      3. Asegúrate de que estás en Targets -> App

        Sección de objetivos en Xcode con App seleccionada
      4. Encuentre su Bundle Identifier

        Campo de Identificador de Paquete en ajustes de proyecto Xcode
      5. Vuelva a la consola de Google y pegue su Bundle Identifier en Bundle ID

        Campo de ID de paquete en la forma de creación de cliente de Google Console iOS
    7. Opcionalmente, agregue su App Store ID o Team ID ingresa el ID del cliente si has publicado tu aplicación en App Store

    8. Después de llenar todos los detalles, haz clic create

      Después de llenar todos los detalles, haga clic en
    9. Click OK

      Botón de aceptación en diálogo de confirmación de ID de cliente creado
    10. Abra el cliente iOS recién creado

      Cliente iOS recién creado en la lista de credenciales
    11. Copie los siguientes datos

      Detalles del ID del cliente mostrando ID del cliente y ID del cliente invertido para copiar
  2. Modifica el archivo Info.plist de tu aplicación

    1. Abre Xcode y encuentra el Info.plist archivo

      archivo Info.plist en el navegador de proyectos de Xcode
    2. Haz clic derecho en este archivo y abre como fuente code

      Menú de clic derecho mostrando la opción Abrir como fuente Code
    3. En la parte inferior de tu Plist archivo, verás una </dict> etiqueta

      Closing dict tag in Info.plist file
    4. Inserta el siguiente fragmento justo antes de la etiqueta de cierre </dict> etiqueta

      Info.plist con esquemas de URL code insertados antes de cerrar la etiqueta de diccionario
      <key>CFBundleURLTypes</key>
      <array>
      <dict>
      <key>CFBundleURLSchemes</key>
      <array>
      <string>YOUR_DOT_REVERSED_IOS_CLIENT_ID</string>
      </array>
      </dict>
      </array>
    5. Cambiar el YOUR_DOT_REVERSED_IOS_CLIENT_ID a el valor copiado en el paso anterior

      Info.plist con el ID de cliente real insertado en los esquemas de URL
    6. Guardar el archivo con Command + S

  3. Modifique el AppDelegate.swift

    1. Abra el archivo AppDelegate

      Archivo AppDelegate.swift en el navegador de proyectos de Xcode
    2. Inserte import GoogleSignIn en la parte superior del archivo

      Archivo AppDelegate.swift con el import de GoogleSignIn agregado
    3. Encuentre la func application(_ app: UIApplication, open url: URL, options: [UIApplication.OpenURLOptionsKey: Any] = [:]) función

      Función original openURL en AppDelegate
    4. Modifique 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 call
      var handled: Bool
      handled = GIDSignIn.sharedInstance.handle(url)
      if handled {
      return true
      }
      return ApplicationDelegateProxy.shared.application(app, open: url, options: options)
      }
      Función de apertura de aplicación modificada con manejo de GoogleSignIn
    5. Guardar el archivo con Command + S

  4. Configura el inicio de sesión de Google en tu JavaScript/TypeScript code

    1. Importar SocialLogin y Capacitor

      import { SocialLogin } from '@capgo/capacitor-social-login';
      import { Capacitor } from '@capacitor/core';
    2. Llamar al método de inicialización (debe llamarse solo una vez)

      Basic setup (online mode - recommended for most apps):

      // onMounted is Vue specific
      onMounted(() => {
      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 support
      iOSClientId: 'YOUR_IOS_CLIENT_ID', // Required: from step 1
      iOSServerClientId: 'YOUR_WEB_CLIENT_ID', // Optional: same as webClientId, needed for some advanced features
      mode: 'online' // 'online' or 'offline'
      }
      })
      })
    3. Implemente la función de inicio de sesión. Crea un botón y ejecute el siguiente code al hacer clic

      Para modo en línea:

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response - contains user data
      console.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 mode
      console.log('Server auth code:', res.result.serverAuthCode)
  5. __CAPGO_KEEP_0__

    1. Construye tu aplicación y ejecútala cap sync

    2. Si has realizado todo correctamente, deberías ver el flujo de inicio de sesión de Google funcionando correctamente.

      __CAPGO_KEEP_0__ si has hecho todo correctamente, deberías ver el flujo de inicio de sesión de Google funcionando correctamente

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/pantalla-de-privacidad. Al utilizar ambos plugins juntos, el navegador de inicio de sesión de Google se interrumpirá por la pantalla de privacidad.

Workaround: 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: {}
});

Sigue adelante desde Google Login en iOS

Sigue adelante desde Google Login en iOS

Si estás utilizando Iniciar sesión con Google en iOS para planificar la autenticación y los flujos de cuenta, conecte con Usando @capgo/capacitor-login-social para la capacidad nativa en Usando @capgo/capacitor-login-social @capgo/capacitor-login-social para el detalle de implementación en @capgo/capacitor-login-social @capgo/capacitor-clave-de-pasaje para el detalle de implementación en @capgo/capacitor-clave-de-pasaje @capgo/capacitor-biometría-nativa para el detalle de implementación en @capgo/capacitor-biometría-nativa, y Autenticación de dos factores Para la implementación detallada en la autenticación de dos factores.