我正在尝试将Android Market应用内购买整合到我的应用中,但不幸的是,每当我尝试购买真正的inapp产品时,都会遇到恼人的错误。
我已经采用了示例应用程序(Dungeons)并将其添加到我的应用程序中。我已更新了公钥,并将产品列表更新为以下内容:
/ **可购买产品的一系列产品列表条目。 * /
private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
new CatalogEntry("full", "Full v", Managed.MANAGED),
};
我使用Eclipse导出了应用程序,并将其安装在我的手机上,并将其上传到Android Market网站。此外,在Android电子市场网站上,我已添加完整版作为应用内购买并发布。
我还将我的googlemail帐户添加为测试帐户(这是我在手机上登录的帐户)。
当我在手机上运行应用程序时,每当我尝试购买时,我都会收到您要求购买的消息,但是如果我尝试使用android.test.purchased,那么它的工作原理绝对没问题
您请求不可购买的商品的文档说明如下:
表示Android Market无法在应用程序的产品列表中找到所请求的项目。如果产品ID在REQUEST_PURCHASE请求中拼写错误,或者在应用程序的产品列表中未发布项目,则会发生这种情况。
产品ID定义相同,它已定义发布,请求必须通过,因为它是示例应用程序。
我正在使用相同版本的apk,我也发布了inapp产品并激活了apk。 但我仍面临同样的问题,请帮我解决。
任何想法都将不胜感激!
答案 0 :(得分:160)
我对此错误的体验是:
确保将已签名的APK上传到开发者控制台。
确保在您的设备上安装已签名的APK,而不是在调试器中启动该应用。
确保在开发者控制台中创建测试帐户。
设置测试帐户
确保在您的开发者控制台中创建应用内结算,最后从控制台激活该项目! (这是完全遵循谷歌教程后得到的那个)
确保将清单中的VersionCode和VersionName设置为与开发人员控制台中的版本相同(Alpha,Beta或Production。草稿不再起作用)。 @alexgophermix的回答对我有用。
如果您正在寻找没有实际提款的测试付款,您还需要将您的测试帐户添加到另一个特殊的帐户列表“具有测试访问权限的Gmail帐户”,您可以在游戏帐户设置中找到(不是项目!) 。在您可以看到项目列表的页面上,转到设置,然后在“帐户详细信息”页面上(向下滚动,它几乎位于页面底部),您将找到“具有测试访问权限的Gmail帐户”列表。 / p>
答案 1 :(得分:86)
以下是要检查的内容:
在6小时之后,对我来说,这是最后一部分:
<强>更新强>
答案 2 :(得分:44)
如果产品在Play商店中Inactive
Activate
,则会发生这种情况,产品应该可以正常使用。
答案 3 :(得分:20)
当您完成的所有操作都很完美,您使用带有正确产品ID的已签名APK时,会出现此错误,但您必须注意,您使用的帐户可能没有正确< strong>有效的信用卡详情。
因此,即使您想测试帐户 购买任何产品,该帐户也应该包含有效的信用额度。
答案 4 :(得分:18)
这个错误还有另一个可能的原因,这几乎让我疯了一整天,直到我发现了什么问题:apk版本。如果您正在使用版本号高于上传到Play商店的本地apk(正确签名,正确的密钥,正确的产品ID),您也会收到此错误。
希望这有助于某人
答案 5 :(得分:15)
也许我一直在做错了,但如果您在Play商店中测试的版本不是Alpha版,Beta版或制作版,那么您也会收到此错误。
我经常在测试新版本(在上传到Play商店之前)更新我的VersionCode和VersionName,然后在测试IAB特定功能时最终出现此错误。
答案 6 :(得分:4)
请检查您是否使用相同的测试帐户邮件ID
答案 7 :(得分:4)
最新增补(2016/11):
测试人员必须接受测试请求取自的链接 开发者控制台(部分:APK)
app必须已发布:可以在beta / alpha测试中发布;信息:如果你点击&#34;发布&#34;在Developer Console中它不会发布 生产中的应用程序,除非您将其传播到生产选项卡(在 部分APK);
答案 8 :(得分:3)
答案 9 :(得分:2)
如果产品状态位于&#34;非活动状态&#34;,请将其激活。 这解决了我。 当然谷歌需要一段时间来更新
还要确保您的测试邮件已注册。
答案 10 :(得分:1)
“Open Alpha Testing”或“Open Beta Testing”在尝试了互联网上建议的所有方法后,为我解决了这个问题。
转到Android开发者控制台 - &gt;你的应用 - &gt; APK然后选择使用Open Alpha / Beta测试。发送提供给您自己或测试人员的链接。
只要他们在Android设备上使用该帐户登录,他们就可以对其进行测试。
祝你好运答案 11 :(得分:1)
我遇到了同样的问题,我的解决方案是将当前版本的应用上传到Play商店,如果是用于测试然后将其上传到Alpha或Beta频道,我已经完成了这个和错误消失,定价细节正确显示..
答案 12 :(得分:0)
答案 13 :(得分:0)
可能有三种可能性:
如果您正在测试,则无需发布该应用。只需将其保存为草稿即可。然后等待一段时间可能需要2到3小时来激活它。
答案 14 :(得分:0)
在购买应用程序内订阅时,我将以下列出的所有内容放在正确的位置。
创建签名的APK,并发布到 alpha频道
在许可测试
将测试者的电子邮件ID添加到了封闭轨道alpha测试
选择作为测试员
测试ID与开发者帐户的ID 不同
在android设备上,不在模拟器上
从Play商店下载了应用程序
仍然出现此错误,提示“找不到您要查找的商品” 。
浪费2-3天后,我发现只有在Play商店中设置了某些付款方式后,该功能才有效。
虽然大多数答案与旧的IAB购买有关,但是我实现了新的结算客户端API,该API是-
implementation 'com.android.billingclient:billing:1.0'
,要找到解决方案并不容易。
如果某些情况相同,则添加付款方式可能有助于您克服此错误。您甚至需要添加一个进行测试,但是,对于作为许可证测试人员添加的电子邮件ID,将不收费。
答案 15 :(得分:0)
票数最高的答案涵盖了几乎所有内容,但是如果您像我一样笨拙地着手完成App Release过程以继续进行测试, IAP,请务必在您要测试的国家/地区的Play商店中发布该应用!在设备上进行检查的简单方法是,在打开测试加入网址时,点击“在Google Play上下载”链接。如果您尝试通过Google Play商店打开时遇到“找不到商品”错误,则可能您的应用尚未发布。之所以遇到这个问题,是因为我正在通过ADB正确加载已签名的应用程序,尽管IAP将显示在内部版本中,但在尝试购买它们时会遇到此错误。
答案 16 :(得分:0)
要解决此问题,请按以下步骤操作:
在Google Play开发者控制台上创建产品。
保存并将其设置为&#34;有效&#34;。
将APK上传到Google Play。
N.B。在步骤1中创建产品6小时后,应用内结算可能无法使用。