2016-05-03 15 views
1

私はバックエンドのユーザーのGmailアドレスを取得する必要があるアンドロイドゲームに取り組んでいます。私はGoogleが提供するゲームヘルパークラスを使用しており、GoogleプレイAPIとプラスAPIを使用しています。最近まで私は、アドレスが、このコードを取得するためにGoogleログイン:プレイサービスでユーザー情報を取得する

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

を使用しているので、私は特定のデバイス上で、ユーザーにそれをすることはできません減価償却されます。

onActivityResultからの情報から情報を取得しようとしましたが、インテントはnullとして返します。それだけでなく、インテントからその情報にアクセスするには、私はAPIのplay APIで機能しないGoogleログインが必要です。私はこの問題に関する助言や提案を感謝します。事前にどうもありがとうございました。

+0

非推奨「は機能していない」とは全く異なっている - それは確かに、すべてのデバイス上で作業を行います。 – ianhanniballake

+0

http://android-developers.blogspot.com/2016/01/play-games-permissions-are-changing-in.htmlを読んで、あなたに役立つかどうかを確認してください – BNK

答えて

0

GoogleはサインインAndroidアプリに

設定Googleログインに追加します。

// 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(); 

次に、サインインボタンがクリックされたときに、意思サインインを起動します。

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

ログインするにはGoogleアカウントを選択するように求められます。 profile、email、およびopenid以外のスコープをリクエストした場合、ユーザーは要求されたリソースへのアクセスを許可するように求められます。

最後に、活動結果を扱う:

@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(); 
     } 
    } 
} 

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

+0

Googleと一緒に使うことはできませんゲームをする。 – ianhanniballake

+0

私は同意する前にその方法を試してみたところ、それは機能性の問題に遭遇しました。私はGoogleの再生とログイン情報を取得する方法を探しています –

関連する問題