2016-05-03 8 views
1

Ich arbeite an einem Android-Spiel, wo ich die Nutzer Gmail-Adresse für das Back-End zu bekommen. Ich benutze die Spielehelfer-Klasse, die Google bietet und verwende die Google Play-API und auch die Plus-API. Bis vor kurzem ichGoogle-Login: Holen Sie sich Benutzerinformationen mit Play-Dienste

Plus.AccountApi.getAccountName(_gameHelper.getApiClient());

Um die Adresse zu erhalten verwendet haben, aber die dieser Code abgeschrieben wird, so kann ich nicht vom Benutzer auf bestimmte Geräte.

Ich habe versucht, die Informationen aus den Informationen von onActivityResult aus dem Login zu bekommen, aber die Absicht kehrt als null zurück. Nicht nur das, sondern um auf diese Informationen von der Absicht zuzugreifen, benötige ich die Google-Login-API, die nicht mit der Play-API funktioniert. Ich würde mich über jede Hilfe oder Vorschläge in dieser Angelegenheit freuen. Vielen Dank im Voraus.

+0

Veraltete ist völlig verschieden von ‚nicht funktioniert‘ - es tut sicherlich Arbeit auf allen Geräten. – ianhanniballake

+0

Bitte lesen Sie http://android-developers.blogspot.com/2016/01/play-games-permissions-are-changing-in.html, um zu sehen, ob es Ihnen helfen kann oder nicht – BNK

Antwort

0

hinzufügen Google Log-in auf Ihre Android App

konfigurieren Google Log-in:

// Configure sign-in to request the user's ID, email address, and basic profile. ID and 
// basic profile are included in DEFAULT_SIGN_IN. 
GoogleSignInOptions gso = new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_SIGN_IN) 
    .requestEmail() 
    .build(); 

// Build a GoogleApiClient with access to GoogleSignIn.API and the options above. 
mGoogleApiClient = new GoogleApiClient.Builder(this) 
    .enableAutoManage(this, this) 
    .addApi(Auth.GOOGLE_SIGN_IN_API, gso) 
    .build(); 

Dann, wenn die Anmelde-Schaltfläche geklickt wird, starten Sie den Anmelde-Absicht:

Intent signInIntent = Auth.GoogleSignInApi.getSignInIntent(mGoogleApiClient); 
startActivityForResult(signInIntent, RC_SIGN_IN); 

Der Benutzer wird aufgefordert, ein Google-Konto für die Anmeldung auszuwählen. Wenn Sie Bereiche außerhalb von Profil, E-Mail und OpenID angefordert haben, wird der Benutzer außerdem aufgefordert, den Zugriff auf die angeforderten Ressourcen zu gewähren.

Schließlich behandeln die Aktivität Ergebnis:

@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); 
     if (result.isSuccess()) { 
      GoogleSignInAccount acct = result.getSignInAccount(); 
      // Get account information 
      mFullName = acct.getDisplayName(); 
      mEmail = acct.getEmail(); 
     } 
    } 
} 

See: https://developers.google.com/identity/sign-in/android/

+0

Sie können das nicht mit Google verwenden Spiele spielen. – ianhanniballake

+0

Ich stimme zu Ich habe diese Methode schon einmal ausprobiert und stieß auf das Problem der Capability. Ich bin auf der Suche nach einem Weg, um die Login-Informationen mit Google Play zu bekommen –

Verwandte Themen