Inicio de sesión de Google en Android
Copiar un prompt de configuración con los pasos de instalación y la guía de markdown completa para este plugin.
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 Android. Supongo que ya ha leído la guía de configuración general.
Usar inicio de sesión de Google en Android
Sección titulada “Usar inicio de sesión de Google en Android”En esta parte, aprenderás a configurar el inicio de sesión de Google en Android.
-
Crear un identificador de cliente Android
-
Haga clic en la barra de búsqueda
-
Buscar por
credentialsy haga 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 tipo de aplicación
AndroidSelección del tipo de aplicación con opción de Android destacada
-
En la parte inferior del navegador, encuentre la sección de
-
Scripts de Gradle en el navegador de proyectos de Android Studio
Gradle Scripts
-
para el archivo
build.gradlebuild.gradle (Módulo: app) en la sección de Scripts de Gradleapp
-
__CAPGO_KEEP_0__
android.defaultConfig.applicationId. Esto será tupackage nameen el panel de Google
-
Ahora, abre la terminal. Asegúrate de que estás en el
androidcarpeta de tu aplicación y ejecuta./gradlew signInReport
- Desplázate hacia arriba de este comando. Deberías ver lo siguiente. Copia el
SHA1.
- Ahora, vuelve a la Consola de Google. Introduce tu
applicationIdcomo elPackage Namey tu SHA1 en el campo de certificado y haz cliccreate
-
-
Crear un cliente web (esto es necesario para Android)
-
Ir a la
Create credentialspágina en Google Console -
Establecer el tipo de aplicación a
Web
-
Hacer clic
Create
-
Copiar el ID del cliente, lo utilizarás como el
webClientIden tu JS/TS code
-
-
Modificar tu
MainActivity-
Por favor, abre tu aplicación en Android Studio. Puedes ejecutar
cap open android -
Encuentra
MainActivity.java-
Abre el
appcarpeta
-
Encuentra
java
-
Encuentra tu
MainActivity.javay haz clic en ella
-
-
Modifica
MainActivity.java. Por favor, agrega el siguiente codeimport 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 {@Overridepublic 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@Overridepublic void IHaveModifiedTheMainActivityForTheUseWithSocialLoginPlugin() {}} -
Guardar el archivo
-
-
Utilice Google Login en su aplicación
-
Primero, importe
SocialLoginimport { SocialLogin } from '@capgo/capacitor-social-login'; -
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',}})}) -
Llamar
SocialLogin.loginCree un botón y ejecute el siguiente code al hacer clic.const res = await SocialLogin.login({provider: 'google',options: {}})// handle the responseconsole.log(JSON.stringify(res))
-
-
Configura el emulador para pruebas
-
Inicia sesión
Device managery haz clic en el botón de más
-
Crear un dispositivo virtual
-
Selecciona cualquier dispositivo con un
Play Storeícono
Como puedes ver, el
pixel 8admite elPlay Storeservicios -
Hacer clic
next
-
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 PlayGoogle Play
-
Botón Next en la pantalla de selección de imagen del sistema
-
Confirme su dispositivo. Puede nombrar su emulador como prefiera
-
Ingresar a
Device Managery arrancar su simulador
-
Después de que arranque el simulador, ingrese a sus ajustes
-
Ingresar a
Google Play
- Hacer clic
Updatey esperar unos 60 segundos
-
-
Prueba tu aplicación
Si has hecho todo correctamente, deberías ver el flujo de inicio de sesión de Google funcionando correctamente:
Solución de problemas
Sección titulada “Solución de problemas”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.