简体   繁体   English

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

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

Since a couple of days it's possible to use in-app-billing in Android apps. 由于几天后就可以在Android应用中使用应用内结算功能。 Very cool of course. 当然很酷。 So, I started working on a update for my application to implement this. 所以,我开始为我的应用程序进行更新以实现它。 But now I run into some problems. 但现在我遇到了一些问题。 This is what I did: 这就是我做的:

  • I first tried the reserved product IDs for testing static in-app billing responses. 我首先尝试使用保留的产品ID来测试静态应用内结算响应。 That works without problems. 这没有问题。
  • I uploaded a draft APK to the market (with production signing, no debug signing), that included the com.android.vending.BILLING permission. 我向市场上传了一份草稿APK(带有生产签名,没有调试签名),其中包括com.android.vending.BILLING权限。
  • When I did that I was able to add a 'In-app Products' to my app in the market and set it status to published. 当我这样做时,我能够在我的应用程序中添加“应用内商品”,并将其设置为已发布。
  • I created a test user and reseted my device to make that test user the primary account on my test device. 我创建了一个测试用户并重置了我的设备,使该测试用户成为我的测试设备上的主要帐户。
  • The reserved product id's still work. 保留的产品ID仍然有效。

Now comes the problem. 现在出现了问题。 When I use my own product ID (the one I added before, see above) a dialog is shown with the following text: 当我使用自己的产品ID(我之前添加的产品ID,见上文)时,会显示一个对话框,其中包含以下文本:

" Application Error : This version of the application is not configured for Market Billing. Check the help center for more information. " 应用程序错误:此版本的应用程序未配置为市场结算。请查看帮助中心以获取更多信息。

There is nothing strange I can find in the log. 我在日志中找不到任何奇怪的东西。 Anyone knows what I'm doing wrong here? 谁知道我在这里做错了什么?

I just encountered this issue and realized it was because I was running a debug, unsigned version of my app. 我刚刚遇到这个问题,并意识到这是因为我正在运行我的应用程序的调试,未签名版本。 In Eclipse, when I exported and signed my application and installed it on the phone, then I was able to use my in-app products without seeing this error message. 在Eclipse中,当我导出并签署我的应用程序并将其安装在手机上时,我能够使用我的应用内产品而不会看到此错误消息。

I have found that once I upload a new copy of my APK to the market, then I experience that "application error" during course of the next hour or so. 我发现,一旦我将APK的新副本上传到市场,我就会在接下来的一小时左右遇到“应用程序错误”。 After at least one hour has gone by (sometimes up to two hours need to have gone by), then I no longer get that error anymore and I can then purchase my items without any problems. 经过至少一个小时后(有时需要长达两个小时),我不再再犯这个错误了,然后我可以毫无问题地购买我的物品。 It seems that the Google servers need at least an hour to process the fact that you have uploaded a new APK (with regards to the InApp Billing aspect of the APK). 似乎Google服务器至少需要一个小时才能处理您上传新APK的事实(关于APK的InApp结算方面)。

So my advice is for you to wait 1 to 2 hours after uploading your APK, and then see if you still get the "application error". 所以我建议您在上传APK后等待1到2个小时,然后查看是否仍然出现“应用程序错误”。

I also ran into this problem. 我也遇到了这个问题。 I finally realized that my published app had a versionCode of 3, my draft (unpublished apk with the Billing permission) had a versionCode of 4, and the signed apk I was using to test in-app billing was still at versionCode 3. Once I changed the versionCode to 4, I was able to get through to the actual in-app product page for the purchase I was requesting. 我终于意识到我发布的应用程序的版本编码为3,我的草稿(带有结算权限的未发布的apk)的版本编码为4,而我用来测试应用内结算的签名版apk仍然是版本代码3.一旦我将versionCode更改为4,我能够通过实际的应用内商品页面进行我要求的购买。

