Android应用内订阅购买日期是否随每月续费而更新?

Android应用内订阅购买日期是否随每月续费而更新?,android,in-app-billing,subscription,Android,In App Billing,Subscription,我正在实施一个应用程序,该应用程序将进行应用内订阅购买。订阅按月续订。当用户购买订阅时,他们将获得30天的免费试用期。我知道我可以从返回的JSON中访问purchaseDate值,但对此我有几个问题: 当一个人的订阅续订时,purchaseTime/purchaseDate是否会更新为续订的日期/时间?还是始终保持原始购买日期 我正在尝试找出在应用程序中本地缓存此内容的最佳方法,以便在续订期间每月只使用GetBurchases进行几次检查,是否有任何好的示例或最佳做法可以遵循 请不要通过发布文档

我正在实施一个应用程序,该应用程序将进行应用内订阅购买。订阅按月续订。当用户购买订阅时,他们将获得30天的免费试用期。我知道我可以从返回的JSON中访问purchaseDate值,但对此我有几个问题:

当一个人的订阅续订时,purchaseTime/purchaseDate是否会更新为续订的日期/时间?还是始终保持原始购买日期

我正在尝试找出在应用程序中本地缓存此内容的最佳方法,以便在续订期间每月只使用GetBurchases进行几次检查,是否有任何好的示例或最佳做法可以遵循


请不要通过发布文档链接进行回复。我知道在哪里可以找到,并且已经读过了:)

这是我目前的猜测,我也没有找到一个好的医生

我相信简单的答案是,购买日期是原始购买日期,而不是续约日期

换句话说,如果订阅从3月1日开始,并且您在7月份进行了getPurchases,那么购买日期仍然是3月1日,即使有一些续订

您可以通过getPurchaseState()=“0”(已购买),“1”=已取消,“2”=已退款来判断订阅是否处于活动状态

要知道截止日期,请使用从购买日期算起的月份中的某一天,并查找该月份下一个发生的日期。例如,如果今天是7月15日,getPurchaseState()为“0”,则到期日期必须是8月1日

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

前面提到的getPurchases()方法只提取未过期的购买。因此,如果你的应用程序注意到用户没有购买(没有从“getPurchases()”返回的购买,但他们在你的应用程序的数据库中有购买信息(有购买、购买令牌等),那么你发现了一个过期的购买,因此请删除该用户在数据库中的所有购买信息


希望这会有所帮助。

我认为这种方法忽略了用户取消订阅的状态,但他们的订阅仍有时间。我认为唯一真正的方法是查询Google Play Developer API并在那里获取订阅信息。它没有被忽略,更像是我们找不到一个很好的答案来回答关于w的问题hat信息可用。您能否更具体地说明“查询Google Play开发者API”的含义?也许您可以显示几行可能使用的代码。要处理取消,您必须知道取消后订阅信息是否仍然可用?它保持可用多长时间?此处列出了您需要调用Google以获取信息的API:。如果您调用“get”方法时,将返回显示开始时间和过期时间的资源。开始时间是sub的最开始时间,过期时间是它停止活动的时间。如果这仍然没有意义(我很长时间都很困惑),那么我可以在这里更好地写出答案。谷歌的文档太可怕了。谢谢,这看起来是有可能的。如果这是获取日期所需要的,那么这里真的应该有一个链接: