如何在应用订阅中使用按比例分配模式 android
How to use proration mode in app subscription android
我在 android 应用中按月和按年使用两个订阅计划。
如果用户订阅了月度计划,那么我想为用户提供升级到年度计划的选项。我已经阅读了我需要使用的官方文档BillingFlowParams.ProrationMode,但我无法弄清楚我应该如何实现它。
这是代码示例:
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setSkuDetails(skuDetails)
.setOldSku(oldSku)
// I need to replace replaceSkusProrationMode to DEFERRED
// how do I get complete path to DEFERRED
.setReplaceSkusProrationMode(replaceSkusProrationMode)
.build()
int responseCode = billingClient.launchBillingFlow(activity, flowParams);
使用这个 link 我得到 DEFERRED 的 int 值是 4 但使用硬编码值不是一个好主意。
我该如何实现?
我使用旧版本的 billingclient 升级到新版本解决了我的问题。
我改成了
implementation 'com.android.billingclient:billing:2.0.2'
来自
implementation 'com.android.billingclient:billing:1.0'
然后我得到一个 setReplaceSkusProrationMode 选项。
这是我现在的使用方式:
BillingFlowParams flowParams1 = BillingFlowParams.newBuilder()
.setOldSku(monthly_test)
.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.DEFERRED)
.setSkuDetails(yearly_test)
.build();
我在 android 应用中按月和按年使用两个订阅计划。 如果用户订阅了月度计划,那么我想为用户提供升级到年度计划的选项。我已经阅读了我需要使用的官方文档BillingFlowParams.ProrationMode,但我无法弄清楚我应该如何实现它。
这是代码示例:
BillingFlowParams flowParams = BillingFlowParams.newBuilder()
.setSkuDetails(skuDetails)
.setOldSku(oldSku)
// I need to replace replaceSkusProrationMode to DEFERRED
// how do I get complete path to DEFERRED
.setReplaceSkusProrationMode(replaceSkusProrationMode)
.build()
int responseCode = billingClient.launchBillingFlow(activity, flowParams);
使用这个 link 我得到 DEFERRED 的 int 值是 4 但使用硬编码值不是一个好主意。
我该如何实现?
我使用旧版本的 billingclient 升级到新版本解决了我的问题。
我改成了
implementation 'com.android.billingclient:billing:2.0.2'
来自
implementation 'com.android.billingclient:billing:1.0'
然后我得到一个 setReplaceSkusProrationMode 选项。
这是我现在的使用方式:
BillingFlowParams flowParams1 = BillingFlowParams.newBuilder()
.setOldSku(monthly_test)
.setReplaceSkusProrationMode(BillingFlowParams.ProrationMode.DEFERRED)
.setSkuDetails(yearly_test)
.build();