Я использую два плана подписки ежемесячно и ежегодно в своем приложении для 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);
используя этот связь, я получаю значение int для DEFERRED, равное 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();