任何可能相关的次要信息:
- 在 Unity3d 游戏引擎中使用 C#
- 应用程序需要使用 Google obb 下载器和 GoogleIAB(都可以正常工作)
- 使用 Prime31 插件访问以下内容:
- 同时使用成就和排行榜(我认为是身份验证问题?)
- 应用程序连接并发布到 Facebook(正常工作)
无法登录 - 应用程序没有注册的客户端 ID
以前我在连接 Google Play 游戏服务时遇到问题。似乎我在应用程序中的证书指纹中的 SHA1 代码与我在游戏服务链接应用程序中的代码不同(它放置在那里的默认 SHA1)。不幸的是我已经发布了,所以我不得不取消发布应用程序,取消发布游戏服务,然后重新创建它们。我使用了我生成的全新密钥库(虽然别名相同),并确保从该密钥库生成 SHA1 代码并放入链接的应用程序中。
这行得通!我在设备上用我所有的成就和排行榜对其进行了测试,一切都很顺利。经过几次快速的代码/数据更改(文本更新、注释代码等)后,我重建了项目并上传了新的 apk 和 obb。然后,发布后,它不再起作用,返回错误:无法登录 - 应用程序没有注册的客户端 ID。
这是我发现 Google API 控制台的地方。在那里,我发现我当前的良好客户端 ID 和旧客户端 ID(具有旧密钥库和错误 SHA1 的那个)仍然存在。为了安全起见,我删除了不再使用的旧版本。将当前客户端 ID 中的信息与游戏服务控制台和我保存的密钥库证书输出进行比较,一切似乎都是正确的。
如果这很重要,我在构建项目时没有将 .keystore 文件保存在我的项目中。任何帮助都非常感谢和抱歉,如果我放下太多信息,不想错过任何东西。谢谢!
* 编辑 1 *
我发现了一些事情,并在尝试登录时注意到另一个奇怪的错误,这可能更接近问题?:
我首先得到这个,当它连接时立即得到:
Authentication error: Unable to respond to any of these challenges: {bearer=WWW-
Authenticate: Bearer realm="https://www.google.com/accounts/AuthSubRequest",
error=invalid_token}
这是我发布的原始错误之前出现的几个:
E/Volley ( 3928): [25080] iu.a: Unexpected response code 401 for
https://www.googleapis.com/games/v1/players/#####################
E/SignInIntentService( 2620): There is no linked app associated with this client ID.
... about 10 lines of irrelavant android output
E/LoadSelfFragment( 2925): Unable to Sign in - Application does not have a
registered client id
我可能忘记了新的附加信息:我目前在加拿大为位于美国的公司签署证书。它会检测到有问题吗?我对此表示怀疑,但以防万一。
还是没解决好难过。