在试用期间取消订阅后,Android应用程序何时获得“已过期”状态

时间:2012-12-21 04:47:57

标签: android in-app-billing

我的Android应用中有一个“免费试用订阅”,BillingService会在购买订阅产品后获得购买状态。

但是,BillingService在取消订阅后没有获得Expired状态。

但是,请加入Android Developer

  

“如有必要,用户可以在任何时候取消订阅   试用期。在这种情况下,Google Play会将订阅标记为   立即过期,而不是等到审判结束   周期“。

但我的应用无法获得状态。

我想知道在试用期内取消订阅后Android应用程序何时获得“已过期”状态。

2 个答案:

答案 0 :(得分:6)

我也注意到了这一点。在我的情况下,购买状态仅在(7天)试用期结束时更改,即使我在购买试用订阅的几分钟内取消。

我正在等待另一个取消的试用期到期 - 现在已经过了3天,购买状态仍为0(“已成功购买”)。

<强>更新 因此,您似乎需要定期恢复交易(Google表示您不应该“因为性能影响而”)或者您需要一个带代码的Web服务器来使用服务器端API检查订阅详细信息{{3} }。然后,您的应用会查询您的网络服务器,该服务器只会在到期日期后检查Google的服务。

答案 1 :(得分:1)

我已经在非测试环境(即生产环境)中测试了这种情况。

我在取消订阅后大约4小时收到了一个带有EXPIRED状态的ACTION_PUR​​CHASE_STATE_CHANGED通知。 (我在购买后几分钟取消了订阅。试用期为7天)

在EXPIRED通知返回“已经拥有”几次后尝试重新购买订阅,之后我能够重新购买(没有试用期,如文档所示)。

我没有实施Google服务器API,所以我不知道状态是什么。但是,在商家网站上,订单和订单CSV下载会将商品显示为已收费。

那么,自上次回答以来发生了什么变化?

  1. 生产环境与Google测试环境
  2. 可能是谷歌错误修复
  3. 实施Google服务器API查询后,我将更新此答案。

    <强>更新

    我已经实施了Google Server API检查,并且在购买后几分钟内正确显示订阅已取消。此API检查在购买后3天完成,在7天试用期内完成。

    此时我的结论是,试用期内的用户取消是由Google正确处理的。