根据文档"当用户在有效结算周期中取消订阅时,Google Play会立即不立即通知您的应用状态&#34 ;.也就是说,订阅是有效的"直到活动结算周期结束。 (在此之前,不能进行新的订阅)。但是,如果您取消订阅并卸载您的应用程序(并重新安装它),是否会触发购买状态更改(onPurchaseStateChange)(因为在这种情况下可以进行新的购买/订阅)或者它是如何工作的?
我可以在我的应用程序中使用基于HTTP的API来请求购买状态(?),但是在活动结算周期内它是否会返回CANCELED?
还链接到this问题。
答案 0 :(得分:7)
但是如果您取消订阅并卸载您的应用程序(并重新安装它),是否会触发购买状态更改(onPurchaseStateChange)(因为在这种情况下可以进行新的购买/订阅)或者它是如何工作的?
即使在卸载/重新安装后,订阅也会显示为活动状态。因为它确实是活跃的。在此上下文中取消意味着在当前周期结束后将不会自动向用户收费。
我可以在我的应用中使用基于HTTP的API来请求购买 状态(?),但在活动结算周期内是否返回CANCELED?
是的,您可以使用Google Play Android Developer API。请记住,此API需要身份验证令牌;并且您必须使用用于发布应用的Google帐户。因此,出于安全原因,这必须在您自己的服务器上完成。
但是这很有趣:即使您使用API并检查最近取消的订阅,它也会显示有效。
此示例可能是调用API以检查已取消的订阅:
https://www.googleapis.com/androidpublisher/v1.1/applications/YOUR-PACKAGE-NAME/
subscriptions/THE-SUBSCRIPTION-SKU/
purchases/PURCHASE-TOKEN-GOES-HERE?access_token=AUTH-TOKEN-GOES-HERE
结果如下:
{
"kind": "androidpublisher#subscriptionPurchase",
"initiationTimestampMsec": "1379986154994",
"validUntilTimestampMsec": "1382621354994",
"autoRenewing": false
}
因此,如果取消订阅,您必须知道的唯一提示是autoRenewing
,其设置为false。这并不意味着您必须停止提供订阅内容。随着文档的同情:
重要提示:在所有情况下,您必须继续提供该内容 您的订阅者已通过订阅购买,因为 任何用户都可以访问它。也就是说,你不能删除任何 订阅者的内容,而任何用户仍有活跃的订阅 即使该订阅将在结束时终止 当前的结算周期。 删除订阅者有权获得的内容 访问将导致处罚。请参阅政策文件 了解更多信息。