Nokia X IAP getProductDetails() and getPurchases() error for



我正尝试在我的应用中添加诺基亚IAP,并遵循诺基亚应用内支付指南中所述的确切代码。

我已经使用测试id进行了测试,我可以获得产品详细信息,也可以购买该项目。但是对于一个实际的产品,其发布状态为Published (revision 7),虽然我可以使用getBuyIntent()方法购买它,但我无法获得产品详细信息。我在AsyncTask doInBackground()方法中使用getProductDetails()方法。我通过

从返回的bundle中获得响应
ArrayList<String> responseList = result.getStringArrayList("DETAILS_LIST");

responseList大小为1,其中包含7位产品ID,如下所示:

{"isvalid":false,"productId":"*******"}

但是它应该包含产品细节和价格,对吗?

当我尝试使用getPurchases()方法恢复时,它会返回错误代码6。如果我尝试:

ArrayList<String> items = mBundle.getStringArrayList("INAPP_PURCHASE_ITEM_LIST");

items对象始终是null

谁能帮助什么是错的,如何解决这些?我使用的是Nokia X模拟器,我的产品id是数字。谢谢!

是否使用setProductMappings-method?如果没有,你是否为getPurchases提供了productBundle ?其中之一需要能够使用getpurchase。我不知道为什么你的getProductDetails有问题,但是让我们先解决getPurchases问题。

我从内部专家那里得到的另一个原因可能是,如果您正在使用产品ID别名,那么您必须使用它。

因此要检查来自发布者门户的项目,并查看您是否设置了产品ID别名,如果您确实设置了它,那么请查看您正在使用它。

对于getProductDetails()方法:

    根据Dr. Jukka的回答,如果为产品创建别名,那么必须在代码中使用而不是默认的数字。

对于getPurchases()方法:

  • 所有获得购买的代码应该在AsyncTask中。诺基亚应用内支付指南只提到getProductDetails()方法不应该在主线程中执行,getPurchases()方法没有指定任何内容。我没有使用AsyncTask,同时恢复总是返回错误代码6。现在它使用AsyncTask工作。

注意: getBuyIntent()方法不需要AsyncTask,没有它也可以正常工作。

相关内容

  • 没有找到相关文章

最新更新