【问题标题】:Integrating Google Snapshot API to Android App causes in com.google.android.gms.common.api.ResolvableApiException: 4: 4:将 Google Snapshot API 集成到 Android 应用程序会导致 com.google.android.gms.common.api.ResolvableApiException: 4: 4:
【发布时间】:2019-02-11 18:53:03
【问题描述】:

我目前正在开发一个 Android 应用程序。它已经使用了 Google Play 游戏(排行榜、成就和回合制多人游戏已经集成并且运行良好)。现在我想保存一些我想使用 Snapshot API 的 GameData。

我总是为一组测试人员签署一个发布版本并将其上传到 google play 并且一切正常,直到我尝试添加 Snapshot API。

我做了什么:

  • 我在 Play Services 中的 Google Play Console 中启用了“保存的游戏”
  • 我在 Google Cloud 平台中激活了 Google Drive API
  • 我将 .requestScopes(Drive.SCOPE_APPFOLDER) 添加到我的 GoogleSignInMethode(这就是出现错误的原因)
private void signInToGoogle() {
mGoogleClient = GoogleSignIn.getClient(this,
        new GoogleSignInOptions.Builder(GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN)
                .requestScopes(Drive.SCOPE_APPFOLDER)
                .build());
signInSilently();
}

private void signInSilently() {
System.out.println("A7DE signInSilently()");

mGoogleClient.silentSignIn().addOnCompleteListener(this,
        new OnCompleteListener<GoogleSignInAccount>() {
            @Override
            public void onComplete(@NonNull Task<GoogleSignInAccount> task) {
                if (task.isSuccessful()) {
                    System.out.println("A7DE signInSilently(): success");
                    onConnected(task.getResult());
                } else {
                    System.out.println("A7DE signInSilently(): failure "+task.getException());
                    Log.e(TAG, "Exception: "+Log.getStackTraceString(task.getException()));
                    onDisconnected();
                }
            }
        });
}

使用该代码 Logcat 说:

09-06 13:59:15.632 14860-14860/? I/System.out: A7DE signInSilently(): failure com.google.android.gms.common.api.ResolvableApiException: 4: 4: 
09-06 13:59:15.633 14860-14860/? E/StatsACT: Exception: com.google.android.gms.common.api.ResolvableApiException: 4: 4: 
     at com.google.android.gms.common.internal.ApiExceptionUtil.fromStatus(Unknown Source)
     at com.google.android.gms.common.internal.zzk.convert(Unknown Source)
     at com.google.android.gms.common.internal.zzl.onComplete(Unknown Source)
     at com.google.android.gms.common.api.internal.BasePendingResult.zza(Unknown Source)
     at com.google.android.gms.common.api.internal.BasePendingResult.setResult(Unknown Source)
     at com.google.android.gms.auth.api.signin.internal.zzk.zzd(Unknown Source)
     at com.google.android.gms.auth.api.signin.internal.zzu.dispatchTransaction(Unknown Source)
     at com.google.android.gms.internal.auth.zze.onTransact(Unknown Source)
     at android.os.Binder.execTransact(Binder.java:573)
09-06 13:59:15.633 14860-14860/? I/System.out: A7DE disconnected...

为了让它更听不见,这只会在 S6 Android 7 上引发错误。还用 A5 Android 8 对其进行了测试,它在那里完美运行...

对我来说这是一个非常罕见的问题,但我希望您能帮助我找到解决方案。

提前致谢

【问题讨论】:

    标签: java android google-play-services google-signin google-api-client


    【解决方案1】:

    我找到了适合我的解决方案。问题是 S6 上的权限未授予使用 Google Drive。现在我首先检查用户是否已经授予权限,然后使用 Drive.SCOPE_APPFOLDER 打开 GoogleSignInClient。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-04
      • 2020-03-26
      • 1970-01-01
      • 1970-01-01
      • 2018-09-14
      • 2015-08-13
      • 1970-01-01
      • 2023-03-22
      相关资源
      最近更新 更多