Google Play订阅免费试用版

时间:2017-12-28 13:34:51

标签: android google-play in-app-billing in-app-subscription

有没有办法检查用户是否已经使用过他的免费试用版?

当我查询sub时,我得到了下一个数据:

[
    SkuDetails:{
        "productId":"...",
        "type":"subs",
        "price":"...",
        "price_amount_micros":0000,
        "price_currency_code":"USD",
        "subscriptionPeriod":"P1M",
        "freeTrialPeriod":"P1W1D",
        "title":"...",
        "description":"..."
    }
]

请问这个领域     " freeTrialPeriod":" P1W1D"当用户使用免费试用版时消失? 或者可能有其他方式来了解它?

我需要展示"免费"而不是订阅价格,然后在用户使用免费试用后显示实际价格

2 个答案:

答案 0 :(得分:1)

在文档中,Google 明确强调 Google Play 有责任向用户展示他们已经使用了免费试用版。

<块引用>

注意:SkuDetails.getFreeTrialPeriod() 返回免费试用期 在 Google Play Console 中配置。用户可能已经 使用了免费试用版。在这种情况下,Google Play 会与用户沟通 他们没有资格再次免费试用。

Free Trial Documentation

这意味着您可以始终向用户显示(免费 3 天,然后是价格/时间),或者您需要手动处理(使用共享首选项、您自己的服务器、使用异步查询购买历史来保持共享状态在重新安装的情况下)

答案 1 :(得分:-2)

根据官方documentation

  

freeTrialPeriod - 在Google Play控制台中配置的试用期,以ISO 8601格式指定。例如,P7D相当于七天。要了解有关免费试用资格的详情,请参阅应用内订阅。

     
    

注意:仅针对已配置试用期的订阅返回。

  

因此,每次获得SkuDetails时都会返回。

但是In-app Subscriptions的文档说:

  

试用期在您设置的时间段内运行,然后自动转换为根据订阅的结算时间间隔和价格管理的完整订阅。

您不需要管理它,一切都会自动生效。