0

任何可能相关的次要信息:

  • 在 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

我可能忘记了新的附加信息:我目前在加拿大为位于美国的公司签署证书。它会检测到有问题吗?我对此表示怀疑,但以防万一。

还是没解决好难过。

4

1 回答 1

0

您是否从发布密钥中输入了正确的 SHA1 指纹,这是链接的应用程序部分,您真的应该有 2 个密钥,我开发了一个链接的版本

keytool -exportcert -alias androiddebugkey -keystore <PATH_TO_YOUR_KEY_FILE> -v -list
于 2013-11-19T14:13:47.343 回答