Categories
Programación

Google Sign In con Xamarin Forms 2019

GoogleLogInXamarin

Despues de que Google eliminara la forma de ingreso desde su API ya que el ingreso a Android o iOS se debe realizar exclusivamente por su SDK de Google Sign In, realmente se puso algo complicado el ingreso usando las credenciales de nuestra cuenta de Google.

Pero por suerte muy rápido salio un plugin que nos permite solucionar esto de forma rápida.

Manos a la Obra, si queremos tener funcionando el Google Sign In.

Paso 1: Se debe habilitar el Developers API de Google

Paso 2: Crear un nuevo proyecto:

NuevoAPIGoogle

Se debe escoger el nombre del proyecto.

Paso 3: Buscar la llave SHA-1 para eso es solo seguir los pasos de esta entrada previa.

Paso 4: Crear las credenciales para Android e iOS.

OAuth for Google and iOS

Paso 5: Instalar el paquete NuGet en nuestro Visual Studio para TODOS los proyectos.

Google Client Pluggin

Paso 6: Realizar los siguientes cambios en nuestro MainActivity.cs de Android

using Plugin.GoogleClient;

using Android.Content;

Agregamos la linea que se encuentra en negrilla después de base.Oncreate

base.OnCreate(savedInstanceState); Xamarin.Essentials.Platform.Init(this, savedInstanceState); global::Xamarin.Forms.Forms.Init(this, savedInstanceState); GoogleClientManager.Initialize(this); LoadApplication(new App());

Finalmente agregamos una nueva clave.

protected override void OnActivityResult(int requestCode, Result resultCode, Intent data) { base.OnActivityResult(requestCode, resultCode, data); GoogleClientManager.OnAuthCompleted(requestCode, resultCode, data); }

Paso 7: Nos vamos al Viemodel que estemos usando para el login en mi caso el mio se llama LoginViewModel y este tiene una LoginPage en la cual tengo un boton con un Binding que se llama LoginGoogleCommand y a este boton en su interior le voy pegar el siguiente codigo:

public ICommand LoginGoogleCommand { get { return new RelayCommand(LoginGoogle); } } private void LoginGoogle() { CrossGoogleClient.Current.LoginAsync(); }

Paso 8: Correr la app y ver como funciona.

Notas: Este método puede traer la siguiente información: Nombre, Email, Usuario y Foto.

Para ver información del desarrollador de este plugin se puede ir a la siguiente pagina:

Sin embargo el utiliza FireBaseConsole App lo cual agrega unos 5 pasos adicionales que no me parecen tan necesarios.

Si tienen alguna duda no duden en consultar en los comentarios.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *