【发布时间】:2019-11-22 06:10:10
【问题描述】:
我正在开发一个具有应用内订阅(每月和每年)的 Android 应用
- 单个订阅(两者)按预期工作
- 第一次我每月购买并升级到每年它按预期工作
- 第一次我每年购买并尝试降级并每月购买它没有按预期工作,后端服务器收到取消状态为“系统取消”的回调
我正在使用ProrationMode.DEFERRED 模式
这是我的升级代码:
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setOldSku(monthly_test)
.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.DEFERRED)
.setSkuDetails(skuDetailsYearly)
.build();
BillingResult responseCode = mBillingClient.launchBillingFlow(Activity.this, flowParams);
这是降级代码:
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setOldSku(Constants.yearly_test)
.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.DEFERRED)
.setSkuDetails(skuDetailsMonthly)
.build();
BillingResult responseCode = mBillingClient.launchBillingFlow(Activity.this, flowParams);
还有其他方式可以处理降级订阅吗?
【问题讨论】:
-
嗨,你在这方面有什么进展吗?我遇到了同样的问题,即在降级时不返回购买详细信息,并且在当前订阅到期后确认购买不起作用
-
@Seeker,“DEFERRED”对我不起作用。所以,我开始使用“IMMEDIATE_WITH_TIME_PRORATION”,它按预期工作。您可以参考此链接了解所有其他模式:developer.android.com/reference/com/android/billingclient/api/…
标签: android in-app-billing in-app in-app-subscription android-inapp-purchase