尝试购买的商品未找到 - Android 应用内计费

42

在测试我的应用时,我收到了这个错误。

应用程序已签名并上传到开发者控制台的alpha测试部分。

应用内物品状态为“活动”。

我在“测试访问权限”中输入了与我的开发者账户不同的账户。

我正在使用具有主要帐户的设备进行“测试访问权限”,而不是开发者帐户。

我已经仔细检查了我的SKU拼写。

完全相同的.apk已经上传到开发者控制台并安装在测试设备上。

我已经仔细检查了许可证密钥。

我已经等待了12个小时以上以使SKU和测试账户传播。

当我使用android.test.purchased时,所有东西似乎都可以正常工作。

关于此错误有多个问题。将我带到这里的相关链接包括:

https://groups.google.com/forum/#!topic/android-developers/A2RM4P34zo0

如何解决“您尝试购买的物品无法找到”

"按照说明进行后,“您尝试购买的物品无法找到”

"您尝试购买的物品无法找到"

http://developer.android.com/google/play/billing/billing_testing.html#billing-testing-test

使用未发布应用程序测试Android应用内购买

Android应用内购买alpha测试模式

错误:您尝试购买的物品无法找到

未能在应用内购买中找到物品

应用内购买-找不到产品

Android购买-找不到物品

http://developer.android.com/training/in-app-billing/list-iab-products.html

http://www.techotopia.com/index.php/Integrating_Google_Play_In-app_Billing_into_an_Android_Application_%E2%80%93_A_Tutorial

测试账户是否需要真实信用卡才能通过应用内购买进行购买?

还有什么其他原因可能导致此错误?

有一次我成功通过了这个步骤。我的妻子的手机和账户被用于测试。在包含她的账户以获得测试权限并等待3个小时后,似乎运作正常。该物品被找到并要求验证她的账户密码。我递给她设备,她输入了密码,她说出现了一个错误并关闭对话框。我不知道那个错误是什么,也无法回到那个点。 我确定该物品未被购买,因为它不显示在已拥有列表中。在此之后,我使用另一个设备与另一个帐户,并等待另外3个小时。使用活动SKU时,新设备仅收到未找到物品的错误提示。


1
我已经按照所有步骤进行了操作,但仍然遇到相同的错误。如果您找到了任何解决方案,请告诉我@CyberedElf。 - Miral Dhokiya
@M.J. 前两个答案都解决了我的问题。应用程序必须发布。(它仍然可以处于 alpha 测试阶段,未发布给普通公众。) - CyberedElf
我已经将apk上传到Beta版本。 - Miral Dhokiya
1
请查看下面评论中Tom提供的链接。 - CyberedElf
2
这在2020年仍然存在于Billing Library 2.1.0中!尽管岁月流逝,有些事情永远不会改变。 - Someone Somewhere
5个回答

60

遇到了相同的问题,我也联系了谷歌,并得到了以下回复:


感谢您与Google Play开发者支持团队联系并报告您在应用内购买中看到的行为。

我们最近对我们的系统进行了一些更改,现在要求在测试之前必须发布应用。我们目前建议将您的APK发布到Alpha渠道以测试许可证、应用内购买和扩展文件。没有必要在Alpha渠道创建特殊的测试组来测试这些功能,但是应用必须已发布而不是草稿模式。

我们为给您带来的不便表示歉意,并正在努力更新我们的文档以反映这些变化。


将我的APK发布到Alpha(因为我还没有启动),等待大约一个小时后,我的IAP测试购买重新开始工作了。


3
有点难找,但我找到了相关页面。http://developer.android.com/google/play/billing/billing_testing.html#draft_apps - Tom
2
但是,如果您的应用程序处于草稿状态,并且已发布Alpha版本的APK,则可以测试In-App购买吗? - Billyjoker
如果您正在测试应用内购买,请使用以下测试SKU:android.test.purchased,而不是真实的SKU。谢谢。 - Shajeel Afzal
1
我已经将我的应用程序(ABB)发布到内部测试,但仍然没有成功。 - Someone Somewhere

14

我遇到了这个问题,刚刚通过https://support.google.com/googleplay/android-developer/?hl=en#contact=1与Google支持团队聊天,并得知需要发布应用。这就意味着需要添加屏幕截图、描述等内容,然后点击开发者控制台右上角的“发布”按钮进行发布。如果您的应用程序处于草稿状态,则可能是问题所在。

编辑:现在在开发人员文档中明确说明了此事:

http://developer.android.com/google/play/billing/billing_testing.html#draft_apps

不再支持草稿应用

之前,您可以发布应用程序的“草稿”版本进行测试。目前不再支持此功能。相反,您可以通过以下两种方式测试Google Play商店上发布之前版本的应用程序的功能:

您可以将应用程序发布到Alpha或Beta分发渠道。这会使应用程序在Google Play商店上可用,但仅对您列入“白名单”的测试人员可用。 少数情况下,您可以使用未发布的应用程序测试Google Play的功能。例如,您可以使用静态响应、特殊保留的产品ID来测试未发布应用程序的应用内计费支持,这些产品ID始终返回特定结果(例如“已购买”或“已退款”)。


我应该更改版本还是计费功能将保持不变? - H Raval
@HRaval,我不明白你的问题。如果你在Android清单中更新了版本,你需要推送一个带有该版本号的APK到开发者控制台——即使在测试时也必须与上传的内容匹配。 - elt0r0

6
我花了几个小时来测试 IAB,尽管几天前它还是可以工作的。
这里有一个变化....
“不再支持草稿应用 以前,您可以发布应用程序的“草稿”版本进行测试。现在不再支持此功能。取而代之的是,有两种方法可以测试 Google Play 商店中预发布应用程序的功能:
您可以将应用程序发布到 alpha 或 beta 发布渠道。这将使该应用程序在 Google Play 商店上可用,但仅对您放在“白名单”的测试人员开放。”
@ http://developer.android.com/google/play/billing/billing_testing.html#draft_apps 希望将这些关键更改通过电子邮件发送给开发人员,节省时间。

4
在我的情况下,我添加了电子邮件地址后没有接受阿尔法测试邀请。您需要前往Google Play控制台中生成的链接并接受邀请。

0

我在应用内购买方面遇到了很大的问题,但是我从Stefan的博客中找到了一些指针:https://www.gaffga.de/implementing-in-app-billing-for-android/,并发现他使用了一个特殊的前缀"android.test"。例如,我在开发者控制台中创建了一个名为"purchased"的sku,然后在引用它时使用"android.test.purchased"。

这对我来说至少让错误消息消失了。但是,它可能仍然被困在测试模式的困境中。


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