Saltar al contenido

Inicio de sesión de Google en Android

En esta guía, aprenderá a configurar el inicio de sesión de Google con Capgo Inicio de sesión social para Android. Supongo que ya ha leído la guía de configuración general.

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

  1. Crear un identificador de cliente Android

    1. Haga clic en la barra de búsqueda

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

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

      botón de crear credenciales en Google Console
    4. Seleccione OAuth client ID

      Opción de ID de cliente OAuth en menú de creación de credenciales
    5. Seleccione el tipo de aplicación Android Selección del tipo de aplicación con opción de Android destacada

      Abrir Android Studio
    6. En la parte inferior del navegador, encuentre la sección de

    7. Scripts de Gradle en el navegador de proyectos de Android Studio Gradle Scripts

      Encuentre
    8. para el archivo build.gradle build.gradle (Módulo: app) en la sección de Scripts de Gradle app

      Copiar el
    9. __CAPGO_KEEP_0__ android.defaultConfig.applicationId. Esto será tu package name en el panel de Google

      Archivo Build.gradle mostrando la configuración de applicationId
    10. Ahora, abre la terminal. Asegúrate de que estás en el android carpeta de tu aplicación y ejecuta ./gradlew signInReport

    Terminal mostrando comando gradlew signInReport
    1. Desplázate hacia arriba de este comando. Deberías ver lo siguiente. Copia el SHA1.
    Salida del terminal mostrando huella de certificado SHA1
    1. Ahora, vuelve a la Consola de Google. Introduce tu applicationId como el Package Name y tu SHA1 en el campo de certificado y haz clic create
    Formulario de creación de cliente Android con campos de nombre de paquete y SHA1 rellenados
  2. Crear un cliente web (esto es necesario para Android)

    1. Ir a la Create credentials página en Google Console

    2. Establecer el tipo de aplicación a Web

      Selección del tipo de aplicación con opción Web destacada
    3. Hacer clic Create

      Formulario de creación de cliente web con botón Crear en la parte inferior
    4. Copiar el ID del cliente, lo utilizarás como el webClientId en tu JS/TS code

      Detalles del ID del cliente mostrando ID del cliente web para copiar
  3. Modificar tu MainActivity

    1. Por favor, abre tu aplicación en Android Studio. Puedes ejecutar cap open android

    2. Encuentra MainActivity.java

      1. Abre el app carpeta

        la carpeta de la aplicación en el navegador de proyectos de Android Studio
      2. Encuentra java

        la carpeta Java en la estructura de proyecto de Android Studio
      3. Encuentra tu MainActivity.java y haz clic en ella

        archivo MainActivity.java en la estructura de paquetes
    3. Modifica MainActivity.java. Por favor, agrega el siguiente code

      import ee.forgr.capacitor.social.login.GoogleProvider;
      import ee.forgr.capacitor.social.login.SocialLoginPlugin;
      import ee.forgr.capacitor.social.login.ModifiedMainActivityForSocialLoginPlugin;
      import com.getcapacitor.PluginHandle;
      import com.getcapacitor.Plugin;
      import android.content.Intent;
      import android.util.Log;
      import com.getcapacitor.BridgeActivity;
      // ModifiedMainActivityForSocialLoginPlugin is VERY VERY important !!!!!!
      public class MainActivity extends BridgeActivity implements ModifiedMainActivityForSocialLoginPlugin {
      @Override
      public void onActivityResult(int requestCode, int resultCode, Intent data) {
      super.onActivityResult(requestCode, resultCode, data);
      if (requestCode >= GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MIN && requestCode < GoogleProvider.REQUEST_AUTHORIZE_GOOGLE_MAX) {
      PluginHandle pluginHandle = getBridge().getPlugin("SocialLogin");
      if (pluginHandle == null) {
      Log.i("Google Activity Result", "SocialLogin login handle is null");
      return;
      }
      Plugin plugin = pluginHandle.getInstance();
      if (!(plugin instanceof SocialLoginPlugin)) {
      Log.i("Google Activity Result", "SocialLogin plugin instance is not SocialLoginPlugin");
      return;
      }
      ((SocialLoginPlugin) plugin).handleGoogleLoginIntent(requestCode, data);
      }
      }
      // This function will never be called, leave it empty
      @Override
      public void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}
      }
    4. Guardar el archivo

  4. Utilice Google Login en su aplicación

    1. Primero, importe SocialLogin

      import { SocialLogin } from '@capgo/capacitor-social-login';
    2. Llame a initialize. Esto debe llamarse solo una vez.

      // onMounted is Vue specific
      // webClientId is the client ID you got in the web client creation step not the android client ID.
      onMounted(() => {
      SocialLogin.initialize({
      google: {
      webClientId: '673324426943-avl4v9ubdas7a0u7igf7in03pdj1dkmg.apps.googleusercontent.com',
      }
      })
      })
    3. Llamar SocialLogin.loginCree un botón y ejecute el siguiente code al hacer clic.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response
      console.log(JSON.stringify(res))
  5. Configura el emulador para pruebas

    1. Inicia sesión Device manager y haz clic en el botón de más

      Administrador de dispositivos en Android Studio con el botón de más destacado
    2. Crear un dispositivo virtual

      botón Crear Dispositivo Virtual en Configuración de Dispositivo Virtual
    3. Selecciona cualquier dispositivo con un Play Store ícono

      Selección de hardware mostrando dispositivos con soporte de Tienda de aplicaciones

      Como puedes ver, el pixel 8 admite el Play Store servicios

    4. Hacer clic next

      Botón Next en el asistente de creación de dispositivo
    5. Asegúrate de que la imagen del sistema operativo sea del tipo Google Play. DEBE SER DE TIPO Selección de imagen del sistema mostrando imágenes de tipo Google Play Google Play

      Hacer clic en siguiente
    6. Botón Next en la pantalla de selección de imagen del sistema

      Asegúrate de que la imagen del sistema operativo sea de tipo __CAPGO_KEEP_0__
    7. Confirme su dispositivo. Puede nombrar su emulador como prefiera

      Pantalla de verificación de configuración de dispositivo con botón de Finalizar
    8. Ingresar a Device Manager y arrancar su simulador

      Administrador de dispositivos con dispositivo virtual listado y botón de Reproducir
    9. Después de que arranque el simulador, ingrese a sus ajustes

      Emulador de Android mostrando aplicación de ajustes
    10. Ingresar a Google Play

    Pantalla de ajustes con opción de Google Play
    1. Hacer clic Update y esperar unos 60 segundos
    Pantalla de actualización de Google Play con botón de Actualizar
  6. Prueba tu aplicación

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

    Demostración del flujo de inicio de sesión de Google en Android mostrando el proceso de inicio de sesión y la autenticación exitosa

Si tienes algún problema, por favor mira el Github problemas.

Los problemas con el inicio de sesión de Google son SIEMPRE relacionados con el certificado SHA1.

Si no puedes obtener el certificado SHA1 de desarrollo, intenta usar un keystore personalizado. Aquí es una explicación de cómo agregar keystore a tu proyecto.