【问题标题】:the item you requested is not available for purchase您要求的商品无法购买
【发布时间】:2012-10-18 11:58:41
【问题描述】:

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

我已获取示例应用程序 (Dungeons) 并将其添加到我的应用程序中。我更新了公钥并将产品列表更新为以下内容:

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

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

};

我已经使用 Eclipse 导出了该应用程序,并将其安装在我的手机上,并将其上传到了 Android Market 网站。此外,在 Android Market 网站上,我已将 full 添加为应用内购买并发布。

我还添加了我的 googlemail 帐户作为测试帐户(这是我在手机上登录的帐户)。

当我在手机上运行该应用程序时,每当我尝试购买完整的商品时,我都会收到一条您要求的商品不可购买的 android 消息,但如果我尝试例如 android.test.purchased,它绝对可以正常工作.

您所请求的商品的文档无法购买 android 说明如下:

表示 Android Market 在应用程序的产品列表中找不到请求的项目。如果您的 REQUEST_PURCHASE 请求中的产品 ID 拼写错误,或者某个项目未在应用程序的产品列表中发布,则可能会发生这种情况。

产品 ID 完全一样,已明确发布,请求必须通过,因为它是示例应用程序。

我正在使用相同版本的 apk,并且我还发布了 inapp 产品并激活了 apk。 但我仍然面临同样的问题,请帮助我解决它。

任何想法将不胜感激!

【问题讨论】:

  • 你发布你的产品?
  • 你用于Merchant Account的谷歌账号与设备账号不同?
  • 确保您在 Play 商店中添加的产品状态显示为“活动”
  • 确保您的测试人员点击了选择加入链接...

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


【解决方案1】:

我对这个错误的经验是:

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

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

  3. 确保在您的开发者控制台中创建一个测试帐户。

  4. 设置您的测试帐户

    1. 确保使用您的测试帐户登录您的设备。
    2. 在封闭式 Alpha/Beta 测试的情况下,请确保您已将您的测试帐户添加到选定的测试人员组,您可以在管理您的 Alpha/Beta 版本的页面上执行此操作。
    3. 如果是封闭式 Alpha/Beta 测试,请确保您的测试帐户已通过特别邀请链接接受参与此应用程序的测试
  5. 确保在您的开发者控制台中创建应用内计费,最后从控制台激活该项目!!! (这是完全遵循谷歌教程后得到的)

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

如果您正在寻找没有实际提款的测试付款,您需要另外将您的测试帐户添加到另一个特殊的帐户列表“具有测试访问权限的 Gmail 帐户”,您可以在游戏帐户设置(不是项目!) .在可以看到项目列表的页面上转到设置,然后在“帐户详细信息”页面(向下滚动,几乎在页面底部),您将找到“具有测试访问权限的 Gmail 帐户”列表。

【讨论】:

  • 永远记得使用签名构建测试应用程序。 +1
  • 确保将清单中的 VersionCode 和 VersionName 设置为与开发者控制台中的版本相同(Alpha、Beta 或 Production。Drafts 不再起作用)。 @alexgophermix 答案对我有用。 +1
  • 此外,请确保您的测试用户已选择加入 Alpha(如果您正在使用该 obv)。将它们添加到许可证测试中是不够的。
  • 打开 Opt-in URL 并使用测试帐户,确保您已批准成为测试人员。
  • 版本代码必须匹配,感谢您的提醒,避免了暂时的恐慌。
【解决方案2】:

