取消App App订阅

时间:2017-08-31 15:33:52

标签: android in-app-billing

我正在测试一款具有应用内订阅功能的应用。我使用测试订阅来测试似乎有用的购买。然后,我想测试该应用程序响应已取消的订阅,因此我从Play中取消了订阅。但是,getPurchase()调用仍会返回购买对象。我正在使用TrivalDrive示例中的代码,包括IABHelper。

        if (refsub != null && refsub.isAutoRenewing()) {
            mRefTechSku = REFTECH_SKU;
            mAutoRenewEnabled = true;
        } else {
            mRefTechSku = "";
            mAutoRenewEnabled = false;
        }

        // The user is subscribed if either subscription exists, even if neither is auto
        // renewing
        mSubscribedToRefSub = (refsub != null && verifyDeveloperPayload(refsub));

mSubscribedToRefSub返回true,而我期望它返回false。但是,mAutoRenewEnabled确实返回false,但这是检查活动订阅的有效方法,因为我们需要在订阅期结束之前保持应用程序处于活动状态。

2 个答案:

答案 0 :(得分:0)

是的,这是正确的。

https://developer.android.com/google/play/billing/billing_subscriptions.html#cancellation

它表示取消订阅意味着用户应该能够在到期日之前享受订阅(因为不会退款),但此订阅将不会在此之后续订。

由于到期时间仍然相同,订阅将在getPurchases()方法中返回,但自动续订字段将为false。

因此,在此方法返回订阅时,您必须向订阅者提供其内容/功能。

答案 1 :(得分:0)

感谢您的回复。事实证明,对于mSubscribedToRefSub开始返回false,从Play商店显示订阅已被取消可能需要一天的时间。所以它确实有效但不是马上就可以了。