【问题标题】:Android: in app billing - cancel subscriptionAndroid:应用内计费 - 取消订阅
【发布时间】:2013-03-11 17:08:49
【问题描述】:

根据文档“当用户在有效的结算周期取消订阅时,Google Play 会立即通知您的应用购买状态的变化”。也就是说,订阅在活动计费周期结束之前是“有效的”。 (在此之前,不能进行新的订阅)。但是,如果您取消订阅并卸载您的应用(然后重新安装),是否会触发购买状态更改(onPurchaseStateChange)(因为在这种情况下可以进行新的购买/订阅)或者它是如何工作的?

我可以在我的应用中使用基于 HTTP 的 API 来请求购买状态(?),但它会在有效的结算周期中返回 CANCELED 吗?

也链接到this 问题。

【问题讨论】:

    标签: android in-app-billing


    【解决方案1】:

    但是,如果您取消订阅并卸载您的应用(然后重新安装),是否会触发购买状态更改 (onPurchaseStateChange)(因为在这种情况下可以进行新的购买/订阅)或者它是如何工作的?

    即使在卸载/重新安装后,订阅也会显示为活动状态。因为确实,它是活跃的。在这种情况下取​​消意味着在当前周期结束后不会自动向用户收费。

    我可以在我的应用中使用基于 HTTP 的 API 来请求购买 state(?),但它是否在活动计费周期内返回 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。这并不意味着您必须停止提供订阅内容。正如文档所理解的那样:

    重要提示:在任何情况下,您都必须继续提供符合以下条件的内容 您的订阅者通过他们的订阅购买,例如 任何用户都可以访问它。也就是说,您不得删除任何 订阅者的内容,而任何用户仍具有有效订阅 到它,即使该订阅将在结束时终止 当前计费周期。 删除订阅者有权使用的内容 访问将导致处罚。请参阅政策文件 了解更多信息。

    【讨论】:

    • 通常我不会这样做,但我的问题得到的关注很少,我不知道该怎么做,所以你能看看这个question好吗?我真的很感激
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2012-08-29
    • 2013-11-05
    • 1970-01-01
    • 2012-09-03
    相关资源
    最近更新 更多