Google 游戏 API 需要 games_lite 函数

Google Games APIs requires games_lite function

我在 Google Play 游戏服务公司工作。我从官方示例中获取了代码。尝试使用 API 27 和 API 17.

所有作品仅在一个帐户(所有者 Google 开发者控制台)下工作,在任何其他帐户下 - 否。

我明白了:

E/AndroidRuntime: FATAL EXCEPTION: GoogleApiHandler
java.lang.IllegalStateException: Games APIs requires https://www.googleapis.com/auth/games_lite function.
    at com.google.android.gms.common.internal.zzbq.zza(Unknown Source)
    at com.google.android.gms.games.internal.GamesClientImpl.zzb(Unknown Source)
    at com.google.android.gms.common.internal.zzab.<init>(Unknown Source)
    at com.google.android.gms.common.internal.zzab.<init>(Unknown Source)
    at com.google.android.gms.games.internal.GamesClientImpl.<init>(Unknown Source)
    at com.google.android.gms.games.Games$zzb.zza(Unknown Source)
    at com.google.android.gms.common.api.GoogleApi.zza(Unknown Source)
    at com.google.android.gms.common.api.internal.zzbo.<init>(Unknown Source)
    at com.google.android.gms.common.api.internal.zzbm.zzb(Unknown Source)
    at com.google.android.gms.common.api.internal.zzbm.handleMessage(Unknown Source)
    at android.os.Handler.dispatchMessage(Handler.java:95)
    at android.os.Looper.loop(Looper.java:153)
    at android.os.HandlerThread.run(HandlerThread.java:60)

我检查了所有内容 described here

我的gradle:

def gmsVersion = '12.0.1'
implementation "com.google.android.gms:play-services-games:$gmsVersion"
implementation "com.google.android.gms:play-services-auth:$gmsVersion"
implementation "com.google.android.gms:play-services-base:$gmsVersion"
implementation "com.google.android.gms:play-services-identity:$gmsVersion"

isGooglePlayServicesAvailable = SUCCESS

我花了很长时间寻找解决方案,但没有找到。

真实路径是 requestScopes(Games.SCOPE_GAMES_LITE):

GoogleSignInOptions gso = new GoogleSignInOptions
    .Builder(GoogleSignInOptions.DEFAULT_SIGN_IN)
    .requestScopes(Games.SCOPE_GAMES_LITE)
    .requestEmail()
    .build();

遵循这个 Google 游戏文档应该足够了:https://developers.google.com/games/services/android/signin

你应该使用:

GoogleSignInOptions gso = new GoogleSignInOptions
   .Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
   .requestEmail()
   .build();

我遇到了同样的问题。

就我而言,当我在 google 控制台中添加新开发人员时发生了这种情况。
当在控制台中进行一些更改时,即使 google 立即给我们一个绿旗,它也需要一些时间才能被激活。除了等待几个小时,我什么都不做就解决了我的问题。

Note that as per Developer's Blog,

GoogleSignInOptions gso = new GoogleSignInOptions.Builder(
               GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN).build();

is sufficient for Games Lite scope.

注意:这是截至 2018 年 11 月 14 日的数据