Android InApp Purchase:getPurchases 返回空响应
Posted
技术标签:
【中文标题】Android InApp Purchase:getPurchases 返回空响应【英文标题】:Android InApp Purchase: getPurchases returns empty response 【发布时间】:2013-09-26 13:29:51 【问题描述】:我有一个应用程序,其中包含 4 个 Managed
In App Purchases 并使用 In App Billing API v3。购买工作正常。为了恢复购买,当我拨打getPurchases(...)
时,它不会显示任何拥有的 SKU。
下面是sn-p的代码:
Bundle ownedItems = mService.getPurchases(3, getPackageName(), "inapp", null);
int response = ownedItems.getInt("RESPONSE_CODE");
alert("response " + response);
ArrayList ownedSkus = ownedItems.getStringArrayList("INAPP_PURCHASE_ITEM_LIST");
ArrayList purchaseDataList = ownedItems.getStringArrayList("INAPP_PURCHASE_DATA_LIST");
ArrayList signatureList = ownedItems.getStringArrayList("INAPP_DATA_SIGNATURE");
String continuationToken = ownedItems.getString("INAPP_CONTINUATION_TOKEN");
alert("ownedSkus " + ownedSkus);
for (int i = 0; i < purchaseDataList.size(); ++i)
String purchaseData = (String) purchaseDataList.get(i);
String signature = (String) signatureList.get(i);
String sku = (String) ownedSkus.get(i);
alert("PURACHSED ITEM " + i + " === " + sku);
// do something with this purchase information
// e.g. display the updated list of products owned by user
有没有人经历过类似的事情?我错过了什么吗?
感谢任何帮助!
【问题讨论】:
我也有同样的问题。服务响应 OK,INAPP_PURCHASE_ITEM_LIST 和 INAPP_PURCHASE_DATA_LIST 都是空的。但是,如果我尝试购买一种产品,它会给我一个错误“您已经拥有此商品”。 我发布了我的答案,请看一下。 在我的情况下,我正在使用消耗品并且得到了空的购买和“已经拥有”的消息......无论如何,谢谢你的回复,至少,你填写一个答案:P @Sisso - 我面临着完全相同的问题:消耗品,列表是空的,但它给了我错误“你已经拥有这个项目” - 你解决了吗? @Sisso 和@swalkner - 你们看过我的回答了吗?我发布了解决方案。你是在调用consume
方法吗?
【参考方案1】:
我的客户给我的代码是由以前的开发人员编写的。在参考文档并检查源代码后,我确定了原因。
文档说:
如果您使用的是版本 3 API,您还可以在应用程序中使用托管项目。您通常会为可以多次购买的物品(例如游戏内货币、燃料或魔法)实施消耗。购买后,在您通过向 Google Play 发送消费请求消费该项目之前,无法再次购买受管理的项目。
之前的开发者实际上是 consuming
购买,这使得它再次可供购买。由于我的 InApp Purchase 是 Managed
,因此无需致电 consume
。
在我删除对consume the product
的调用后,一切正常。
这是来自文档的link。
【讨论】:
谢谢!!你拯救了我的一天以上是关于Android InApp Purchase:getPurchases 返回空响应的主要内容,如果未能解决你的问题,请参考以下文章
InApp Purchase 内容在多个移动平台(iOS 和 Android)上的兼容性。
iOS首次inapp-purchase必须提交二进制文件进行沙盒测试
应用程序中的颤动-flutter_inapp_purchase-IOS App Store 拒绝-性能:应用程序完整性
Inapp Purchase:我们可以在itunes connect中动态添加一堆产品吗?