我已经in-app purchase
为subscription
产品实施了,它工作正常。我为每个产品设置了 1 个月的订阅,并且它将在 1 个月后续订。
现在我的问题是有没有办法获得更新的产品列表和更新日期?
谷歌是否提供任何可以让我们了解续订的服务或活动。
我已经in-app purchase
为subscription
产品实施了,它工作正常。我为每个产品设置了 1 个月的订阅,并且它将在 1 个月后续订。
现在我的问题是有没有办法获得更新的产品列表和更新日期?
谷歌是否提供任何可以让我们了解续订的服务或活动。
不幸的是,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)
。购买将包含有关订阅状态和时间的信息。(文档在这里)
要使用Google Play Developer API
(来自您的服务器)执行此操作,您必须使用get,信息将在返回的资源中。
没有得到答案,但得到了一些我与大家分享的东西。经过大量研究,我知道没有广播或服务可以让我们知道产品是否更新或取消。
通过使用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 为 false,则在达到订阅结束日期后,用户将不会获得与该产品/购买/订阅相关的任何好处。