这里有一些事情要检查:

  1. 您已创建了一个 apk,并且您已将其发布Alpha 版或 Beta 版的 GooglePlay 控制面板。
  2. GooglePlay 控制面板中的应用未处于草稿模式,但处于已发布状态(您需要将屏幕左侧带有复选图标的所有小圆圈设为绿色才能发布)。
  3. 设置了另一个测试帐户,而不是“附加”到 GooglePlay 信息中心的那个。为此,您可以创建一个 Google+ 群组,将您的测试帐户添加到该群组,然后在 GooglePlay 信息中心指定 Google+ 群组。
  4. 您用于测试购买的 apk 具有 相同的版本代码、版本名称,最重要的是,它与您已在商店中发布。
  5. 等待几个小时后,您才能更改仪表板中的某些内容,以便传播更改。这样做需要几个小时。
  6. 确保 sku 值是有效的 sku 值(将其与您在 GP 仪表板中输入的值进行比较)。
  7. 尝试购买已购买的商品。获取购买的物品并将其显示在日志中以查看是否有。如果是这样,请使用该产品或将钱退还到您的测试帐户(您需要等待退款发放。这需要几个小时。)
  8. 确保 Inapps 处于活动状态

6 小时后,最后一部分对我有什么帮助:

  1. 确保您已使用测试帐户登录到 google(在您的浏览器中)并打开此链接(标有红色)并且您批准成为测试员!!!! http://i.stack.imgur.com/VSgAV.png

更新

  1. 如果您使用风味构建针对不同 CPU 的 apk,并且为 arm、armv7 和 x86 构建并将它们全部上传到商店,请记住使用其中一个来测试 inapp .如果您使用包含所有 cpu 库的“通用”构建(基本上是商店中的另一个构建),它将无法正常工作。

【讨论】:

  • 我和你有同样的情况。所有1-8都没有问题,但问题是9。浪费我一整天的时间来找到这个。你是我的救星。
  • 是的,最后一部分是最重要的,似乎谷歌改变了规则,它曾经可以在没有步骤 9 的情况下工作,但是现在,无论是封闭测试版还是公开测试版,你都需要点击链接。谢谢大佬!
  • 我的问题是 4. 安装的 apk 的版本代码与 google play apk 不一样。一旦我制作了相同的版本,它就可以工作了。这个答案很有价值。
  • 我非常讨厌这种“几个小时”的不确定性!在这“几个小时”里,我的老板通常会发疯!顺便说一句,如果您有手动安装的 APK,您根本不会收到任何更新!愚蠢的是,使用自己签名的 APK IAB 不起作用。我想我们需要等待该死的更新发生!
  • 在调试模式下使用你的release key,对于android studio,见stackoverflow.com/questions/16965058/…
【解决方案3】:

当产品在 Play 商店中为 InactiveActivate 产品时会发生这种情况,它应该可以正常工作。

【讨论】:

  • 从未想过... :D 感谢您节省更多时间!
  • 你说的不活跃是什么意思?开发者应该只使用 APK 的 Alpha 版本。
【解决方案4】:

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

希望这对某人有所帮助

【讨论】:

  • 这并没有提供问题的答案。一旦你有足够的reputation,你就可以comment on any post;相反,provide answers that don't require clarification from the asker。 - From Review
  • 这个答案的信息实际上很好知道,对于像我这样的人来说可能是正确的答案
  • @tttony 我指出了错误的另一个原因,我没有要求任何澄清。这不是假设或问题,如果您手动安装版本号高于已发布版本号的 APK,则应用内购买返回此错误。
  • 这是一个非常有用的信息。非常感谢您节省了我这么多时间。竖起大拇指。
  • 你救了我的一天,非常感谢 :)
【解决方案5】:

当您所做的一切都很完美,您使用了带有正确产品 ID 的签名 APK,但您必须注意您使用的 帐户 可能没有正确的

strong>有效的信用卡详细信息。

因此,无论何时您想购买任何产品,即使使用测试帐户,该帐户也应该有有效的信用详细信息。

【讨论】:

  • 这个答案既真实又难得。因此,非常感谢您加倍努力,而不是添加另一个“激活您的产品”答案。
  • 刚刚也体验过。重新启动时,它可能切换到“添加付款方式”弹出窗口而不是不可用的弹出窗口,但它可能不会。不知道为什么你会得到其中一个。
【解决方案6】:

