繁体   English   中英

应用程序错误:未为市场结算配置此版本的应用程序

[英]Application Error : This version of the application is not configured for Market Billing

由于几天后就可以在Android应用中使用应用内结算功能。 当然很酷。 所以,我开始为我的应用程序进行更新以实现它。 但现在我遇到了一些问题。 这就是我做的:

  • 我首先尝试使用保留的产品ID来测试静态应用内结算响应。 这没有问题。
  • 我向市场上传了一份草稿APK(带有生产签名,没有调试签名),其中包括com.android.vending.BILLING权限。
  • 当我这样做时,我能够在我的应用程序中添加“应用内商品”,并将其设置为已发布。
  • 我创建了一个测试用户并重置了我的设备,使该测试用户成为我的测试设备上的主要帐户。
  • 保留的产品ID仍然有效。

现在出现了问题。 当我使用自己的产品ID(我之前添加的产品ID,见上文)时,会显示一个对话框,其中包含以下文本:

应用程序错误:此版本的应用程序未配置为市场结算。请查看帮助中心以获取更多信息。

我在日志中找不到任何奇怪的东西。 谁知道我在这里做错了什么?

我刚刚遇到这个问题,并意识到这是因为我正在运行我的应用程序的调试,未签名版本。 在Eclipse中,当我导出并签署我的应用程序并将其安装在手机上时,我能够使用我的应用内产品而不会看到此错误消息。

我发现,一旦我将APK的新副本上传到市场,我就会在接下来的一小时左右遇到“应用程序错误”。 经过至少一个小时后(有时需要长达两个小时),我不再再犯这个错误了,然后我可以毫无问题地购买我的物品。 似乎Google服务器至少需要一个小时才能处理您上传新APK的事实(关于APK的InApp结算方面)。

所以我建议您在上传APK后等待1到2个小时,然后查看是否仍然出现“应用程序错误”。

我也遇到了这个问题。 我终于意识到我发布的应用程序的版本编码为3,我的草稿(带有结算权限的未发布的apk)的版本编码为4,而我用来测试应用内结算的签名版apk仍然是版本代码3.一旦我将versionCode更改为4,我能够通过实际的应用内商品页面进行我要求的购买。

当作为草稿上传的apk与在测试模式下在系统上运行的apk不匹配时,这可能发生在已签名的已发布版本上。 只要确保您的构建匹配,您应该在测试模式下正常并且将停止查看错误。

这里最大的担心是我们会在生产中看到同样的行为,即我们通过应用内计费发布1.0.0-1,然后发布1.0.0-2,运行1.0.0-1的用户将是无法购买或恢复购买并将收到相同的错误(非常糟糕的用户体验)。 一直在搜索文档以提及这种特定于测试模式的行为,但到目前为止还没有运气; 我们在这里添加了一个错误: http//code.google.com/p/marketbilling/issues/detail?id = 15#c0

我也遇到了同样的问题......但现在问题已经解决了

我的观察基于一些试验:

  1. 版本代码应与Google Play和设备上的版本代码相匹配
  2. 即使版本匹配,我们仍可能会收到此错误
  3. 等待大约1到2小时然后尝试,我们不会得到这个错误

希望这可以帮助

从重复的问题复制: https//stackoverflow.com/a/22469253/1321401

出于多种原因可能会发生此错误。
以下是Google IAB测试的要求列表。

先决条件:

  1. AndroidManifest必须包含“com.android.vending.BILLING”权限
  2. APK是在发布模式下构建的。
  3. APK已与发布证书签名。
  4. APK上传到alfa / beta分发渠道(之前 - 作为草稿)至少一次到开发者控制台。 (需要一些时间~2h-24h )。
  5. IAB 产品已发布 ,其状态设置为活动状态
  6. 测试帐户已添加到开发人员控制台中。

测试要求:

  1. 测试APK具有上传到开发者控制台的版本相同的版本代码
  2. 测试APK使用与上传到dev.console的证书相同的证书进行签名。
  3. 测试帐户 (不是开发人员) - 是设备上的主要帐户

PS: 使用发布证书进行调试https//stackoverflow.com/a/15754187/1321401 (链接的Thnx @dipp

PPS:希望已经很长时间制作这份清单了。

Thnx @zlgdev进行更新

我的解决方案是我需要使用相同的密钥在Market中签名apk(作为草案APK),并在测试中。 因此,不仅仅是运行应用程序,我总是必须在每次更新时导出已签名的APK,卸载并使用apk命令行命令在设备中重新安装。 原则上,您也可以使用自己的密钥库作为调试密钥库,但它需要使用特定的硬编码密码和密钥名称。

如果你收到这个错误,我想再分享一个可能的解决方案。 我最初上传到google我的apk的草稿并启用了结算权限,因此我能够在app appssables中设置。 后来我上传了另一个没有我的AndroidManifest缺少结算权限的apk,导致错误。 绝对看起来似乎不太可能,但它发生在我身上,所以它是可能的。

编辑:沿着相同的折叠,如果您作为草稿提交到谷歌的版本是未签名的,则也会发生错误。

为了投入我的两分钱,我能够通过上传到Beta版本并在设置选项卡下创建一个带有测试访问权限的Gmail帐户来测试它,并使用我的应用程序的新版本...

我现在正把它转移到生产中......

谢谢! 弥敦道

老线程,但添加我的经验......

我安装了一个apk版本的versionCode 1高于商店。 在我的Nexus 7上的2个不同帐户上播放它并遇到了这个问题。 所以我从商店卸载并重新安装,以确保versionCode匹配。 即使在一夜之间等待错误也没有明确。

事实证明我需要从我绑定到Nexus 7的所有3个谷歌帐户中卸载。当我从我的nexus 7上的所有三个帐户中明确卸载应用程序然后从商店重新安装时,它恢复了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM