已发布游戏上的“应用程序配置错误”
Posted
技术标签:
【中文标题】已发布游戏上的“应用程序配置错误”【英文标题】:"The Application is incorrectly configured" on published game 【发布时间】:2015-01-31 05:01:23 【问题描述】:我按照here 的说明通过 Google Play 开发者控制台设置了 Google Play 游戏服务。
我浏览了故障排除指南here。
如果我通过 Eclipse 运行我的应用程序,它可以很好地连接到 Play Games。但是现在更新已经发布,如果我从 Play 商店下载它就无法连接。
我验证了我从 android 导出的 SHA1 与开发者控制台中的内容相匹配。我什至尝试用 SHA1 链接一个新应用程序,它说:“这个客户端 ID 是全球唯一的,并且已经在使用中。”
我现在很恐慌,因为我的游戏已经上线并且无法连接。救命!
编辑:
我通过 Google Play 开发者控制台而不是 Google 开发者控制台添加了我的客户端 ID。我删除了 Google Developer Console 中的客户端 ID。
编辑:
我无法在 GDC 中添加新客户端,我收到有关“重复指纹”的错误:
【问题讨论】:
您是通过 Google Play 开发者控制台的游戏服务 > 链接的应用程序选项卡创建客户端 ID,还是直接通过 Google 开发者控制台创建?如果你用第二种方法,它可能行不通。 是的,客户端 ID 是通过 Google Play 开发者控制台 - 链接的应用程序选项卡创建的,而不是 GDC。 所以您有两个客户端 ID,对吗?一个用于您已发布的应用程序,一个用于您的开发密钥? 好吧,关于 GPDC 和 GDC 之间的客户端 ID 同步,您的状态似乎很糟糕。我建议从 GPDC 中删除所有链接的应用程序以及从 GDC 中删除所有客户端 ID。然后通过 GDC 重新创建链接的应用程序(一个带有调试密钥,一个带有 prod 密钥)。我以前见过这个,应该可以解决它。 能否在 GDC 中删除并重新添加所有客户端 ID? 【参考方案1】:您是否尝试过删除与您的游戏服务游戏安装应用程序相关的控制台项目?
【讨论】:
我已经从 APIs & Auth -> Credentials 部分删除了所有客户端。我也删除了所有项目。里面什么都没有了。当我返回 GPDC 并尝试添加客户端时,我收到错误消息“此客户端 ID 是全局唯一的并且已在使用中。”【参考方案2】:在更改/添加新的 API 客户端之前,请确保您已检查以下内容:
您的游戏项目是否已发布? 或者,您用于测试的帐户是否包含在测试人员列表中? 您是否正确签署了您的应用程序?如果您在已发布的游戏中使用调试密钥库,则该应用将无法正确进行身份验证。无论如何,如果您已经发布了应用程序,那么删除客户端可以修复正常工作的应用程序,我不想给您提供破坏内容的建议。也就是说,如果您确定需要创建/重新创建客户端,请继续。
您遇到“此客户端 ID 是全局唯一且已在使用中”的原因。问题是 any Google Developer 控制台项目(不一定是 Google Play 游戏项目,不一定是当前项目,也不一定是项目)中存在具有相同包名称和 SHA-1 哈希的客户端如果您在团队中工作,则用于您的帐户)。这是因为包名和 SHA-1 哈希的组合必须是唯一的,才能进行身份验证。
无论如何,该项目仍有可能创建了需要删除的客户端(适用于 Android)。这意味着您必须从开发者控制台中删除“坏”客户端,使用新的密钥库重新签署您的应用程序,或者使用不同的包名称。
选项 1 - 删除客户端
虽然这是最具破坏性的选项,但如果您已经从 Play 游戏开发者控制台中删除了客户端并且不想更改您的配置,这可能是一个好方法。
从https://console.developers.google.com 访问您的项目,因为这将为您提供从玩游戏控制台创建的客户端的超集,并将拥有一个相应的项目。选择 APIs & Auth -> Credentials 部分。从此处删除您要替换的所有 Android 客户端。
返回https://play.google.com/apps/publish 并选择您的游戏项目。您现在应该可以添加另一个客户端了。
选项 2 - 创建一个新的密钥库
Android documentation 对此进行了最好的介绍。更改您的密钥库后,您将能够使用新的密钥库签名添加另一个客户端。
选项 3 - 更改包名称
您必须使用 com.yourname.app 以外的内容更新 com.yourname.app。这意味着重命名 Android 项目中的文件夹,更改包含和包命名空间,以及更新项目的 AndroidManifest.xml。
更改其中任何一项后,您应该能够创建一个有效的 Google API 项目并准备好您的应用。
【讨论】:
感谢您的回复!选项 1:我在我的原始帖子(带图片)中显示我尝试过这个但它不起作用。我从 GDC 中删除了它。当我返回 GPDC 并尝试添加一个新的时,我得到“客户端 ID 是全球唯一的并且已经在使用中”。我做错了吗?选项 2 和 3:是否可以在不完全重新开始并丢失所有评分和下载的情况下执行这些操作?这不会涉及从 Google Play 中删除我当前的游戏并将其作为新游戏上传吗? 哪个签名证书导致您出现问题?发布还是调试?另外,再次检查选项 1,在开发者控制台中很容易忽略 Android API 客户端的流氓实例,您必须删除所有项目中使用相同密钥签名的所有实例,然后才能发布。 发行证书是问题所在。我有一个在 Google Play Store 上发布的游戏,当人们尝试登录时出现错误:“应用程序配置不正确”。我已经从 APIs & Auth -> Credentials 部分删除了所有客户端。我也删除了所有项目。里面什么都没有了。 i.stack.imgur.com/Te5nq.png 您现在可以使用现有密钥创建新客户端吗?听起来您选择了选项 1(故意或意外,因为您的实时客户正在中断)。对于选项 2,您将能够创建一个可与您的应用程序一起使用的附加客户端,因为签名证书 + 包名称的组合将是唯一的,而不会影响实时应用程序。选项 3 可能需要重新发布,我不是该领域的专家... 您是否使用 ProGuard 来混淆您的应用程序?应用对游戏API的使用筛选出现问题(比如你配置了成就,但从来没有调用unlock()。如果还是有问题,能否提供包名?【参考方案3】:您只有一个帐户吗?
“此客户端 ID 是全球唯一的,并且已在使用中。”
也许有人正在使用您的 sha1... 或者您使用其他帐户
【讨论】:
我确实有多个 Google 帐户,但我只有一个创建了任何客户端 ID。我登录了所有帐户并检查了它们是否有任何挥之不去的帐户,但它们都没有。以上是关于已发布游戏上的“应用程序配置错误”的主要内容,如果未能解决你的问题,请参考以下文章