每月每次续订都会更新Android应用内订阅购买日期吗?

时间:2014-09-14 14:22:43

标签: android in-app-billing subscription

我正在实施一款可以购买应用内订阅的应用。订阅每月续订。当用户购买订阅时,他们可以免费试用30天。我知道我可以从返回的JSON访问purchaseDate值,但是我对此有几个问题:

当一个人的订阅续订时,purchaseTime / purchaseDate是否会更新到续订的日期/时间?或者它始终是原始购买日期吗?

我正在尝试找出在应用程序中本地缓存它的最佳方法,以便在续订时每个月只使用一次getPurchases检查,是否有任何好的示例或最佳实践我可以遵循?

请不要通过发布文档链接来回复。我知道在哪里找到它并且已经阅读过了:)

2 个答案:

答案 0 :(得分:0)

提到的here的getPurchases()方法仅提取未过期的购买。因此,如果您的应用注意到用户没有购买(没有从' getPurchases()'中退回购买,但他们在您的应用中有购买信息(has_purchase,purchase_token等等)&# 39; s DB,然后您找到了已过期的购买,因此请删除该用户的数据库中的所有购买信息。

希望有所帮助。

答案 1 :(得分:-1)

以下是我目前对此的猜测,我也找不到好的文档。

我认为简单的答案是购买日期是原始购买日期,而不是续订日期。

换句话说,如果订阅于3月1日开始,并且您在7月份获得了购买,那么购买日期仍将是3月1日,即使已经进行了一些续订。

您可以使用getPurchaseState()=" 0"来判断订阅是否有效(已购买)," 1" =已取消," 2" =退款。

要知道到期日期,请使用购买日期的月中某天,并查找该月的那一天的下一次出现。例如,如果今天是7月15日,那么getPurchaseState()=" 0"那么到期日必须是8月1日。

以上所有都是一些猜测。我希望我也能找到一个好的文件。