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.
Aprenderás
- Obtener información del usuario
- Personalizar el botón de autenticación de Google
Requisitos
- Cuenta Google
- Obtener una imagen desde Internet con Glide (para la foto del perfil)
1. Configuración
Consola de Firebase (1:21)
Dependencia para la autenticación (3:10)
compile 'com.google.android.gms:play-services-auth:9.8.0'
Página Releases (3:25)
Implementación
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 elGoogleSignInOptions,account.getEmail()seránull.
Personalización
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);
El Código
Si encuentras un error, por favor crea un Issue. Lo solucionaremos ASAP.
Crear un Issue