2011-05-26 208 views
12

我试图将Android Market应用内购买整合到我的应用中,但每次尝试购买测试产品时都会遇到令人讨厌的错误。Android应用内购买 - RESULT_ITEM_UNAVAILABLE

我已将示例应用程序(Dungeons)添加到我的应用程序中。我已经更新了公共密钥,也更新的产品清单以下:

/** An array of product list entries for the products that can be purchased. */ 
private static final CatalogEntry[] CATALOG = new CatalogEntry[] { 
    new CatalogEntry("lemonstorm.huru.full", "Full v", Managed.MANAGED), 
    new CatalogEntry("android.test.purchased", "purchased",Managed.UNMANAGED), 
    new CatalogEntry("android.test.canceled", "cancelled",Managed.UNMANAGED), 
    new CatalogEntry("android.test.refunded", "Refunded",Managed.UNMANAGED), 
    new CatalogEntry("android.test.item_unavailable", "unavailable",Managed.UNMANAGED) 
}; 

我出口使用Eclipse的应用程序,并安装到我的手机上,并上传到Android Market网站。同样在Android Market网站上,我添加了lemonstorm.huru.full作为应用内购买并发布了它。

我还将我的googlemail帐户添加为测试帐户(即我在手机上登录的帐户)。

当我在手机上运行应用程序时,每当我尝试购买lemonstorm.huru.full时,都会收到一条RESULT_ITEM_UNAVAILABLE消息,但如果我尝试使用android.test.purchased,则它工作得非常好。

为RESULT_ITEM_UNAVAILABLE的文档指出以下几点:

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

产品ID是definetely一样的,它的definetely发布,请求必须要通过好的,因为它是示例应用程序和它的工作对android.test.purchased

任何想法,将不胜感激!

+0

我有同样的问题,但我确实发现其他人有一个谷歌邮箱帐户的问题。不知道这是否会帮助你。链接:http://osdir.com/ml/Android-Developers/2011-03/msg05455.html – beetstra 2011-05-27 13:57:58

+0

我试图添加[email protected]和[email protected]到测试列表中,似乎没有做尽管如此! – RichW 2011-05-28 15:53:34

+1

阅读常见问题...这只适用于gmail.com帐户。它是一个已知的错误..他们正在尝试修复它......只有测试部分......实际实现在所有邮件提供者中都能正常工作。 – 2011-06-01 04:32:24

回答

7

我有这个相同的问题。我发布应用程序后,发现产品。看起来谷歌的测试帐户

+0

有趣。您认为这完全是因为我使用谷歌邮箱帐户登录了电话,还是其他内容? – RichW 2011-05-30 13:20:17

+3

我不认为这只是googlemail帐户,但我不确定是什么原因造成的。根据Android文档,它应该像你在你的问题中描述的那样工作,但不知何故,testaccounts列表似乎被忽略。 – beetstra 2011-05-30 14:37:44

1

一个bug据我所知(?):

  1. 是否版本代码与应用程序中未公开的申请草案同一发布网站?
  2. 您是否将工厂数据重置为测试帐户?
  3. 您是否在发布网站中设置了lemonstorm.huru.full的托管产品?
+0

对不起,我从几个月前就开始工作了,因为我没有做到 - 我最终整合了PayPal库并在Android Market之外销售。 – RichW 2011-08-19 12:21:24

6

我有过同样的问题。我在玩Dungeons样本,错过了sword_001和potion_001产品必须“发布”。对我而言,问题在于他们刚刚得救并保持“未发布”。

为了解决这个问题,我刚刚编辑了产品,并按下了发布按钮。现在我可以从示例应用程序中购买两款产品。

1

此外,请记住,当你导出签名的应用程序。