问题描述
我似乎在 Google 返回的 Purchase 对象中找不到任何相关信息。我知道 SkuDetails 有一个“getFreeTrialPeriod()”方法,但它只返回免费试用的持续时间,而不是用户是否使用免费试用。
有什么想法吗?谢谢!
解决方法
这只有在您使用后端处理订阅时才有可能。然后,您可以从您的服务器制作一个 request,它将返回包含购买信息的 JSON,您可以在其中找到 paymentState
字段。
可能的值:
- 0 - 待付款
- 1 - 收到付款
- 2 - 免费试用
如果您想确定试用版现在是否处于活动状态,可以使用它。要确定过去是否进行过试用,您的服务器应接收 Real-time developer notifications 并存储有关已购买订阅的信息。
例如,当您收到 SUBSCRIPTION_PURCHASED
通知时,您可以发出与上述相同的请求,以检索有关购买的信息。在 JSON 中,您将获得 priceAmountMicros
字段。它应该是 0
试用。因此,您可以将其存储在您的服务器上,以便稍后检查。