我有一个已在 Play 商店发布的应用程序,我想集成 Google Play 游戏,这样我就可以获得成就,但我不断获得
com.google.android.gms.common.api.ApiException: 13:
无论我尝试什么。
我关注了https://developers.google.com/games/services/android/quickstart , https://developers.google.com/games/services/android/signin和 https://developers.google.com/games/services/console/enabling ,以及其余的 Google 文档。
我在 Google 控制台上有一个链接到应用程序的游戏服务,该应用程序有一个 Firebase SDK 和一个 API 控制台项目。它有一个带有 OAuth 2.0 客户端的链接 Android 应用程序。在 API 控制台项目上,我有有效的 API key 和 OAuth key (检查了 6 次)。 API 控制台项目和 Firebase 上的 Google 登录选项都启用了 Google Play 游戏(只是因为我无法让它工作而尝试过)。我已将我的电子邮件添加为测试人员。
我有一个 google-services.json
文件,其中包含有效的 API key 和有效的客户端 ID。在我的 AndroidManifest
中,我拥有文档所说的所有内容,例如 gms.version
和 gms.games.APP_ID
以及 gradle 文件中的 play-services-auth
和 play-services-games
以及应用 google-services 插件和 maven for google 以及 Android Studio 中的 Google Play 服务 SDK .
我试过默认登录方式
GoogleSignInClient signInClient = GoogleSignIn.getClient(this,
GoogleSignInOptions.DEFAULT_GAMES_SIGN_IN);
Intent intent = signInClient.getSignInIntent();
startActivityForResult(mGoogleSignInClient.getSignInIntent(), 20);
以及添加请求范围、请求电子邮件、 token 和构建 GoogleSignInOptions
,以及请求服务器授权代码。
我主要是这样处理的,但我也尝试过不同的方式。
if (requestCode == 20) {
Task<GoogleSignInAccount> task =
GoogleSignIn.getSignedInAccountFromIntent(data);
try {
GoogleSignInAccount account = task.getResult(ApiException.class);
onConnected(account);
} catch (ApiException apiException) {
String message = apiException.getMessage();
我确实尝试了 DEFAULT_SIGN_IN
并且能够让窗口询问我一个帐户,但随后我收到另一个 API 异常“10”。不会弹出窗口,但之前我没有更新的 Play 游戏版本时它会弹出,所以它要求我更新它。
现在已经有一个星期了,我拼命地用谷歌搜索。我不认为 SHA 是问题,因为该游戏已经在商店中运行,但我已经检查过了。
如果没有,请给我一些代码来尝试,因为我不会放弃 ^^
最佳答案
我将我的 app_id 添加到资源文件夹,在我的 list 中我去了@string/app_id,现在从 Api 获得了成功,将进一步测试以查看结果是否有效。
关于android - 尝试将 Google Play 游戏集成到我的应用程序时出现 API 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51592415/