您所要求的物品不可购买

我正在尝试将Android Market应用内购买function集成到我的应用中,但每次尝试购买真正的inapp产品时都会遇到令人讨厌的错误。

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

/ **可以购买的产品的一系列产品列表条目。 * /

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

我使用Eclipse导出了应用程序,并将其安装在手机上,并将其上传到Android Market网站。 另外在Android电子市场网站上,我已经添加了完整的应用内购买并发布了它。

我还将我的googlemail帐户添加为testing帐户(即我在手机上login的帐户)。

当我在手机上运行应用程序时,当我尝试购买完整版本的应用程序时,我得到了一个您没有购买android消息的项目,但是如果我尝试使用android.test.purchased,则它工作得非常好。

您请求的商品的文档不可用于购买Android状态如下:

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

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

我使用相同版本的apk,我发布了inapp产品也激活apk也。 但仍然面临同样的问题,请帮助我解决这个问题。

任何想法将不胜感激!

我对这个错误的经验是:

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

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

  3. 确保在开发者控制台中创buildtesting帐户。

  4. build立你的testing帐户

    1. 确保使用您的testing帐户login您的设备。
    2. 在一个封闭的alpha / betatesting中,确保你已经把你的testing账号添加到选定的testing者组,你可以在pipe理你的alpha / beta版本的页面上做这个。
    3. 在封闭的alpha / betatesting的情况下,确保您的testing帐户已通过特殊邀请链接接受参与testing此应用程序
  5. 确保在开发者控制台中创build应用程序结算,并最终从控制台激活项目! (这是完全按照谷歌的教程后,我得到了我)

  6. 请确保在清单中设置VersionCode和VersionName与开发者控制台(Alpha,Beta或Production中的版本)相同。草稿不再有效。 @alexgophermix答案为我工作。

如果您正在寻找没有实际取款的testing付款,则需要另外将testing账户添加到另一个特定的账户“具有testing访问权限的Gmail账户”中,您可以在账户设置(不是项目!)中find该账户。 在可以看到项目列表的页面上,进入设置,然后在“帐户详细信息”页面(向下滚动,几乎在页面底部),您会看到“带有testing访问权的Gmail帐户”列表。

这里有一些事情要检查:

  1. 您已经创build了一个apk,并且已经发布Alpha或Beta版的GooglePlay控制台。
  2. GooglePlay控制台中的应用程序不处于“草稿”模式 ,而是在“发布”(在发布前,您需要在屏幕左侧的所有小圆圈中均显示其中的检查图标)。
  3. 您已经设置了另一个testing帐户,而不是“附加”到GooglePlay控制台的testing帐户 。 您可以通过创buildGoogle+群组,将testing帐户添加到该群组,并在GooglePlay控制台中指定Google+群组。
  4. 您用于testing购买的apk具有相同的版本代码,版本名称 ,最重要的是,它使用与您在商店中发布的apk 相同的密钥库进行签名
  5. 当您更改仪表板中的某些内容以便更改传播时,您需要等待几个小时。 这需要几个小时的时间。
  6. 确保sku值是一个有效的sku值 (与您在GP仪表盘中input的值进行比较)。
  7. 尝试购买已经购买的物品 。 获取购买的项目并将其显示在日志中,以查看是否如此。 如果是这样,那么消费该产品或将钱退还给您的testing帐户(您需要等待退款传播,这需要几个小时)。
  8. 确保Inapps是活动的

最后一部分是6小时后对我来说是什么,

  1. 确保你已经用testing账号login到谷歌(在你的浏览器中),然后你打开这个链接(用红色标记),你同意成为一个testing者http://i.stack.imgur.com/VSgAV.png

UPDATE

  1. 如果您使用风格来构build针对不同CPU的apks,并arm,armv7和x86构buildapk,并将其全部上传到商店,请记住使用其中之一来testinginapps。 如果使用包含所有cpu库的“通用”构build(基本上是另一个构build而不是存储),它将无法工作。

当Play商店中的产品处于Inactive时,会发生这种情况, Activate产品并且应该可以正常工作。

如果您所做的一切都是完美的,您已经使用带有正确产品ID的签名APK,但是您必须注意,您使用的帐户可能没有正确的有效信用卡详细信息。

所以,即使有testing账户 ,只要你想购买任何产品 ,该账户应该有有效的信用细节。

也许我一直在做这个错误,但是如果您testing的版本不在Alpha版,Beta版或Production版的Play商店中,您也会得到这个错误。

我经常更新我的VersionCode和VersionName,同时还在testing新版本(在上传到Play Store之前),然后在我去testingIAB特定function时结束这个错误。

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

希望这有助于某人

对于我的情况是需要去从APK标签的Opt-in URL 。 打开浏览器并使用链接。 然后在该页面中注册为testing人员。

请检查您是否使用相同的testing帐户邮件编号

如果产品状态处于“未激活”状态,请将其激活。 这解决了我。 当然谷歌需要一段时间来更新

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

最新增加(2016/11):

  1. testing人员必须接受从开发者控制台(部分:APK)获取的链接所采取的testing请求

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

尝试了所有通过互联网提出的方法之后,“开放式Alphatesting”或“开放Betatesting”为我解决了这个问题。

转到Android开发者控制台 – >您的应用程序 – > APK然后select使用Open Alpha / Betatesting。 发送提供给您自己或testing人员的链接。

只要他们在Android设备上使用该帐户login,就可以对其进行testing。

祝你好运

可能有三种可能性:

  1. 将您的APK保存在谷歌播放作为草稿,不要忘记激活这一点,并发布您的产品与独特的ID。
  2. 请检查您的ID是否与Google Play上的产品ID相同。
  3. 或者检查商品types是否相同,例如在Google Play和您的代码中进行pipe理。

如果您正在testing不需要发布应用程序。 把它保存为草稿。 然后等待一段时间,可能需要2到3小时才能激活。

为了解决此问题,请按照下列步骤操作:

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

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

  3. 将APK上传到Google Play。

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

我面临着同样的问题,我的解决scheme是上传当前版本的应用程序到Play商店,如果是用于testing,然后上传到Alpha或Beta频道,我已经做了这个,错误消失了并定价细节显示正确..