我有一个已经在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控制台项目中启用了Google Play游戏,并在Firebase上启用了Google登录选项(尝试此操作是因为我无法使其正常工作)。我已将我的电子邮件添加为测试人员。
我有一个google-services.json
文件,该文件具有有效的API密钥和有效的客户端ID。在我的AndroidManifest
中,我拥有文档所说的所有内容,例如gradle文件中的gms.version
和gms.games.APP_ID
以及play-services-auth
和play-services-games
应用google-services插件,并为Google安装maven,并在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游戏版本之前会出现,因此它要求我对其进行更新。
这就像一个星期了,我像地狱一样在Google上搜索。我认为SHA并不是问题,因为游戏已经可以在商店中使用了,但我已经检查了它们。
如果什么都没有,请给我一些代码尝试一下,因为我还不会放弃^^
答案 0 :(得分:1)
我将我的app_id添加到资源文件夹中,在清单中,我进入了@ string / app_id,现在从Api获得成功,将进一步测试以查看结果是否有效。