也许我做错了,但如果您正在测试的版本在 Play 商店中不是 Alpha、Beta 或 Production 版本,您也会收到此错误。

我经常在测试新版本时(在上传到 Play 商店之前)更新我的 VersionCode 和 VersionName,然后在我去测试 IAB 特定功能时遇到此错误。

【讨论】:

  • 上传到 Play 商店后至少需要 45-90 分钟才能开始工作。
【解决方案7】:

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

【讨论】:

  • 这是我在 2021 年的情况 - 即使是开发帐户所有者,我也必须通过该选择加入 URL 加入测试计划,或者购买失败并显示“您请求的项目不可用于购买”
【解决方案8】:

你必须接受成为测试员

发布管理 -> 应用发布 -> 管理测试人员然后以隐身模式打开此链接(选择加入 URL)以登录测试人员帐户

【讨论】:

  • 我是一名测试人员,我也有同样的问题。
【解决方案9】:

请检查您是否使用相同的测试帐户邮件ID

【讨论】:

  • 我的设备登录为另一个邮件ID,在我将testaccount邮件ID设置为主ID后,这个问题就解决了。
  • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方发表评论 - 您可以随时评论自己的帖子,一旦您有足够的reputation,您就可以comment on any post
  • 当我的设备登录不是测试帐户邮件 id(在开发人员控制台中指定的公钥下的 testaccount 邮件 id)时出现此错误。如果我将 testaccount 邮件 id 设置为我的设备的主要邮件 id
【解决方案10】:

最新添加(2016/11):

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

  2. 应用必须已发布:可以在 beta/alpha 测试中发布;信息:如果您在开发者控制台中点击“发布”,它将不会发布 生产上的应用程序,除非您将其传播到生产选项卡(在 部分 APK);

