测试应用内结算:“发布商无法购买此商品”

时间:2013-01-03 12:32:39

标签: android in-app-purchase in-app-billing

我的应用似乎已准备好对我的设备上的应用内购买程序进行“真实生活”测试。但是,我在Play商店收到“发布商无法购买此商品”错误消息。 现在,我该怎么测试呢?我不想丢失手机的配置,只需重新安装一个虚拟帐户进行测试。 在“设置” - “许可证测试”下的开发者控制台中,我在“具有测试访问权限的GMail帐户”下添加了我的电子邮件地址,但这并没有改变任何内容......也许我错过了一些简单的方法,但现在它感到非常困惑!

13 个答案:

答案 0 :(得分:43)

开发人员无法从自己购买任何东西。要进行全面测试,您需要在开发者控制台中创建一个测试帐户,然后将您的应用程序安装在主帐户的设备上。没有其他办法。 见http://developer.android.com/google/play/billing/billing_testing.html

答案 1 :(得分:21)

这是尝试将所有要求放在一个答案中。这是对我有用的最简单的过程:

  1. 设置新的Gmail帐户,或使用非您的开发者帐户的现有Gmail帐户。
  2. 在设置>中列出Google Play开发者控制台中测试帐户的电子邮件地址;帐户详情>许可证测试。
  3. 在您的设备上,转到设置>在帐户中,选择您的开发者帐户,点击三点菜单,然后选择删除以从设备中删除该帐户。您可以稍后再添加。
  4. 构建应用的签名版本变体。
  5. 将应用程序上传为Play商店中的Alpha,发布并等待几个小时才能激活。 Or setup an internal test channel to get the update faster
  6. 如果您的设备已安装该应用的调试版本,则必须将其删除。或者使用this technique并行运行调试版和发行版(但您仍需要第一次删除调试版)。
  7. 将发布版本下载到您的设备上。显然,您可以通过直接导航到应用程序URL从Play商店执行此操作,但每当我尝试此操作时,我都会收到未找到的"项目"信息。我将应用程序上传到我自己的服务器,然后从那里将其下载到设备。
  8. 将发布版本下载到您的设备上。或者使用this technique从密钥库中签署Android Studio中的发布版本,然后将应用从Android Studio部署到您的设备上。
  9. 在您的设备上运行发布版本。如果Play商店中的Alpha尚未激活,您会看到错误,即应用版本未针对应用内结算进行配置。如果alpha准备就绪,您将能够继续完成测试过程。
  10. 当您进入付款界面时,即使您不需要为购买付款,也必须输入真实的付款信息。我选择使用现有的PayPal帐户,而不是将我的信用卡信息添加到我的Google测试帐户。

答案 2 :(得分:14)

与此同时,我通过将SKU ID更改为“android.test.purchased”(请参阅​​http://developer.android.com/google/play/billing/billing_testing.html)来帮助自己,这可以让“有点”完成购买过程并玩一下。

然而,在我看来,这不是一个平滑的解决方案,只是部分满意,因为开发人员没有看到“真正的”用户看到和体验的东西,而是从带有假名称的黑匣子中收到一些结果代码(它甚至以这种方式命名,并且无法超越Google Play界面。

答案 3 :(得分:6)

对于那些仍然坚持这个令人讨厌的功能的人来说,有一个最新版本的android(5+ Lollipop)的解决方案。

简单的解决方案 1.转到设置,然后向下滚动到"用户" 2.添加新的测试用户。 3.使用此用户打开应用程序

现在,您可以通过测试用户测试应用购买内容。

答案 4 :(得分:4)

我通过卸载应用程序,转到Play商店并切换到我的非开发者帐户以及下载和安装应用程序来解决这个问题。

答案 5 :(得分:3)

总结我自己的陷阱:

  • 以alpha或beta渠道上传您的应用
  • 发布您的应用(在测试版或Alpha频道发布时,除了测试人员列表中的人之外,任何人都无法看到您的应用)
  • 将您的帐户添加到“测试人员”列表
  • 转到“测试人员”链接(类似“https://play.google.com/apps/testing/< package_name>”)并点击“参与”(这是我错过的)
  • 发布您的inapp项目
  • 构建应用版本(!)并将其上传到设备上。
  • 确保设备版本和市场版本使用相同的发布密钥

  • 进行签名
  • 确保市场版本号不小于构建gradle中定义的版本号

答案 6 :(得分:3)

您尝试使用用于将应用上传到商店的帐户购买该商品。

如果您使用abc@gmail.com在Android商店上传应用程序并尝试使用abc@gmail.com在该应用上进行购买,则会收到该错误。

尝试使用其他Google Play商店帐户在其他人的手机上进行购买。

结论:你不能自己购买。

答案 7 :(得分:0)

我遇到同样的错误,现在解决了我失败的两个主要原因:1。我没有激活应用内商品,意味着他们处于非活动模式。如果要进行测试,则必须添加Beta测试人员。

答案 8 :(得分:0)

我已经解决了这个问题:1。使用签名的apk
2。我没有激活应用内商品,意味着他们处于非活动模式

答案 9 :(得分:0)

我通过

解决了这个错误
  1. 使用已签名的apk进行测试
  2. sku名称与inapp产品名称相同
  3. 在应用商品中处于有效状态
  4. app必须发布状态显示

答案 10 :(得分:0)

我手动安装APK从eclipse到手机然后手动打开它时遇到了同样的问题。正确的程序是将其发送到Google Play进行alpha测试,然后等待几个小时发布到您必须管理的alpha或beta测试人员,必须创建,必须授予他们访问您的应用程序的权限。开发人员将收到一封电子邮件,其中包含几个小时后提供给测试人员的链接。一旦发生这种情况,只需转发给您的社区即可在您的手机中创建一个额外的谷歌帐户(属于社区)并使用该打开的Gmail,然后按链接。它将指导您进行谷歌播放,您将自动下载应用程序作为测试人员。安装,购买gass .. tada !!

答案 11 :(得分:0)

我认为最好的方法是在没有Google Play inapp代码的情况下全面测试付费/免费版本功能。只有在最后,添加inapp代码才能在free或pro之间切换。将APK上传到alpha版本并获取从未见过您的开发者帐户或应用程序本身的设备。使用可兑换代码安装并购买。如果代码有效,那么实际付款应该是(付款方式不是代码库的一部分,而是在谷歌方面)

答案 12 :(得分:-1)

我认为你得到这个结果的原因是因为你在开发环境中运行了应用程序。

要测试应用内结算,您需要对应用进行签名。 查看更多信息herehere

这确实令人讨厌,并延长了开发周期:(