Android
Integración de inicio de sesión de Google en Android
Buscar..
Introducción
Este tema se basa en Cómo integrar el inicio de sesión de Google, en las aplicaciones de Android
Integración de google Auth en tu proyecto. (Obtener un archivo de configuración)
Primero obtenga el archivo de configuración para iniciar sesión desde
Abrir enlace a continuación
[ https://developers.google.com/identity/sign-in/android/start-integrating [... ]]
haga clic en obtener un archivo de configuración
- Ingrese el nombre de la aplicación y el nombre del paquete y haga clic en elegir y configurar servicios
- proporcionar SHA1 Habilitar google SIGNIN y generar archivos de configuración
Descargue el archivo de configuración y coloque el archivo en la aplicación / carpeta de su proyecto
- Agregue la dependencia a su build.gradle a nivel de proyecto:
classpath 'com.google.gms: google-services: 3.0.0'
- Agregue el complemento a su build.gradle a nivel de aplicación: (parte inferior)
aplique el complemento: 'com.google.gms.google-services'
- Añade esta dependencia a tu aplicación.
dependencias {compile 'com.google.android.gms: play-services-auth: 9.8.0'}
Implementación de código de Google SignIn
- En el método onCreate de su actividad de inicio de sesión, configure el inicio de sesión de Google para solicitar los datos de usuario requeridos por su aplicación.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
- cree un objeto GoogleApiClient con acceso a la API de inicio de sesión de Google y las opciones que especificó.
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
Ahora, cuando el usuario haga clic en el botón de inicio de sesión de Google, llame a esta función.
private void signIn() { Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); startActivityForResult(signInIntent, RC_SIGN_IN); }
implementar OnActivityResult para obtener la respuesta.
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
// Result returned from launching the Intent from GoogleSignInApi.getSignInIntent(...);
if (requestCode == RC_SIGN_IN) {
GoogleSignInResult result = Auth.GoogleSignInApi.getSignInResultFromIntent(data);
handleSignInResult(result);
}
}
Último paso Manejar el resultado y obtener datos de usuario
private void handleSignInResult(GoogleSignInResult result) { Log.d(TAG, "handleSignInResult:" + result.isSuccess()); if (result.isSuccess()) { // Signed in successfully, show authenticated UI. GoogleSignInAccount acct = result.getSignInAccount(); mStatusTextView.setText(getString(R.string.signed_in_fmt, acct.getDisplayName())); updateUI(true); } else { // Signed out, show unauthenticated UI. updateUI(false); } }