9

我已经in-app purchasesubscription产品实施了,它工作正常。我为每个产品设置了 1 个月的订阅,并且它将在 1 个月后续订。

现在我的问题是有没有办法获得更新的产品列表和更新日期?

谷歌是否提供任何可以让我们了解续订的服务或活动。

4

2 回答 2

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)。购买将包含有关订阅状态和时间的信息。(文档在这里

要使用Google Play Developer API(来自您的服务器)执行此操作,您必须使用get,信息将在返回的资源中。

于 2016-02-15T10:38:37.743 回答
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 为 false,则在达到订阅结束日期后,用户将不会获得与该产品/购买/订阅相关的任何好处。

于 2016-02-16T13:42:02.060 回答