如何知道用户是否通过 Google Play Billing Library 使用了免费试用版?
How to know if a user has used a free trial with Google Play Billing Library?
我似乎无法在 Google 返回的 Purchase 对象中找到任何相关信息。我知道 SkuDetails 有一个“getFreeTrialPeriod()”方法,但只有 returns 免费试用的持续时间,而不是用户是否使用免费试用。
有什么想法吗?谢谢!
这只有在您使用后端处理订阅时才有可能。然后,您可以从您的服务器创建一个 request,它将 return 您 JSON 包含购买信息,您可以在其中找到 paymentState
字段。
可能的值:
- 0 - 待付款
- 1 - 已收到付款
- 2 - 免费试用
如果您想确定试用现在是否有效,您可以使用它。要确定试用在过去是否有效,您的服务器应该接收 Real-time developer notifications 并存储有关已购买订阅的信息。
例如,当您收到SUBSCRIPTION_PURCHASED
通知时,您可以进行与上述相同的请求,以检索有关购买的信息。在 JSON 中,您会看到 priceAmountMicros
字段。试用应该是0
。所以您可以将其存储在您的服务器上并稍后检查。
我似乎无法在 Google 返回的 Purchase 对象中找到任何相关信息。我知道 SkuDetails 有一个“getFreeTrialPeriod()”方法,但只有 returns 免费试用的持续时间,而不是用户是否使用免费试用。
有什么想法吗?谢谢!
这只有在您使用后端处理订阅时才有可能。然后,您可以从您的服务器创建一个 request,它将 return 您 JSON 包含购买信息,您可以在其中找到 paymentState
字段。
可能的值:
- 0 - 待付款
- 1 - 已收到付款
- 2 - 免费试用
如果您想确定试用现在是否有效,您可以使用它。要确定试用在过去是否有效,您的服务器应该接收 Real-time developer notifications 并存储有关已购买订阅的信息。
例如,当您收到SUBSCRIPTION_PURCHASED
通知时,您可以进行与上述相同的请求,以检索有关购买的信息。在 JSON 中,您会看到 priceAmountMicros
字段。试用应该是0
。所以您可以将其存储在您的服务器上并稍后检查。