我正在使用InAppBilling支持开发Android应用程序。 有以下算法:
mHelper.queryInventoryAsync(false, null, listener)
mHelper.queryInventoryAsync(true, skuList, listener)
一切设备(手机)上的一切正常。
然后我在平板电脑上安装应用程序(使用相同的帐户),但有关购买项目的信息不可用。
(有关用户可以购买的商品的信息,我可以成功获得。)
如何在其他设备(使用相同的帐户)上获取有关付费项目(用户购买的商品)的信息?
- 更新 -
非常奇怪的用例:
用户在手机上使用Android InAppBilling购买 3个可用的项目。
检查2刚刚在手机上购买的物品。它们是可见的。
在平板电脑(或其他设备)上安装应用。
检查2只是在平板电脑上买的物品。它们也是可见的。
在手机上购买第3项
检查手机上的第3项。它是可见的。
检查平板电脑上的第3项。 不可见
源代码中会发生什么:
IabHelper.java
Bundle ownedItems = mService.getPurchases(3, mContext.getPackageName(),
itemType, continueToken);
...
ArrayList<String> ownedSkus = ownedItems.getStringArrayList(
RESPONSE_INAPP_ITEM_LIST);
ArrayList<String> purchaseDataList = ownedItems.getStringArrayList(
RESPONSE_INAPP_PURCHASE_DATA_LIST);
ArrayList<String> signatureList = ownedItems.getStringArrayList(
RESPONSE_INAPP_SIGNATURE_LIST);
考虑数字项目5-7(刚买了第3项):
在手机上我们有关于3件商品的信息
在平板电脑上,我们有2个购买物品的信息(第1和第2)。 但是为什么第三项不在这里?
答案 0 :(得分:2)
看起来像是Google Play的问题。可以使用Google Play应用的清算缓存或重启设备进行修复。