the item you requested is not available for purchase

我正在尝试将 Android 应用内购买整合到我的应用中,但不幸的是,每次我尝试购买一个真正的应用内购买产品时都会遇到一个恼人的错误。

我已经采取了样本应用程序(地下城) ,并添加到我的应用程序。我已经更新了公开密钥,并将产品列表更新到以下内容:

/* * 可购买产品的产品列表条目数组。 */

private static final CatalogEntry[] CATALOG = new CatalogEntry[] {
new CatalogEntry("full", "Full v", Managed.MANAGED),


};

我已经使用 Eclipse 导出了该应用程序,并将其安装在我的手机上,还将其上传到了 Android Market 网站。同样在 Android Market 网站上,我添加了一个完整的应用程序内购买,并发布了它。

我还添加了我的 Googlemail 帐户作为测试帐户(这是我在手机上注册的帐户)。

当我在我的手机上运行这个应用程序的时候,我会得到一个你要求的商品,这个商品在我想要购买完整的 Android 系统时是不可用的,但是如果我尝试购买的话,比如 android.test.buy,它就会运行得非常好。

您要求购买的商品不能用于购买 android 的文档说明如下:

Indicates that Android Market cannot find the requested item in the application's product list. This can happen if the product ID is misspelled in your REQUEST_PURCHASE request or if an item is unpublished in the application's product list.

产品 ID 肯定是相同的,它肯定是发布的,请求必须通过确定,因为它是示例应用程序。

我使用相同的版本的 apk 和我发布的应用程序产品也和激活 apk 也。 但是我仍然面临着同样的问题,请帮助我解决它。

有任何想法都可以!

119835 次浏览

可能有三种可能性:

  1. 保存您的谷歌发挥作为草案的 APK,不要忘记激活这一点,并发布您的产品与独特的 ID。
  2. 检查您的 ID 是相同的产品 ID 在谷歌播放。
  3. 或检查项目类型是否相同,例如在 Google Play 和你的代码中都管理。

如果你正在测试没有必要 出版的应用程序。留着当草稿吧。然后等待一段时间,可能是2至3小时,以激活这一点。

please check if your using same test account mail id or not

当您所做的一切都是完美的时候,就会出现这个错误,您已经使用了带有适当产品 id 的有符号 APK,但是您必须注意您正在使用的 帐户可能没有适当的 有效信用卡细节。

因此,无论何时你想 购买任何产品甚至与 测试帐户,该帐户应该有有效的信用细节。

这种情况发生时,产品是 Inactive的播放商店,Activate的产品,它应该工作良好。

关于这个错误,我的经验是:

  1. 确保将签名的 APK 上传到开发人员控制台。

  2. 请确保在设备上安装已签名的 APK,而不要在调试器中启动应用程序。

  3. 确保在开发人员控制台中创建测试帐户。

  4. 设置您的测试帐户

    1. 确保用您的测试帐户登录您的设备。
    2. 在一个封闭的 alpha/beta 测试的情况下,确保您已经将您的测试帐户添加到选定的测试人员组中,您可以在管理您的 alpha/beta 版本的页面上执行此操作。
    3. In a case of closed alpha/beta testing, make sure your 测试帐户已接受参与测试这个应用程序通过特别邀请链接
  5. 确保在您的开发者控制台中创建应用程序账单,并最终从控制台激活该项目! ! !(这是一个让我完全遵循谷歌的教程)

  6. 确保在清单中将 VersionCode 和 VersionName 设置为与开发人员控制台(Alpha、 Beta 或 Product)中的版本相同。草稿不再起作用了)。@ alexgophermix 答案对我很有用。

如果你正在寻找没有实际取款的测试支付,你需要额外添加你的测试帐户到另一个特殊的帐户列表“ Gmail 帐户测试访问”,你可以在游戏帐户设置(而不是项目!).在页面上,你可以看到你的项目列表进入设置,然后在“帐户详细信息”页面(向下滚动,它几乎在页面的底部) ,你会发现“ Gmail 帐户与测试访问”列表。

If the Product status is in "Inactive", activate it. 这对我来说解决了。 当然,谷歌需要一段时间来更新

还要确保您的测试邮件已被注册。

