Google Play Developer API:"startTimeMillis"会在不应该更新时更新

bli*_*OSX 8 android subscriptions in-app-billing

我正在使用应用内订阅开发应用程序.在我们的服务器上,我通过Google Play Developer API检查每个订阅的有效性.

如文档中所述,对Purchases.subscriptions端点的请求返回类似的内容:

{
  "kind": "androidpublisher#subscriptionPurchase",
  "startTimeMillis": long,
  "expiryTimeMillis": long,
  "autoRenewing": boolean
}
Run Code Online (Sandbox Code Playgroud)

但是,我发现它有一些奇怪的行为.当用户通过Google Play应用取消订阅时,"startTimeMillis"字段会更新为取消时间.

根据文档,"startTimeMillis"是"授予订阅的时间",所以我预计这个值不应该改变.有人可以解释我为何在取消后更新?

我还有一个我无法测试的重要问题......有人花了几个月的订阅时间,可以告诉我,当订阅自动续订时,这个"startTimeMillis" 是否也会更新?我也期望这不应该改变但是......现在,我不确定这一点.

谢谢

Boo*_*ood 4

遇到类似问题并发现:

  1. 当用户取消订阅时,startTimeMillis不会改变,只是 autoRenewing 改为 false

  2. 如果用户在取消后再次订阅,google会向你发送一个新的订阅token,但是当使用之前的token查询时,响应会更改为与新token相同,即startTimeMillis会改变