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

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

{
  "kind": "androidpublisher#subscriptionPurchase",
  "startTimeMillis": long,
  "expiryTimeMillis": long,
  "autoRenewing": boolean
}

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

根据文档,“startTimeMillis”是“授予订阅的时间”,因此我希望此值不应更改。有人可以解释一下为什么取消后更新吗?

我还有一个我无法测试的重要问题...花了几个月时间处理订阅的人可以告诉我,如果自动续订时,“startTimeMillis” 是否也被更新了吗?我也希望这不会改变,但是...现在,我对此不确定。

谢谢

最佳答案

发生了类似的问题,并发现:

  • 当用户取消订阅时,startTimeMillis不会更改,只有autoRenewing更改为false
  • 如果用户在取消后再次订阅,则google会向您发送一个新的订阅 token ,但是当使用前一个 token 查询时,响应将更改为与新 token 相同,即startTimeMillis将更改为
  • 10-08 05:33