• INICIO
  • SOBRE MÍ
  • HERRAMIENTAS
  • VIDEOS
  • SERVICIOS
  • CONTACTAR

Blog de Jonathan Melgoza

MENUMENU
  • Menu
  • Programación
  • Desarrollo web
  • Tecnología
  • Marketing
  • SEO
  • Informática
  • Ganar Dinero
  • Emprendimiento
  • Electrónica
  • Entrevistas
  • Reviews
  • Opinión
  • Hacking
  • Offtopic
Blog > Programacion > Como hacer un Login con google en android

Como hacer un Login con google en android

Como hacer un Login con google en android

Jonathan Melgoza 2016-11-24 Programacion
Comparte con tus amigos
Compartir en Facebook Compartir
Compartir en TwitterTweet
Compartir en Linkedin Compartir

Hoy vamos a ver como integrar google play services en nuestra app movil para conseguir ver como hacer un login con google en android a nuestros usuarios de esta plataforma y agilizar el proceso de inicio de sesion o registro a nuestra app. Obtendremos desde su perfil de Google su nombre, email y url de imagen de perfil (realmente se pueden obtener mucha información más) ¿Estas por iniciar una app movil? ¿Ofreceras un sistema de inicio de sesion? Deja de ofrecer aburridos y complejos sistemas de login y comienza a utilizar las redes sociales, ¿Te animas?

Hoy veremos

  • 1 Asegurate de que cuentas con google play services sdk
  • 2 Instalamos las dependencias necesarias
  • 3 Crear una app de google para conectar tu app
  • 4 Creando el boton de login en nuestra app
  • 5 Como hacer un login con google en android – Integrando todo

Asegurate de que cuentas con google play services sdk

Lo primero es asegurarnos de que contamos con el extra de google play services instalado.

Dentro de nuestro android studio vamos a Tools -> Android -> Sdk manager ->  en la pestaña SDK Tools nos vamos a la seccion Extras y nos aseguramos que Google play services este instalado, sino procedemos a instalarlo para poder continuar.

 login con google en android 1

Como hacer un Login con google en android con google play services

Instalamos las dependencias necesarias

Editamos el build.gradle de nuestro proyecto y agregamos el siguiente codigo:


¿Sabías que?

¿Necesitas aprender algo nuevo ? Ve a Udemy, busca el tema del que quieres aprender, selecciona el curso para ti y continua con tu aprendizaje.

Udemy

buildscript {
    dependencies {
        classpath 'com.google.gms:google-services:1.5.0-beta2'
    }
}

Ahora editamos el build.gradle de nuestro modulo y agregamos lo siguiente:

apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'

    compile 'com.google.android.gms:play-services-auth:8.3.0'

}

Ahora tenemos que crear una app en google console para enlazar nuestra app.

Crear una app de google para conectar tu app

Antes que nada tenemos que ir a https://developers.google.com/mobile/add?platform=android escribimos un nombre de la app y el nombre de paquete que estamos utilizando por ejemplo: com.misuperaplicacion.app.

Despues damos click sobre el boton Continue to Choose and configure services

 login con google en android

Como hacer un Login con google en android creando nuestra app

Ahora elegimos la opcion Google sign-in y nos pedira ingresar una clave hash SHA1, para conseguirla deberemos ejecutar el siguiente comando en nuestro cmd:

keytool -exportcert -list -v -alias androiddebugkey -keystore ~/.android/debug.keystore > sha.txt

Notas:

  • La contraseña por defecto del almacen de claves es: android
  • La herramienta keytool se encuentra en el directorio bin de la instalacion del jdk en nuestro equipo
  • El almance de claves se encuentra en c -> usuarios -> tuusuario -> .android -> debug.keystore.

Este comando nos generará un archivo de texto llamado sha.txt donde al abrirlo debemos de copiar la linea correspondiente al SHA1 y pegarlo en nuestra app en google console.

Una vez hecho esto presionamos sobre el boton Generate Configuration Files para poder descargar un archivo google-services.json que debemos de incluir en nuestra carpeta app de nuestro proyecto.

Creando el boton de login en nuestra app

Lo siguiente que tenemos que hacer es crear un boton de login en nuestra app, el siguiente codigo lo realizará:

