应用内购买queryInventoryAsync不会返回已购买的商品

时间:2014-03-24 09:03:46

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

我正在使用测试产品ID (PRODUCT_ID = "1023608")来实施诺基亚应用内购买。

我可以使用以下代码段成功购买商品。

mHelper.launchPurchaseFlow(this, PRODUCT_ID, RC_REQUEST, this, "");

我在onIabPurchaseFinished获得了成功回应。

当我尝试使用mHelper.queryInventoryAsync(this);查询最近购买时,我收到Owned items response: 0

我只是想知道它应该返回我购买商品的产品ID。

如果我遗失任何东西,有人可以帮助我吗?

谢谢: - )

2 个答案:

答案 0 :(得分:1)

您是否正在使用模拟器进行测试:然后,已知问题将指出“测试ID的状态未在使用模拟器启动购买交易时存储到后端。

以下是指向它的链接:http://developer.nokia.com/community/wiki/Nokia_X_known_issues

答案 1 :(得分:1)

您需要将productBundle作为getPurchases-call的参数。 Bundle应包含与您的应用相关的产品:

ArrayList<String> products = new ArrayList<String>();
products.add("1023608");
products.add("1023609");
products.add("1023610");

Bundle queryBundle = new Bundle();
queryBundle.putStringArrayList("ITEM_ID_LIST", products);

Bundle ownedItems = mService.getPurchases(3, mContext.getPackageName(), ITEM_TYPE_INAPP, queryBundle, continueToken);

请注意,测试产品ID无法使用getPurchases。