Suche…


Einführung

Dieses Thema basiert auf So integrieren Sie Google-Anmeldung und Android-Apps

Integration von Google Auth in Ihr Projekt. (Holen Sie sich eine Konfigurationsdatei)

Rufen Sie zuerst die Konfigurationsdatei für die Anmeldung von auf

Link unten öffnen

[ https://developers.google.com/identity/sign-in/android/start-integrating(

Klicken Sie auf Get A configuration file

  • Geben Sie den App-Namen und den Paketnamen ein und klicken Sie auf Dienste auswählen und konfigurieren
  • SHA1 bereitstellen Aktivieren Sie Google SIGNIN und generieren Sie Konfigurationsdateien

Laden Sie die Konfigurationsdatei herunter und legen Sie die Datei in App / Ordner Ihres Projekts ab

  1. Fügen Sie die Abhängigkeit Ihrem build.gradle auf Projektebene hinzu:

Klassenpfad "com.google.gms: google-services: 3.0.0"

  1. Fügen Sie das Plugin zu Ihrem build.gradle auf App-Ebene hinzu: (unten)

Plugin anwenden: 'com.google.gms.google-services'

  1. Fügen Sie diese Abhängigkeit zu Ihrer App-Gradlendatei hinzu

Abhängigkeiten {compile 'com.google.android.gms: play-services-auth: 9.8.0'}

Code-Implementierung Google SignIn

  • Konfigurieren Sie in der onCreate-Methode Ihrer Anmeldeaktivität Google Sign-In, um die für Ihre App erforderlichen Benutzerdaten anzufordern.
 GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
        .requestEmail()
        .build();
  • Erstellen Sie ein GoogleApiClient-Objekt mit Zugriff auf die Google-Anmelde-API und die von Ihnen angegebenen Optionen.
 mGoogleApiClient = new GoogleApiClient.Builder(this)
        .enableAutoManage(this /* FragmentActivity */, this /* OnConnectionFailedListener */)
        .addApi(Auth.GOOGLE_SIGN_IN_API, gso)
        .build();
  • Wenn der Benutzer jetzt auf die Google-Anmeldeschaltfläche klickt, rufen Sie diese Funktion auf.

     private void signIn() {
     Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient);
     startActivityForResult(signInIntent, RC_SIGN_IN);
    }
    
  • Implementieren Sie OnActivityResult, um die Antwort zu erhalten.

 @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);
    }
}
  • Letzter Schritt Behandle das Ergebnis und erhalte Benutzerdaten

     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
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow