这个问题是关于谷歌对象中的startTimeMillis
字段的。Purchases.subscriptions
如果用户通过 Android 购买商品,应用程序会将购买数据发送到我们的后端进行验证和处理。响应表单 Google 是一个Purchases.subscriptions
包含如下所述数据的对象:https ://developers.google.com/android-publisher/api-ref/purchases/subscriptions
在此对象中有两个字段startTimeMillis
和expiryTimeMillis
.
如果购买的详细信息在一段时间后从我们的后端发送到 Google expiryTimeMillis
,那么我们会返回一个带有更新的新对象expiryTimeMillis
。这意味着我们处于“下一个”更新期。我们的后端使用这些新数据创建一个新记录。工作正常。
但是,我在我们的数据库记录中看到了一些奇怪之处。在我们编写的代码中。
在上面链接的文档中,它声明startTimeMillis
是订阅的初始购买日期。因此,如果我今天购买了订阅,那么“startTimeMillis”将是今天,“expiryTimeMillis will be 1 month from now. If I bought the subscription 3 months ago today, then the
startTimeMillis will be 3 months ago and the
expiryTimeMillis”将从今天开始 1 个月 - 基本上这两个日期之间有 4 个月。
但这种一致的时间价值startTimeMillis
仅在今年发生。我的订阅已经运行了一年多,所有去年购买并从那时起一直在续订的startTimeMillis
. 基本上,该startTimeMillis
字段一直是当前更新周期的开始时间。
然后在 1 月中旬的某个时候,这种情况停止了。现在startTimeMillis
显示订阅购买时间。我有数百个这样的订阅。
这究竟是什么时候发生的?为什么?此外,我找不到任何文档或通知已发生此更改。有人可以阐明这里发生的事情吗?