5

这个问题是关于谷歌对象中的startTimeMillis字段的。Purchases.subscriptions

如果用户通过 Android 购买商品,应用程序会将购买数据发送到我们的后端进行验证和处理。响应表单 Google 是一个Purchases.subscriptions包含如下所述数据的对象:https ://developers.google.com/android-publisher/api-ref/purchases/subscriptions 在此对象中有两个字段startTimeMillisexpiryTimeMillis.

如果购买的详细信息在一段时间从我们的后端发送到 Google expiryTimeMillis,那么我们会返回一个带有更新的新对象expiryTimeMillis。这意味着我们处于“下一个”更新期。我们的后端使用这些新数据创建一个新记录。工作正常。

但是,我在我们的数据库记录中看到了一些奇怪之处。在我们编写的代码中。

在上面链接的文档中,它声明startTimeMillis是订阅的初始购买日期。因此,如果我今天购买了订阅,那么“startTimeMillis”将是今天,“expiryTimeMillis will be 1 month from now. If I bought the subscription 3 months ago today, then thestartTimeMillis will be 3 months ago and theexpiryTimeMillis”将从今天开始 1 个月 - 基本上这两个日期之间有 4 个月。

但这种一致的时间价值startTimeMillis仅在今年发生。我的订阅已经运行了一年多,所有去年购买并从那时起一直在续订的startTimeMillis. 基本上,该startTimeMillis字段一直是当前更新周期的开始时间。

然后在 1 月中旬的某个时候,这种情况停止了。现在startTimeMillis显示订阅购买时间。我有数百个这样的订阅。

这究竟是什么时候发生的?为什么?此外,我找不到任何文档或通知已发生此更改。有人可以阐明这里发生的事情吗?

4

0 回答 0