谷歌游戏服务 - 登录 - 客户端ID调试与发布版

16

在我的第一款游戏中成功实现了Google Play服务之后,现在是时候实现第二款游戏了。

我被卡住了,出现了“此客户端ID未关联任何链接的应用程序”的消息.....

我已经为调试和发布正确配置了所有事项。当我从Eclipse运行应用程序时它可以工作(使用调试密钥并且我可以登录)。

当我创建签名APK并将其安装到设备上时,出现“此客户端ID未关联任何链接的应用程序”的消息。

在Google API中,我有2个客户端ID(调试和发布,也尝试删除其中一个 - 没有运气)。 我尝试添加/删除测试帐户;/ 我创建了beta测试,将游戏推送到Google Play,并标记为beta测试。然后从商店中安装它作为“beta测试员” 我还检查了SHA1值,并正确设置。META-INF/CERT.rsa显示与Google API中的发布相同的SHA

这是更新而不是新apk,游戏服务已经发布,因为在调试模式下它们正常工作。

这是一款付费应用程序。 在此之后,我尝试创建具有相同包名称的第二个链接应用程序。 它仍然无法正常工作,现在我无法删除第二个链接的应用程序:/

我知道这很混乱,但还有什么别的可能性吗? 我无法登录....

3个回答

26

编辑:我遵循了 Google 的说明解决了问题。哈哈

注意:如果您正在使用调试证书调试游戏,但已经使用发布证书配置了游戏服务,则应添加第二个关联的应用程序,使用相同的包名称和您的调试证书的 SHA1 指纹。这将允许您登录应用程序,无论是使用调试还是发布证书签名。

Google 服务开发者链接

"第二个关联的应用程序" 是关键点,不是两个游戏,而是在同一游戏中创建两个关联的应用程序

因此,正确的方法是在 Google Play 开发者控制台中多次关联同一个应用程序:

  • 第一个应用程序的捆绑包为 com.name.appname ,发布证书的指纹

  • 另一个应用程序与相同的捆绑包和另一个名称(如 AppName Test User1)以及调试指纹相关联

这样,在 Api Developer Console 中,它将为同一项目创建两个 OAuth2 客户端 ID,并且两者都可以正常工作。

注意:如果进行了许多测试,请记得删除 Google Play 开发者控制台中的所有游戏部分中的应用程序以及 Api Developer Console 中的所有项目。


如果我尝试使用调试指纹添加链接应用程序,它会显示:“此客户端ID是全局唯一的,并且已经在使用中。” - cesards
我的调试证书总是无法正常工作。我使用自己的调试密钥库上传了一个发布版本。然后我设置我的IDE/Gradle使用该密钥库签署调试构建。除此之外,我还可以上传已发布的状态,并告诉IDE/Gradle使用我的发布密钥库签署发布版。是的,这很奇怪,但我花了很多天才让我的默认.android/default.keystore正常工作。 - Madmenyo
对我来说运行良好。是有史以来最好的答案之一。整整一天,我一直在针对我的发布应用进行调试,每次构建已签名的apk并安装它!太棒了。 - Russ Wheeler

5
上面的被接受的答案是正确的,但现在Play商店使用Google Play应用签名,它将用不同的密钥替换您用于创建已签名apk的密钥。因此,如果您继续遇到问题(就像我一样),这可能是问题所在。
我在这里找到了答案,但我会进行转述。基本上,按照以上所有步骤,但您需要使用Play商店使用的密钥。转到Google Play控制台并选择您正在使用的应用程序。单击左侧菜单上的“发布管理”,然后单击“应用签名”。您将看到“应用签名证书”和“上传证书”两个选项。您需要使用“应用签名证书”中的SHA-1指纹才能使0auth2客户端ID正常工作。

2

需要创建两个与游戏相关的服务(应用程序):

  1. 用于调试证书的SHA1指纹。
  2. 用于发布证书的SHA1指纹。

如果游戏已发布,则无法创建第二个与另一个SHA关联的应用程序。


完全不是这样。您所要做的就是将第二个链接的应用程序添加到同一游戏条目中,就像DonMizzi在被接受的答案中建议的那样。当它要求您授权新添加的应用程序时,只需输入调试密钥库的SHA1证书指纹即可。我曾经为此苦苦挣扎了几天,现在已经成功添加了它,没有任何问题。 - Levon
你是怎么做到的?在我的情况下,当我尝试使用不同的名称链接相同的包时,为了使用debug.keystore,Play Console没有显示"Authorize"按钮来提供调试SHA1。。:( 这里是我的帖子:http://stackoverflow.com/questions/37099493/android-games-leaderboard-broken-while-testing 谢谢! - Dimitris

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