谷歌游戏服务登录按钮提示“未知错误”

8

我正在尝试在我的Android练习应用程序中使用Google Play游戏服务。

我按照开发人员指南中所述获得了登录按钮的UI。当我第一次点击登录时,它会引导我完成登录过程。就在它即将完成这个过程时,它会给我一个带有“未知错误”的对话框。第一次后,每次都会在显示加载动画一段时间后弹出此对话框。

我已经导入了BaseGameUtils和google-play-services_lib。我将BaseGameUtils的引用附加到google-play-services_lib上,然后将这两个的引用附加到我的游戏项目上。

我导出了该项目以获取SHA1并放置在开发者控制台中。然后我有12位数字的应用程序ID,可以放置在values / ids.xml中(在应用程序下方获取meta标记)。

尝试清理项目,重新执行SHA1 / keystore过程,但没有成功。我的电子邮件在测试访问下。

我阅读并尝试了此问题提供的解决方案,但这不是我的情况。

Google Play游戏服务-无法登录

有人遇到相同的问题或者有解决方案吗?


1
你可以在BaseGameUtils上启用日志并查看所有日志,以了解发生了什么!那里有一个布尔标志可供启用! - thiagolr
1
我被同一个问题困住了。已经尝试多次重新创建应用程序令牌等,但无法使其正常工作。在LogCat中,我看到了这个错误消息:05-26 09:38:31.494: E/Volley(9154): [524] il.a: 对于 https://www.googleapis.com/games/v1/players/me 的意外响应代码 401 05-26 09:38:31.724: W/dqi(9154): 认证错误:无法响应以下任何挑战:{bearer=WWW-Authenticate: Bearer realm="https://www.google.com/accounts/AuthSubRequest", error=invalid_token} - Ulrich Scheller
你在控制台创建了测试账号吗? - Diego Palomar
5个回答

2

尝试在设备上进入Google+设置,清除已授权该应用程序的访问权限。之后,通过PC/Mac网络浏览器或设备手动为您的测试帐户设置Google+,然后尝试重新链接应用程序。这对我有用。

三星Galaxy S3的确切步骤:

设置 -> Google -> Google+ -> 带有Google+登录的应用程序 -> 点击应用程序,在底部点击断开连接。

值得一提的是,当我删除它时,我还点击了“删除此应用程序的所有活动”选项。


今天我遇到了同样的问题,最终解决方法是按照你所指示的方式去做。 - Diego Palomar
它也帮助了我(-: 我安装了游戏的新版本,但设备无法登录应用程序(游戏)。我按照上述说明断开了设备上的应用程序,然后像新用户一样通过我的游戏重新连接。这样做起作用了。谢谢! - Drorasta

1

您的ids.xml文件应该如下所示:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_id">XXXXXXXXX</string>
</resources>

"并且,在您的清单文件中,您需要添加:

"
    <meta-data android:name="com.google.android.gms.games.APP_ID"
    android:value="@string/app_id" />

祝你好运!


但是在字符串中,app_id的值应该是什么?它应该是您在开发控制台上创建的客户端ID、应用程序名称还是应用程序包名称?干杯 :) - Dittimon
好的,应用程序ID是客户端ID开头的12位数字,也可以在开发控制台中查看您的Google Play游戏服务游戏顶部。 - Dittimon
是的,这就是我在我的ids.xml文件中所拥有的。谢谢。 - awonderer

1
我建议利用GameHelper类中的调试日志跟踪来更清楚地了解错误。您可以在onCreate中简单调用以下内容:enableDebugLog(true, "fred"); 其中“fred”是您想在logcat上显示的标签。
最有可能的是,您会看到一个错误,例如“OnConnection Failed result 4... SIGN IN REQUIRED”。如果您在SO上搜索该消息,则应该能够取得一些进展。
另一个可能性:
昨晚我成功将我的排行榜投入生产。您所描述的错误是我(以及其他人在SO的错误报告中看到的评论)遇到的问题之一。我发现我无法使用开发者控制台中使用的google帐户进行登录,即使它明确列为游戏的测试帐户。我尝试关闭模拟器、删除和重新定义开发者控制台中的游戏等操作,但我从未能让它正常工作。
我使用了另一个帐户,然后成功登录了。我不知道我的开发者控制台帐户出了什么问题 - 我也在Google Plus上使用它而没有任何问题。顺便说一下,我仍然无法在真实设备上使用我的开发者帐户进行生产应用程序。

我的建议是使用一个单独的账户进行测试。祝你好运!


0

如果您正在使用生产密钥库获取指纹,则需要导出并使用发布版本。否则,请使用调试密钥库获取指纹。

根据https://developers.google.com/games/services/console/enabling#b_create_a_client_id - 如果使用eclipse,则调试密钥库位于

~/.android/debug.keystore

还有一件事,对我来说,我无法使用我的出版商帐户登录,但我的另一个帐户可以正常工作。也许值得一试。


我还没有尝试过调试密钥库,因为我想看到发布版本的工作情况。发布版本是导出时给定指纹的已导出构建。我将应用程序ID添加回去并导出以安装在我的设备上。 - awonderer

0

还有一件可以尝试的事情是将导出并签名的yourapp.apk作为附件发送到测试人员的电子邮件账户,然后通过电子邮件安装应用程序(通过单击附件),而不是通过USB。

我觉得这里的问题不在于Play服务,而在于Google+,因为有时更改(例如删除某些信息)需要几天时间才能生效。如果什么都不起作用,请创建一个新的Gmail帐户,然后再试一次(这就是最终“奏效”的方法 :))。

编辑:最初无法使用的旧帐户在4-5天后开始工作。也许Google只需要一些时间来同步所有内容。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接