<com.google.android.gms.common.SignInButton
    android:id="@+id/logingoogle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

Fácil! ¿no?

Como hacer un login con google en android – Integrando todo

Enlazamos a nuestro boton:

logingoogle = (SignInButton) findViewById(R.id.logingoogle);

creamos el codigo de accion de nuestro boton:

logingoogle.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
      signInWithGoogle();
   }
});

El metodo signInWithGoogle es como sigue:

private static final int RC_SIGN_IN = 9001;
private void signInWithGoogle() {
   if(mGoogleApiClient != null) {
      mGoogleApiClient.disconnect();
   }

   GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
         .requestEmail()
         .build();
   mGoogleApiClient = new GoogleApiClient.Builder(this)
         .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
         .build();

   final Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
   startActivityForResult(signInIntent, RC_SIGN_IN);
}

Por ultimo en nuestro onActivityResult:

if (requestCode == RC_SIGN_IN) {
   GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);

   if(result.isSuccess()) {
      final GoogleApiClient client = mGoogleApiClient;
      GoogleSignInAccount profile = result.getSignInAccount();

      // get profile information
      String name = "";
      String email = "";
      String uriPicture = "";
      if (profile.getDisplayName() != null) {
         name = profile.getDisplayName();
      }
      if (profile.getEmail() != null) {
         email = profile.getEmail();
      }
      if (profile.getPhotoUrl() != null) {
         uriPicture = profile.getPhotoUrl().toString();
      }
      // save profile information to preferences
      SharedPreferences prefs = getSharedPreferences("com.misuperapp.app", Context.MODE_PRIVATE);
      prefs.edit().putString("com.misuperapp.app.nombre", name).apply();
      prefs.edit().putString("com.misuperapp.app.email", email).apply();
      prefs.edit().putString("com.misuperapp.app.uriPicture", uriPicture).apply();
      // redirect to map screen
      startActivity(new Intent(Registro.this, Main.class));
   } else {
      // Otros result de actividades de inicio de session como facebook o twitter
   }

Como puedes ver al iniciar sesion un usuario en nuestra app nos traemos desde su perfil en Google su nombre, email y url de foto de perfil para utilizarlos en nuestra aplicacion movil, toda esta informacion se encuentra en result.getSignInAccount.

Posteriormente guardamos esta info en sharedpreferences de android y lo mandamos a la pantalla principal de la app ya con sesion.

Cualquier duda o inquietud no dudes en dejarme un comentario y con todo gusto lo resolvemos.

Saludos!

Clic para valorar esta información
[Total: 0 Promedio: 0]

Comparte con tus amigos
Compartir en Facebook Compartir
Compartir en TwitterTweet
Compartir en Linkedin Compartir

  • jonathan melgoza

    ¡Hola! Soy Jonathan Melgoza, Ingeniero en sistemas computacionales, juntos en este blog aprenderemos sobre programación, desarrollo web, tecnología, SEO, emprendimiento y mucho más, cosas que a ti y a mí nos apasionan.

    sigueme en feedly

    Easy Codigo - Soluciones en software, web y movil

    jonathan__melgoza

    Proyecto de electrónica con Esp32Cam.Proyecto c Proyecto de electrónica con Esp32Cam.Proyecto completo en el blog.#electronica #arduino #iot #esp32cam #proyecto
    Sígueme en Instagram
    vacante de programador en easycodigo
    Como ganar dinero por internet
    Como crear mi marca personal en Internet
    Como hacer un blog este 2017

Enlaces

  • Sobre mí
  • Acerca del blog
  • Aviso Legal
  • Escribir post de invitado
  • Publicidad en el sitio

Ayuda hosting

  • Mejor Hosting en México en el 2023
  • Como Contratar un Hosting
  • Hosting para tienda en linea – SSL Gratis!
  • ► Hosting WordPress México 💕 Top 3 💕
  • Hosting con cPanel – Mejores Proveedores

Articulos recientes

  • Configurar variables de entorno en MAC OS
  • Envío de correo con Amazon SES y PHP
  • ¿Cómo redactar un correo de presentación?
  • Contratar hackers Mexicanos ¿Vale la pena?
Jonathan Melgoza Copyright © 2023.
Hospedado por WebEmpresa