java - 将 Google Snapshot API 集成到 Android 应用程序会导致 com.google.android.gms.common.api.ResolvableApiException: 4: 4:
问题描述
我目前正在开发一个 Android 应用程序。它已经使用了 Google Play 游戏(排行榜、成就和回合制多人游戏已经集成并且运行良好)。现在我想保存一些我想使用 Snapshot API 的 GameData。
我总是为一组测试人员签署一个发布版本并将其上传到 google play 并且在我尝试添加 Snapshot API 之前一切正常。
我做了什么:
- 我在 Play Services 中的 Google Play Console 中打开了 Saved Games
- 我在 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 对其进行了测试,并且它运行良好......
对我来说,这是一个非常罕见的问题,但我希望你能帮助我找到解决方案。
提前致谢
解决方案
我为我找到了解决方案。问题是 S6 上的权限未授予使用 Google Drive。现在我首先检查用户是否已经授予权限,然后使用 Drive.SCOPE_APPFOLDER 打开 GoogleSignInClient。
推荐阅读
- java - Burp Suite SSL 错误握手失败警报或错误 SSL 协议错误
- swift - 当根进程写入值时,在哪里可以找到 userdefaults.plist 文件?
- javascript - react-reveal 属性(如缩放或 Lightspeed)不适用于滚动
- html - 如何反转或反转星球大战缺口的剪辑 SVG?
- math - 检测矩形上已知大小和位置的碰撞
- c# - 在 Razor 中未拾取 Tag Helper
- go - Google cloud longrunning.WaitOperation 不支持语音 API
- javascript - 将数据记录到不带 discord.js 的不和谐 webhook
- oracle - 行内的 Oracle 顶点按钮将区域调用为内联弹出对话框
- python - 当我从csv中提取数据时,python中的日期结构发生了变化