Login Google en Android

Guía, tutorial para realizar Log In, autenticación con Google en una aplicación Android, además de la obtención de información del usuario como nombres, correo electrónico, id y fotografía de perfil.

Configuración (0:38)

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

Implementación (4:54)

  • GoogleApiClient (5:07)
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)  
    .requestEmail()
    .build();

googleApiClient = new GoogleApiClient.Builder(this)  
    .enableAutoManage(this, this)
    .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
    .build();
  • SignInButton (6.23)
<com.google.android.gms.common.SignInButton  
    android:id="@+id/signInButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true" />
  • Obtención de la información del usuario (11:00)
GoogleSignInAccount account = result.getSignInAccount();

nameTextView.setText(account.getDisplayName());  
emailTextView.setText(account.getEmail());  
idTextView.setText(account.getId());

Glide.with(this).load(account.getPhotoUrl()).into(photoImageView);  

Si el usuario no tiene foto de perfil, account.getPhotoUrl() será null, sin embargo Glide no causará problemas, simplemente no se cargará ninguna imagen.

De la misma forma si no se usó requestEmail() al armar el GoogleSignInOptions, account.getEmail() será null.

Personalización (13:31)

  • Tamaño del SignInButton (13:36)
signInButton.setSize(SignInButton.SIZE_WIDE);  
signInButton.setSize(SignInButton.SIZE_ICON_ONLY);  
  • Color Scheme del SignInButton (13:52)
signInButton.setColorScheme(SignInButton.COLOR_DARK);  

Código

Cualquier duda o consulta puedes dejarla en los comentarios.

Daniel Alvarez

Software engineer, developer and producer of native mobile applications for Android and iOS, Angular, Firebase. Teacher. Speaker. Creating bots.