Android
Integrazione di accesso Google su Android
Ricerca…
introduzione
Questo argomento è basato su Come integrare l'accesso a google, su app Android
Integrazione di Google Auth nel tuo progetto. (Ottieni un file di configurazione)
In primo luogo ottenere il file di configurazione per l'accesso da
Apri il link qui sotto
[ https://developers.google.com/identity/sign-in/android/start-integrating][1]
fai clic su Ottieni un file di configurazione
- Inserisci il nome dell'app e il nome del pacchetto e fai clic su scegli e configura servizi
- fornire SHA1 Abilitare google SIGNIN e generare file di configurazione
Scarica il file di configurazione e posiziona il file in app / cartella del tuo progetto
- Aggiungi la dipendenza al tuo build.gradle a livello di progetto:
classpath "com.google.gms: google-services: 3.0.0"
- Aggiungi il plug-in al tuo build.gradle a livello di app: (in basso)
applica il plug-in: "com.google.gms.google-services"
- aggiungi questa dipendenza al tuo file gradle dell'app
dipendencies {compile 'com.google.android.gms: play-services-auth: 9.8.0'}
Implementazione del codice Google SignIn
- Nel metodo onCreate dell'attività di accesso, configura l'accesso a Google per richiedere i dati utente richiesti dalla tua app.
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
.requestEmail()
.build();
- crea un oggetto GoogleApiClient con accesso all'API di accesso a Google e alle opzioni specificate.
mGoogleApiClient = new GoogleApiClient.Builder(this)
.enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
.addApi(Auth.GOOGLE_SIGN_IN_API, gso)
.build();
Ora, quando l'utente fa clic sul pulsante di accesso Google, chiama questa funzione.
private void signIn() { Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); startActivityForResult(signInIntent, RC_SIGN_IN); }
implementare OnActivityResult per ottenere la risposta.
@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);
}
}
Ultimo passo Gestire il risultato e ottenere i dati dell'utente
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); } }