我为in-app purchase
产品实施了subscription
,它工作正常。我为每种产品订了1个月的订阅,并且会在1个月后续订。
现在我的问题是有没有办法获得更新的产品清单和续订日期?
谷歌是否提供任何类型的服务或活动,通过这些服务或事件我们可以了解更新。
答案 0 :(得分:6)
不幸的是,In-app Billing API v3
没有提供任何事件或方式来通知订阅续订或取消。
您唯一能做的就是手动查询API以检索当前激活的订阅。 (这适用于Android API以及基于http的API ...)
执行此操作的方法来自Android客户端:
像往常一样查询广告资源,以获取IabHelper#queryInventory(boolean querySkuDetails, List<String> moreItemSkus, List<String> moreSubsSkus)
如果用户有有效订阅,您可以使用IabHelper#getPurchase(String sku)
获取有关该订阅的信息。购买将包含有关订阅状态和时间的信息。 (doc here)
要使用Google Play Developer API
(来自您的服务员)执行此操作,您必须使用get,信息将在ressource返回。
答案 1 :(得分:1)
没有得到答案但得到的东西我和你们分享。经过大量研究后,我发现没有广播或服务,我们可以通过它来了解产品的更新或取消。
使用billingService.getPurchases
我购买了所有当前用户。
Bundle bundle = billingService.getPurchases(3, getPackageName(), "subs", null);
这将为我提供订阅项目列表,其中包含以下详细信息。
INAPP_PURCHASE_ITEM_LIST
RESPONSE_CODE
INAPP_PURCHASE_DATA_LIST
INAPP_DATA_SIGNATURE_LIST
从上面的细节我得到了aurenew状态,购买日期,orderId,packageName,purchaseTime,purchaseState,purchaseToken。
从所有信息至少我知道什么时候购买产品,天气自动更新开启/关闭。
如果用户将从Google Play商店取消autoRenew,他/她的周期链将会完成,并会在订阅结束日期之前获得优惠。
如果autoRenew为false,则在达到订阅结束日期后,用户将无法获得与该产品/购买/订阅相关的任何优惠。