根据文档“当用户在活动计费周期内取消订阅时,google play不会立即通知您的应用程序购买状态的更改”。也就是说,订阅在活动计费周期结束之前是“有效的”。(在此之前,无法进行新的订阅)。但是,如果取消订阅并卸载应用程序(然后重新安装),是否会触发购买状态更改(onPurchaseStateChange)(因为在这种情况下可以进行新的购买/订阅),或者它是如何工作的?
我可以在我的应用程序中使用基于http的api来请求购买状态(?),但在活动计费周期内是否返回已取消?
同时链接到this问题。

最佳答案

但是,如果取消订阅并卸载应用程序(然后重新安装),是否会触发购买状态更改(onPurchaseStateChange)(因为在这种情况下可以进行新的购买/订阅),或者它是如何工作的?
即使在卸载/重新安装之后,订阅也将显示为活动状态。因为它确实很活跃。在此上下文中取消意味着用户在当前周期结束后将不会自动收费。
我可以在我的应用程序中使用基于http的api来请求购买
状态(?),但在活动计费周期内是否返回已取消?
是的,您可以使用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。这并不意味着您必须停止提供订阅内容。当医生们感同身受时:
重要提示:在任何情况下,您必须继续提供
您的订阅用户已通过其订阅购买,因为
只要任何用户都能访问它。也就是说,你不能移除任何
任何用户仍有活动订阅时订阅服务器的内容
对它来说,即使该订阅将在
当前计费周期。删除订阅服务器有权使用的内容
访问将导致惩罚。请参阅政策文件
更多信息。

10-07 19:40
查看更多