【发布时间】:2013-07-29 08:31:56
【问题描述】:
我有一个带有应用内订阅的 Android 应用。 用户购买订阅后,我通过 Google API 通过我们的后端请求“validUntilTimestampMsec”和“initiationTimestampMsec”。
返回的时间戳“initiationTimestamp”是正确的,表示用户进行购买的时间,但返回的时间戳“validUntilTimestamp”与我需要的实际有效时间始终相差 +12 小时。我用来检索日期的函数与两个时间戳相似。
12 小时从何而来,我如何才能获得正确的时间。对于 Google Play 中的用户,过期日期也会显示错误。
每月订阅示例:
是:
启动时间戳:1374433559436(晚上 7:05)
validUntilTimestamp: 1377155159436 (7:05am) -> 初始时间 + 1 个月 + 12 小时
需要:
启动时间戳:1374433559436(晚上 7:05)
validUntilTimestamp: 1377111959 (7:05pm) -> init-time + 1 个月没有 12 小时
【问题讨论】:
-
你从哪里得到validUntil?我似乎无法找到重新运行它的 api 调用。这说它非常令人费解,因为谷歌只支持每月和每年。
-
developers.google.com/android-publisher/v1_1/purchases#resource。如您所见,谷歌返回自纪元以来的过期时间,但对我来说延迟了 12 小时
-
有趣的是在这里被问到:stackoverflow.com/questions/15354249/… 但被关闭为题外话,但他提到了 6 小时,所以你可以尝试询问他是否得到答案,但我认为额外的时间是取消、重试请求等的宽限期。
-
感谢您的提示 Slartibarfast。我对 Google 支持感到非常恼火。我向相应的 Google Group 发布了 3 次相同的问题,但没有被版主解锁。 Android Bugtracker 将我引导至 Google Play 服务支持,支持人员回答:这是开发人员问题,请咨询 Google 群组。
标签: android google-play in-app-billing subscriptions