2017-11-26 14 views
2

Androidアプリでアチーブメントを表示しようとしています。私はhttps://developers.google.com/games/services/android/achievementsGoogle PlayゲームサービスshowAchievments()

private void showAchievements() { 
    System.out.println("start showAchievements"); 
    Games.getAchievementsClient(this, GoogleSignIn.getLastSignedInAccount(this)) 
     .getAchievementsIntent() 
     .addOnSuccessListener(new OnSuccessListener<Intent>() { 
      @Override 
      public void onSuccess(Intent intent) { 
       System.out.println("in onSuccess"); 
       startActivityForResult(intent, RC_ACHIEVEMENT_UI); 
      } 
     }); 

によって提供されるこのための方法を使用していますが、私は例外を取得しています方法呼んでいるとき:

E/AndroidRuntime:致命的な例外:GoogleApiHandler プロセス:com.myを。アプリケーションPID:1927 java.lang.IllegalStateException:ゲームAPIにはhttps://www.googleapis.com/auth/games_lite機能が必要です。

私はあなたのGoogleSignIn.getLastSignedInAccountは(これは)何のGames.SCOPE_GAMES_LITEを持っていないようだ()メソッドその問題フォームGames.getAchievementsClientを考えていますが、

+1

Googleが提供するトラブルシューティングの問題については、このドキュメントをご覧になりましたか? – Al0x

+1

私はちょうどそれをやった:https://developers.google.com/games/services/android/troubleshootingすべて正しいです。それは助けにはならない。 –

+0

私はこれらの2つの答えを見つけました。問題を解決できる可能性があります。 https://stackoverflow.com/a/16599446/2734302 https://stackoverflow.com/a/36414508/2734302 – Al0x

答えて

1

を修正することはできません。

GoogleSignIn.hasPermissionsで確認できます。そのような権限がない場合は、GoogleSignIn.requestPermissionsでリクエストするか、GoogleSignInClient.silentSignInで新しいアカウントを受け取る必要があります。

関連する問題