Android 应用内结算。即使在到期日期之后,取消的订阅仍然有效
Android In-App Billing. Cancelled subscription is active even after expiration date
在测试订阅时,事实证明取消的订阅即使在到期日期之后仍然有效。同时在Google播放订阅列表为空。我尝试了两个流行的 IAB 库(in-app-billing v3 和 android-checkout)。
导致问题的原因是什么?问题是否仅在测试时相关?有没有办法在不需要 运行 自己的后端的情况下检查订阅是否真正有效?
bp = new BillingProcessor(a,
"xxx",
new BillingProcessor.IBillingHandler() {
...
@Override
public void onBillingInitialized() {
bp.loadOwnedPurchasesFromGoogle();
bp.isSubscribed(planId); // true for expired cancelled subscription that is not listed in google play
}
});
UPD
我根据官方指南 (https://developer.android.com/google/play/billing/billing_integrate.html) 在没有外部库的情况下实施了应用内结算,现在它按预期工作,尽管我必须等待一段时间才能取消过期的订阅变得不活跃(有时一个小时,有时一个小时)天)。
你可以试试这个。
purchase.getPurchaseState()
// 0 (purchased), 1 (canceled)- 2 (refunded).
在测试订阅时,事实证明取消的订阅即使在到期日期之后仍然有效。同时在Google播放订阅列表为空。我尝试了两个流行的 IAB 库(in-app-billing v3 和 android-checkout)。
导致问题的原因是什么?问题是否仅在测试时相关?有没有办法在不需要 运行 自己的后端的情况下检查订阅是否真正有效?
bp = new BillingProcessor(a,
"xxx",
new BillingProcessor.IBillingHandler() {
...
@Override
public void onBillingInitialized() {
bp.loadOwnedPurchasesFromGoogle();
bp.isSubscribed(planId); // true for expired cancelled subscription that is not listed in google play
}
});
UPD
我根据官方指南 (https://developer.android.com/google/play/billing/billing_integrate.html) 在没有外部库的情况下实施了应用内结算,现在它按预期工作,尽管我必须等待一段时间才能取消过期的订阅变得不活跃(有时一个小时,有时一个小时)天)。
你可以试试这个。
purchase.getPurchaseState()
// 0 (purchased), 1 (canceled)- 2 (refunded).