我们根据官方的Google开发文档为我们的Android游戏实现了Google Play的成就,但似乎有些不足,因为我们注意到Google Play游戏应用中存在以下奇怪行为:
这些成就显示为游戏中的解锁弹出窗口,就像他们通过游戏玩法互动所获得的那样,但仍然没有出现在Google Play游戏应用中。
我们读到它可能需要一个玩家门槛才能出现,但另一方面,我们看到的游戏只有100次下载,已经在Google Play游戏应用中拥有成就计数器和徽章。我们这边是否需要任何其他配置或操作才能显示它?
答案 0 :(得分:3)
我们自己找到了答案。我们搞砸了Google Play Developer console
和Google API console
中的配置。
我们注意到我们的应用有不同的OAuth2客户端ID,例如:
Google Play开发者控制台,关联的应用详情视图
121212121212-4k97si3bnwertwertwet78oj571nl81ce3.apps.googleusercontent.com
Google API控制台,凭据,OAuth 2.0客户端ID
121212121212-h25jh8qrps8awertwetertwetweagp3n3t.apps.googleusercontent.com
我们还看到,当我们查看Google Play Games Services
的信息中心时,我们遇到了很多来自Google API console
的错误。
仔细观察,我们发现几乎所有这些都是客户端错误(4xx),但我们无法找到原因。
我认为在开发期间的某些时候,我们的签名证书的SHA1存在问题,我们可以在OAuth2.0
中手动创建一个新的Google API console
客户端来更新SHA1。
根据此Google Developers video,这是不好的,它表示应在OAuth2.0
中创建Google Play Developer console
客户端,因为它会自动创建客户端ID并将其与{{1}相关联}和Achievements
。如果它是Leaderboards
中的另一种方式创建的,则没有链接,它将返回有效的登录信息,但不知道哪个Google API console
和Achievements
应该是使用并将返回错误。
由于Leaderboards
中的关联应用在发布后无法再删除,我们将其重命名,以便它们列在链接应用的底部(zz-mygame),我们删除了{{ 1}}我们在Google Play Developer console
手动创建的客户端,因为它们无论如何都不使用OAuth 2.0
。
然后,我们在Google API console
游戏的游戏服务部分创建了新的关联应用,添加了正确的SHA1,这就生成了一个新的Google Play services
客户端,该客户端与Google Play Developer Console
相关联。然后,我们在“凭据”部分的OAuth 2.0
中对此进行了检查,发现添加了一个新的Play services
客户端,并且此客户端具有相同的ID(121212121212-34adfasdfsf34343422zzzz3433.apps.googleusercontent.com),如Google API console
中的游戏服务的链接应用部分。
在完成这些更改后,“成就”工作正常,并且在使用开发版本测试游戏时以及对OAuth 2.0
具有测试访问权限的用户时,“成就”现在将显示在Google Play Developer console
中列出所有成就的自己的标签。此外,Google Play Game Services
中的错误也不再发生。
答案 1 :(得分:0)
非常感谢您的解释! 我遇到过同样的问题。 OAuth 2.0客户端ID不同。但是,我没有在API控制台中收到任何错误。 SHA1指纹必须相同,你应该好好去。
我几天来一直在添加/删除/发布成就,Google Play也不会显示它们。 我可以通过将Google Play设置回Galaxy S4上的出厂设置(清除数据,缓存和卸载的更新)来解决此问题。 当我试图在我的游戏中显示成就时,弹出窗口说我需要更新版本的Google Play。 重新安装它,现在一切都像一个魅力。 希望有所帮助。
(编辑)解锁成就有效,但Google Play游戏应用中的成就和排行榜仍然没有标签......等待Google回复