This can happen on signed, released builds when the apk uploaded as a draft does not match the apk running on your system in test mode. 当作为草稿上传的apk与在测试模式下在系统上运行的apk不匹配时,这可能发生在已签名的已发布版本上。 Just make sure that your builds match up, you should be alright in test mode and will stop seeing the errors. 只要确保您的构建匹配,您应该在测试模式下正常并且将停止查看错误。

The big worry here is that we'll see this same behavior in production, ie, we release 1.0.0-1 with in-app billing, then we release 1.0.0-2, and users running 1.0.0-1 will be unable to purchase or have their purchases restored and will receive the same error (very bad user experience). 这里最大的担心是我们会在生产中看到同样的行为,即我们通过应用内计费发布1.0.0-1,然后发布1.0.0-2,运行1.0.0-1的用户将是无法购买或恢复购买并将收到相同的错误(非常糟糕的用户体验)。 Have been scouring the docs for mention of this behavior as specific to test-mode, but no luck so far; 一直在搜索文档以提及这种特定于测试模式的行为,但到目前为止还没有运气; we've added a bug here: http://code.google.com/p/marketbilling/issues/detail?id=15#c0 我们在这里添加了一个错误: http//code.google.com/p/marketbilling/issues/detail?id = 15#c0

I also encountered the same issue...but now issue is solved 我也遇到了同样的问题......但现在问题已经解决了

My observations based on few trials: 我的观察基于一些试验:

  1. The version code should match both on the Google Play and the Device 版本代码应与Google Play和设备上的版本代码相匹配
  2. Even though versions match, we may still get this error 即使版本匹配,我们仍可能会收到此错误
  3. Wait about 1 to 2 hrs then try, we will not get this error 等待大约1到2小时然后尝试,我们不会得到这个错误

Hope this helps 希望这可以帮助

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

This error may occur for several reasons. 出于多种原因可能会发生此错误。
Here is the list of requirements for the Google IAB testing. 以下是Google IAB测试的要求列表。

Prerequisites: 先决条件:

  1. AndroidManifest must include "com.android.vending.BILLING" permission . AndroidManifest必须包含“com.android.vending.BILLING”权限
  2. APK is built in release mode . APK是在发布模式下构建的。
  3. APK is signed with the release certificate(s) . APK已与发布证书签名。
  4. APK is uploaded to alfa/beta distribution channel (previously - as a draft) to the developer console at least once. APK上传到alfa / beta分发渠道(之前 - 作为草稿)至少一次到开发者控制台。 (takes some time ~2h-24h ). (需要一些时间~2h-24h )。
  5. IAB products are published and their status set to active . IAB 产品已发布 ,其状态设置为活动状态
  6. Test account(s) is added in developer console. 测试帐户已添加到开发人员控制台中。

Testing requirements: 测试要求:

  1. Test APK has the same versionCode as the one uploaded to developer console. 测试APK具有上传到开发者控制台的版本相同的版本代码
  2. Test APK is signed with the same certificate(s) as the one uploaded to dev.console. 测试APK使用与上传到dev.console的证书相同的证书进行签名。
  3. Test account (not developer) - is the main account on the device. 测试帐户 (不是开发人员) - 是设备上的主要帐户

PS: Debugging with release certificate : https://stackoverflow.com/a/15754187/1321401 (Thnx @dipp for the link) PS: 使用发布证书进行调试https//stackoverflow.com/a/15754187/1321401 (链接的Thnx @dipp

PPS: Wanted to make this list for a long time already. PPS:希望已经很长时间制作这份清单了。

Thnx @zlgdev for update Thnx @zlgdev进行更新

