Saltar a contenido

Google Login en Android

GitHub

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

Usando el inicio de sesión de Google en Android

Sección titulada “Usando el inicio de sesión de Google en Android”

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 One (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 credenciales de crear 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 Android Tipo de aplicación

      Selección del tipo de aplicación con opción de Android destacada
    6. Abra Android Studio

    7. En la parte inferior del navegador, encuentre la Gradle Scripts

      Sección de scripts Gradle en el navegador de proyecto de Android Studio
    8. Encuentra build.gradle para el módulo app

      archivo build.gradle (Módulo: app) en la sección de scripts de Gradle
    9. Copia el android.defaultConfig.applicationIdEsto será tu package name en el panel de control 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 la parte superior de este comando. Deberías ver lo siguiente. Copia el SHA1.
    Salida del terminal mostrando huella de certificado SHA1
    1. Now, go back to the Google Console. Introduzca su applicationId como el Package Name y su SHA1 en el campo del certificado y haga 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. Vaya a la Create credentials página en Google Console

    2. Establezca el tipo de aplicación en Web

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

      Formulario de creación de cliente web con botón Crear en la parte inferior
    4. Copie el ID del cliente, lo utilizará 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. Abrir el app carpeta

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

        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 paquete
    3. Modificar MainActivity.java. Por favor, agregue 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 el inicio de sesión de Google 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. Llame a SocialLogin.login. Crea un botón y ejecuta el siguiente code al hacer clic.

      const res = await SocialLogin.login({
      provider: 'google',
      options: {}
      })
      // handle the response
      console.log(JSON.stringify(res))
  5. Ir a

    1. y haz clic en el botón de más Device manager Administrador de dispositivos en Android Studio con el botón de más destacado

      __CAPGO_KEEP_0__
    2. Crear un dispositivo virtual

      Botón de dispositivo virtual en la configuración de dispositivo virtual
    3. Selecciona cualquier dispositivo con un Play Store icono

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

      Como puedes ver, el pixel 8 soporta los Play Store servicios

    4. Hacer clic next

      Botón siguiente en el asistente de creación de dispositivo
    5. Asegúrate de que la imagen del sistema sea del tipo Google Play. DEBE SER ser del tipo Google Play

      Selección de imagen del sistema que muestra imágenes de tipo Google Play
    6. Haga clic en siguiente

      Botón siguiente en pantalla de selección de imagen del sistema
    7. Pantalla de verificación de configuración de dispositivo. Puede nombrar su emulador como prefiera

      Pantalla de verificación de configuración de dispositivo con botón de finalización
    8. Ir 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, vaya a sus ajustes

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

    Pantalla de ajustes con opción de Google Play
    1. Haga clic Update y espere unos 60 segundos
    Pantalla de actualización de Google Play con botón de Actualizar
  6. Pruebe su aplicación

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

    Demonstració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 tiene algún problema, por favor revise los Github problemas.

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

Si no puede obtener el certificado de desarrollo SHA1, intente usar un keystore personalizado. Aquí Aquí hay un comentario que explica cómo agregar un keystore a su proyecto.

Sigue adelante desde Google Login en Android

Si está utilizando

Google Login en Android para planificar la autenticación y los flujos de cuenta, conecte Usando @__CAPGO_KEEP_0__/__CAPGO_KEEP_1__-social-login para la capacidad nativa en Usando @capgo/capacitor-social-login for the native capability in Using @capgo/capacitor-social-login, @capgo/capacitor-social-login para los detalles de implementación en @capgo/capacitor-social-login @capgo/capacitor-passkey para los detalles de implementación en @capgo/capacitor-passkey @capgo/capacitor-native-biometric para los detalles de implementación en @capgo/capacitor-native-biometric, y Autenticación en dos factores para los detalles de implementación en Autenticación en dos factores.