在 android 订阅了应用内更新广播

subscribed in-app renewal broadcast in android

我已经为 subscription 产品实施了 in-app purchase,它运行良好。我为每个产品设置了1个月的订阅,1个月后会续订。

现在我的问题是有什么办法可以得到更新的产品列表和更新日期吗?

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

遗憾的是,In-app Billing API v3 不提供任何事件或方式来通知订阅续订或取消。

您唯一可以做的就是手动查询 API 以检索当前激活的订阅。 (这适用于 Android API 以及基于 http 的……)

Android 客户端的方法是:

  • 像往常一样查询库存,得到IabHelper#queryInventory(boolean querySkuDetails, List<String> moreItemSkus, List<String> moreSubsSkus)

  • 的产品列表
  • 如果用户有一个活跃的订阅,您将能够通过 IabHelper#getPurchase(String sku) 获得关于它的购买。购买将包含有关订阅状态和时间的信息。 (文档 here

要使用 Google Play Developer API(来自您的服务器)执行此操作,您必须使用返回的 get, the informations will be in the ressource

没有得到答案,但得到了一些东西,我正在与大家分享。经过大量研究后,我了解到没有任何广播或服务可以让我们知道产品已续订或取消。

使用 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。

从所有信息中我至少可以知道产品是何时购买的,天气自动更新是 on/off。

如果用户从 Google Play 商店取消自动续订,his/her 循环链将完成并在订阅结束日期之前享受优惠。

如果 autoRenew 为 false,则在到达订阅结束日期后,用户将不会获得与此相关的任何好处product/purchase/subscription。