我有一个带有应用内订阅的 Android 应用。 用户购买订阅后,我通过 Google API 通过我们的后端请求“validUntilTimestampMsec”和“initiationTimestampMsec”。
返回的时间戳“initiationTimestamp”是正确的,表示用户进行购买的时间,但返回的时间戳“validUntilTimestamp”总是与我需要的实际有效时间相差 +12 小时。我用来检索日期的函数与两个时间戳相似。
12 小时是从哪里来的,我怎样才能得到正确的时间。对于 Google Play 中的用户,过期日期也会显示错误。
每月订阅的示例:
是:
initiationTimestamp: 1374433559436 (7:05pm)
validUntilTimestamp: 1377155159436 (7:05am) -> 初始时间 + 1 个月 + 12 小时
需要:
initiationTimestamp: 1374433559436 (7:05pm)
validUntilTimestamp: 1377111959 (7:05pm) -> init-time + 1 month without the 12 hours
最佳答案
我没有在任何地方看到这一点,但我认为谷歌在 Shrinath 的示例中保持 v1
中的 6 小时,在 v1_1
中保持 12 小时(看起来像你的示例)基本上是为了保留时间缓冲以从客户的帐户中提取资金(谷歌负责的一项非常重要的交易),以及取消和重试请求。除了显示警告说可能需要长达 12 小时才能看到新内容或类似内容之外,我看不到解决方法。
关于android - 订阅购买后无效的到期日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17919332/