Android
Google-Anmeldungsintegration auf Android
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
- Fügen Sie die Abhängigkeit Ihrem build.gradle auf Projektebene hinzu:
Klassenpfad "com.google.gms: google-services: 3.0.0"
- Fügen Sie das Plugin zu Ihrem build.gradle auf App-Ebene hinzu: (unten)
Plugin anwenden: 'com.google.gms.google-services'
- 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); } }