My solution was that I needed to use the same key to sign apk in Market (as draft APK), and in test. 我的解决方案是我需要使用相同的密钥在Market中签名apk(作为草案APK),并在测试中。 So instead of just Run Application I always have to export signed APK with every update, uninstall and reinstall it in device using apk command-line commands. 因此,不仅仅是运行应用程序,我总是必须在每次更新时导出已签名的APK,卸载并使用apk命令行命令在设备中重新安装。 In principle you can use your own keystore as debug keystore also, but it requires using specific hardcoded passwords and names for keys. 原则上,您也可以使用自己的密钥库作为调试密钥库,但它需要使用特定的硬编码密码和密钥名称。

Thought I'd share one more possible solution if you're getting this error. 如果你收到这个错误,我想再分享一个可能的解决方案。 I originally uploaded to google a draft of my apk with the billing permission enabled, so I was able to set up in app purchasables. 我最初上传到google我的apk的草稿并启用了结算权限,因此我能够在app appssables中设置。 Later on I uploaded another apk without the billing permission missing from my AndroidManifest, which resulted in the error. 后来我上传了另一个没有我的AndroidManifest缺少结算权限的apk,导致错误。 Definitely seems like an unlikely case, but it happened for me so it's possible. 绝对看起来似乎不太可能,但它发生在我身上,所以它是可能的。

Edit: Along the same fold, if the version you have submitted as draft to google is unsigned, the error will also occur. 编辑:沿着相同的折叠,如果您作为草稿提交到谷歌的版本是未签名的,则也会发生错误。

To throw in my two cents, I was able to test it by uploading to the Beta version and creating a Gmail account with testing access under the settings tab with a new version of my app... 为了投入我的两分钱,我能够通过上传到Beta版本并在设置选项卡下创建一个带有测试访问权限的Gmail帐户来测试它,并使用我的应用程序的新版本...

I'm now moving it to production... 我现在正把它转移到生产中......

Thanks! 谢谢! Nathan 弥敦道

Old thread, but adding my experience... 老线程,但添加我的经验......

I installed an apk with a versionCode 1 higher than was in the store. 我安装了一个apk版本的versionCode 1高于商店。 Played it on 2 different accounts on my Nexus 7 and experienced this problem. 在我的Nexus 7上的2个不同帐户上播放它并遇到了这个问题。 So I uninstalled and reinstalled from the store to make sure the versionCode matched. 所以我从商店卸载并重新安装,以确保versionCode匹配。 Even waiting overnight the error didn't clear. 即使在一夜之间等待错误也没有明确。

Turns out I needed to uninstall from all 3 google accounts I have tied to my Nexus 7. It recovered when I uninstalled the app explicitly from all three accounts on my nexus 7 then reinstalled from the store. 事实证明我需要从我绑定到Nexus 7的所有3个谷歌帐户中卸载。当我从我的nexus 7上的所有三个帐户中明确卸载应用程序然后从商店重新安装时,它恢复了。

暂无
暂无

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

相关问题 如何修复 - “此版本的应用程序未配置市场结算”? - How to fix - “This version of the application is not configured for Market Billing”? InApp-此版本的应用程序未配置计费 - InApp - This version of application is not configured for billing 错误:此版本的应用程序未配置为通过Google Play结算 - Error: This version of the application is not configured for billing through Google Play 从Android Studio运行时,“此版本的应用程序未配置为计费”错误 - “This version of the application is not configured for billing” error when run from Android Studio 此版本的应用程序未配置为通过 Google Play 计费 - This version of the application is not configured for billing through Google Play TrivialDrive显示“此版本的应用程序未配置为通过...进行计费” - TrivialDrive showing “This version of the application is not configured for billing through …” 应用程序更新后,此版本的应用程序未配置为计费 - This version of the application is not configured for billing after app update 应用程序未配置为通过 Google Play 计费错误 - Application not configured for billing through Google Play error Android IAP 获取错误此版本的应用程序未配置为通过 google play 计费 查看帮助中心 - Android IAP get error this version of the application is not configured for billing through google play check the help center 购买Android In App:未配置此版本的应用,以便通过Google Play计费 - Android In app purchase: This version of the application is not configured for billing through Google Play
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM