检测当前订阅是不是为 Google Play 商店的试用版?

Posted

技术标签:

【中文标题】检测当前订阅是不是为 Google Play 商店的试用版?【英文标题】:Detecting whether the current subscription is in Trial for Google Play store?检测当前订阅是否为 Google Play 商店的试用版? 【发布时间】:2014-08-15 12:51:36 【问题描述】:

我正在尝试检测通过应用内购买购买我的应用的用户当前是否处于试用期。

对于 Apple(ios 商店)来说,这是一个简单的标志,我可以在收据中找到。

对于 Google Play,即使我正在使用 google play android 开发人员 API 进行服务器端调用,但响应本身不包含任何标志,以便我了解用户当前是处于付费还是试用期。

有人对如何在谷歌世界中检测到这一点有任何明智的建议吗?

【问题讨论】:

我也在找这个?期间有没有发现什么?看起来它在 V2 中没有提供.. 【参考方案1】:

我检查了initiationTimestampMsec 和validUntilTimestampMsec 之间的区别。如果它与我配置的试用期匹配,则试用。

【讨论】:

这里指的是API的V1,对吧?我不认为他们支持那里的试验,是吗?如果是这样,那么哪个值将保持当前计费周期的开始?【参考方案2】:

实际上,目前 V2 似乎并没有提供此功能。到目前为止,我最好的替代方法是跟踪第一次购买的时间(例如,从用户收到的第一次购买收据中读取它),然后将此时间戳与当前时间进行比较试用期的持续时间。

这可以从 InAppProducts.get 部分的trialPeriod 读取到相应的 productId。

https://developers.google.com/android-publisher/api-ref/inappproducts

如果有人有更好的解决方案,我很乐意在这里阅读。

【讨论】:

以上是关于检测当前订阅是不是为 Google Play 商店的试用版?的主要内容,如果未能解决你的问题,请参考以下文章

如何确定用户是不是取消了 Google Play 订阅?

当我更新显示打开按钮而不是更新按钮的新版本 Google Play 商店时

检测是不是从 Google Play 与 Amazon 与其他下载了 Android 应用程序

是否可以在运行时可靠地检测到哪个商店安装了 Android 应用程序(Google Play 或亚马逊市场)?

检测是不是从 Play 商店安装了应用程序

通过 Google Play 支付的应用内订阅和订阅自动续订,是不是需要通过 Google Play 安装应用?