androidLogin Google en Android
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.
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)
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);