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

  1. Agregue la dependencia a su build.gradle a nivel de proyecto:

classpath 'com.google.gms: google-services: 3.0.0'

  1. Agregue el complemento a su build.gradle a nivel de aplicación: (parte inferior)

aplique el complemento: 'com.google.gms.google-services'

  1. 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);
     }
    }
    


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow