尝试在我的应用中集成 Google Play 游戏时出现 API 异常
Posted
技术标签:
【中文标题】尝试在我的应用中集成 Google Play 游戏时出现 API 异常【英文标题】:API exceptions when trying to integrate Google Play Games in my app 【发布时间】:2019-01-06 14:42:04 【问题描述】:我有一个已经在 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 密钥和 OAuth 密钥(检查了 6 次)。 API 控制台项目和 Firebase 上的 Google 登录选项都启用了 Google Play 游戏(只是因为我无法让它工作而尝试过)。我已将我的电子邮件添加为测试人员。
我有一个google-services.json
文件,该文件具有有效的 API 密钥和有效的客户端 ID。在我的AndroidManifest
中,我有文档说我需要的所有东西,比如gms.version
和gms.games.APP_ID
以及play-services-auth
和play-services-games
在gradle 文件中,以及应用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);
以及添加请求范围、请求电子邮件、令牌和构建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 不是问题,因为游戏已经在商店中运行,但我已经检查过了。
如果没有,请给我一些代码尝试,因为我还不会放弃^^
【问题讨论】:
【参考方案1】:我将我的 app_id 添加到资源文件夹并在我的清单中我去了@string/app_id,现在从 Api 获得了成功,将进一步测试以查看结果是否有效。
【讨论】:
以上是关于尝试在我的应用中集成 Google Play 游戏时出现 API 异常的主要内容,如果未能解决你的问题,请参考以下文章
尝试在我的应用中集成 Google 登录时找不到“GoogleService-Info.plist”
Google Play 服务在我的 Android 游戏中无法正常运行