也许我一直在做这个错误,但你也会得到这个错误,如果你正在测试的版本不是在播放商店作为任何阿尔法,测试或生产。

我经常在测试新版本(在上传到 Play Store 之前)时更新我的 VersionCode 和 VersionName,然后在测试 IAB 特定功能时出现这个错误。

“开放式 Alpha 测试”或“开放式 Beta 测试”在尝试了互联网上所有建议的方法后为我解决了这个问题。

进入 Android 开发者控制台-> 应用程序-> APK,然后选择使用 Open Alpha/Beta 测试。发送提供给自己或测试人员的链接。

只要他们在 Android 设备上用这个账户登录,就可以进行测试。

祝你好运

对于我的情况是需要去获得从 APK 选项卡的 Opt-in URL链接。打开浏览器并使用链接。然后在该页面中注册为测试人员。

为了解决这个问题,请遵循以下步骤:

  1. Create the product on Google play developer console.

  2. 保存并设置为“活动”。

  3. 上传 APK 到 Google 播放。

注意: 应用程序内的账单可能不会工作,直到6小时后创建您的产品在步骤1。

以下是一些需要检查的事情:

  1. You've created an apk and you've 出版 it to the GooglePlay Dashboard in 阿尔法还是贝塔.
  2. GooglePlay Dashboard 中的应用程序是 不在草稿模式,但是在 Published 中(在发布之前,你需要将屏幕左侧带有复选图标的所有小圆圈都变成绿色)。
  3. 你的 设置另一个测试帐户比“连接”到 GooglePlay 仪表板的 设置另一个测试帐户多。您可以通过创建一个 Google + 组,将您的测试帐户添加到该组,并在 GooglePlay 仪表板中指定 Google + 组来实现这一点。
  4. The apk that you're using to test the purchase has the 相同的版本代码,版本名称, and most importantly it's 用同一个密钥存储库签名 as the apk that you've published in the store.
  5. 在两个小时之间更改指示板中的某些内容以使更改得以传播时,您可以使用 等等。这需要几个小时的时间。
  6. Make sure the sku value is a 有效的库存价值 (compare it with the one you've entered in the GP Dashboard).
  7. 尝试购买已经购买的商品。获取购买的物品并在日志中显示它们,以查看是否如此。如果是这样,那么消费该产品或将钱退还给您的测试帐户(您需要等待退款传播。这需要几个小时。)
  8. 确保 应用程序已激活

What did it for me, after 6 hours, was this last part:

  1. 确保您登录到谷歌(在您的浏览器)与测试帐户,您打开这个链接(标记为红色) ,您 批准成为一名测试员! ! ! Http://i.stack.imgur.com/vsgav.png

更新

  1. 如果您使用风格来构建针对不同 CPU 的 apks,并且您为 手臂,手臂7和 x86构建并且将它们全部上传到商店,请记住使用其中一个来测试 inapps。如果你使用一个包含所有 CPU 库的“通用”构建(基本上是另一个比商店上的构建) ,它不会工作。

还有另一个可能的原因导致了这个错误,这个错误几乎让我疯狂了一整天,直到我发现了问题所在: apk 版本。如果您使用的本地 apk (正确签名、正确密钥、正确产品 ID)的版本号高于上载到 Play Store 的版本号,那么您也会得到这个错误。

希望这对谁有帮助

最新增设的课程(2016/11) :

  1. 测试人员必须从取自 接受测试请求的链接 开发控制台(部分: APK)

  2. 应用程序必须是 PUBLISHED : 在 beta/alpha 测试中发布是可以的; INFO: 如果你在开发者控制台中点击“发布”,它将不会发布 应用程序的生产,除非你传播到生产标签(在 Section APK) ;

我也遇到过同样的问题,对我来说,解决方案就是把你的应用程序的当前版本上传到游戏商店,如果是用于测试,那么把它上传到 Alpha 或者 Beta 频道,我已经这样做了,错误消失了,价格信息也显示正确。.

你必须接受成为 封闭轨道和内部轨道测试员

发布管理-> 应用程序发布-> 管理测试人员然后打开这个链接(选择在 URL)与隐身模式登录测试人员帐户

enter image description here

最受欢迎的答案几乎涵盖了所有问题,但如果你像我一样愚蠢,为了继续进行测试而匆忙完成应用程序发布过程 IAP,一定要发布的应用程序在播放商店的国家,你正在测试!在设备上检查的简单方法是在打开测试可选的 URL 时点击“在 Google Play 上下载”链接。如果你试图通过 Google Play 商店打开时出现“找不到项目”错误,那么很可能你的应用程序还没有在那里发布。我遇到这个问题是因为我正在通过 ADB 正确地侧装已签名的应用程序,虽然 IAP 将显示在构建中,但是当您尝试购买它们时会得到这个错误。

在购买应用内订阅时,我把下面列出的所有东西都放在了正确的地方。

  1. Created signed apk and published to alpha channel

  2. 添加测试人员电子邮件 ID 到 < strong > 许可证测试

  3. Added tester email ids to closed track alpha testing

  4. Opted in to be a tester

  5. 测试 ID 是来自开发人员帐户 ID 的 与众不同

  6. Was on android device and not on emulator

  7. 从游戏商店下载了应用程序

我仍然得到这个说 “你要找的东西找不到了”的错误。

在浪费了2-3天后,我发现只有当一些 在游戏商店中设置了支付模式

虽然大多数的答案是关于旧 IAB 购买和我实现了新的计费客户端 API 是- implementation 'com.android.billingclient:billing:1.0' ,不容易找到解决办法。

如果对某些人来说是相同的情况,添加一个支付模式可能会帮助您克服这个错误。您甚至需要添加一个测试它,但是,它将 没有收取电子邮件 ID 添加作为许可证测试人员。

在我的情况下,我必须将我的电子邮件地址添加到以下字段。 enter image description here

Here're my experiences with testing IAP related some of the answers above

  1. 您已经创建了一个 apk,并将其以 Alpha 或 Beta 格式发布到 GooglePlay 仪表板上。

没有。我有一个应用程序在测试,是在内部测试(前阿尔法)和 IAP 工作完美。此外,现在我相信我们大多数发布 AAB 捆绑,而不是 APK 我认为新的应用程序 AAB 可发布是一个要求(可能是一个因素在这里?).

  1. GooglePlay 仪表板中的应用程序不是在草稿模式,而是在发布模式(在发布之前,你需要将屏幕左侧带有勾选图标的所有小圆圈都变成绿色)。

又错了。我正在测试的应用程序的状态是草案/内部测试(显示在所有应用程序的列表中)。除非“发布”的意思是: “发布对于内部测试人员是可用的。”

  1. 您已经设置了另一个测试帐户,然后是“附加”到 GooglePlayDashboard 的测试帐户。您可以通过创建一个 Google + 组,将您的测试帐户添加到该组,并在 GooglePlay 仪表板中指定 Google + 组来实现这一点。

也许是这样。我在恢复一个新安装的应用程序中的购买时遇到了一些问题(如果一些产品被购买了,那么这个应用程序就会被卸载并随后重新安装,或者用同一个谷歌账户在不同的设备上重新安装) ,然后购买它们,直到我开始使用不同的账户。

  1. 您用来测试购买的 apk 具有相同的版本代码、版本名称,最重要的是,它使用与您在商店中发布的 apk 相同的密钥存储库进行签名。

又错了。我在商店中的应用程序与本地测试的应用程序版本和版本号不同。在我的案例中,应用程序在商店中的版本被分配,而应用程序正在被构建,在它被部署之前,构建数量是根据回购中的提交数量计算的,这两种情况都发生在我使用的 CI (Jenkins)中。 The one I run locally on a device connected to my dev machine via USB cable, running in debug mode from the IDE (IntelliJ in my case) - pretty much standard scenario is obviously not signed with the same key as the one in the PlayStore and the version and build number are both fixed. The IAPs still work when running locally.

  1. 测试人员必须接受来自 Developer Console 的链接的测试请求

True + make sure that in case the tester has multiple accounts on the test device the account associated with the email declared in the License Testing section of your app is the one that is active.

将我的电子邮件添加到授权测试人员和内部测试人员列表中为我解决了这个问题。我有一个未发布的应用程序,只有内部测试可用。