android - 订阅购买后无效的到期日期

标签 android google-play in-app-billing subscriptions

我有一个带有应用内订阅的 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/

相关文章:

java - 捕获图像,上传到 Firebase 并检索 Java Android Studio

android - 具有 WRITE_APN_SETTINGS 权限的应用不适用于 Android Market 上的 Galaxy Tab 10.1 GT-P7500

android - 无法将 64 位库添加到我的应用程序,Play 商店拒绝它

android - ListView 中的应用内结算工作流

android - ExpandableRecyclerAdapter 如何在扩展项目时强制项目向上移动

android - 应用程序被终止时无法处理 FCM 消息

Android:如何使用应用内计费更新 Android 应用?

android - 如何让用户在 Android 应用内购买中反复购买相同的产品

android - Jetpack Compose TextField 是否存在辅助文本、错误消息、字符计数器?

android - 您如何创建一个只引导用户在 Google Play 上下载完整版本的 stub 应用程序?