【讨论】:

    【解决方案11】:

    在购买应用内订阅时,我将下面列表中的所有内容都放在了正确的位置。

    1. 创建签名的 apk 并发布到 alpha 通道

    2. 许可证测试

      添加了测试人员电子邮件 ID
    3. 将测试人员电子邮件 ID 添加到 封闭轨道 alpha 测试

    4. 选择加入成为一名测试员

    5. 测试 ID 与开发者帐户的 ID 不同

    6. 在安卓设备上,不在模拟器上

    7. 从 Play 商店下载应用

    我仍然收到此错误消息 “找不到您要查找的项目”

    浪费了 2-3 天后,我发现它只有在 Play 商店中设置了某些付款模式 时才有效。

    虽然大多数答案都与旧的 IAB 购买有关,但我实施了新的计费客户端 API,它是 - implementation 'com.android.billingclient:billing:1.0',找到解决方案并不容易。

    如果某些人的情况相同,添加付款方式可能会帮助您克服此错误。您甚至需要添加一个来测试它,但是,它不会为作为许可证测试人员添加的电子邮件 ID 收费。

    【讨论】:

      【解决方案12】:

      如果产品状态为“非活动”,请激活它。 这为我解决了。 当然,Google 需要一段时间来更新

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

      【讨论】:

        【解决方案13】:

        就我而言,我必须将我的电子邮件地址添加到以下字段。

        【讨论】:

          【解决方案14】:

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

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

          只要他们在 Android 设备上使用该帐户登录,就可以对其进行测试。

          祝你好运

          【讨论】:

            【解决方案15】:

            我遇到了同样的问题,我的解决方案是将您的应用程序的当前版本上传到 Play 商店,如果是用于测试,则将其上传到 Alpha 或 Beta 通道,我已经这样做了错误消失了,定价细节显示正确..

            【讨论】:

              【解决方案16】:

              这是我测试 IAP 的经验,与上面的一些答案相关

              1. 您创建了一个 apk,并将其发布到 Alpha 版或 Beta 版的 GooglePlay 控制面板。

              不。我有一个处于内部测试(Alpha 前)的测试应用程序,并且 IAP 运行良好。同样,现在我相信我们大多数人发布 AAB 捆绑包而不是 APK 我认为对于新应用 AAB 可分发是一个要求(可能是这里的一个因素?)。

              1. GooglePlay 仪表板中的应用程序未处于草稿模式,而是处于已发布状态(您需要将屏幕左侧带有复选图标的所有小圆圈设为绿色,然后才能发布)。

              又不是真的。我正在测试的应用程序的应用程序状态是草稿/内部测试(显示在所有应用程序列表中)。除非“已发布”,否则它的意思是:“发布可供内部测试人员使用。”

              1. 您设置了另一个测试帐户,然后是“附加”到 GooglePlay 仪表板的那个。为此,您可以创建一个 Google+ 群组,将您的测试帐户添加到该群组并在 GooglePlay 信息中心指定 Google+ 群组。

              这可能是正确的。我在新安装的应用程序中恢复购买(如果购买了某些产品,然后该应用程序被卸载并随后重新安装,或者在具有相同 Google 帐户的不同设备上再次安装)和购买它们时遇到了一些问题,直到我开始使用不同的帐户。

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

              又不是真的。我在商店中的应用程序的版本和内部版本号与我在本地测试的应用程序不同。在我的情况下,对于商店中的应用程序,版本是在构建应用程序时分配的,就在部署之前,并且内部版本号是根据 repo 中的提交数计算的,两者都发生在我使用的 CI 中(Jenkins )。 我在通过 USB 电缆连接到我的开发机器的设备上本地运行的一个,从 IDE(在我的情况下为 IntelliJ)以调试模式运行 - 几乎标准场景显然没有使用与 PlayStore 中相同的密钥进行签名,并且版本和内部版本号都是固定的。 IAP 在本地运行时仍然有效。

              1. 测试人员必须接受来自开发者控制台链接的测试请求

              正确 + 确保如果测试人员在测试设备上拥有多个帐户,则与您应用的“许可测试”部分中声明的电子邮件关联的帐户是活动帐户。

              【讨论】:

                【解决方案17】:

                可能有三种可能性:

                1. 将您在 Google Play 上的 APK 保存为草稿,不要忘记激活它并使用唯一 ID 发布您的产品。
                2. 检查您的 ID 是否与 Google Play 上的产品 ID 相同。
                3. 或检查项目类型是否相同,例如在 Google Play 和您的代码中进行管理。

                如果您正在测试,则无需发布该应用。只需将其保存为草稿即可。然后等待一段时间可能是 2 到 3 小时才能激活此功能。

                【讨论】:

                • 以上三个条件都满足,但报同样的错误
                【解决方案18】:

                为了解决这个问题,请按照以下步骤操作:

                1. 在 Google Play 开发者控制台上创建产品。

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

                3. 将 APK 上传到 Google Play。

                注意在第 1 步中创建产品 6 小时后,应用内结算可能无法使用。

                【讨论】:

                  【解决方案19】:

                  票数最高的答案几乎涵盖了所有内容,但是如果您像我一样愚蠢,会匆忙完成应用发布流程以继续进行测试 IAP,请务必在您正在测试的国家/地区的 Play 商店中发布应用!在设备上检查这一点的简单方法是在打开测试选择加入 URL 时点击“在 Google Play 上下载”链接。如果您在尝试通过 Google Play 商店打开时收到“未找到项目”错误,那么很可能您的应用尚未在那里发布。我遇到了这个问题,因为我通过 ADB 正确加载了已签名的应用程序,虽然 IAP 会显示在构建中,但当您尝试购买它们时会出现此错误。

                  【讨论】:

                    猜你喜欢
                    • 2015-12-09
                    • 1970-01-01
                    • 2016-05-28
                    • 2012-05-08
                    • 1970-01-01
                    • 1970-01-01
                    • 2014-11-05
                    • 1970-01-01
                    • 1970-01-01
                    相关资源
                    最近更新 更多