问题:
描述:
play billing library v3.0.3
,我们将订阅升级处理为下面的代码。BillingFlowParams purchaseParams = BillingFlowParams.newBuilder()
.setSkuDetails(skuDetails)
.setOldSku(oldSKU, oldPurchaseToken)
.setReplaceSkusProrationMode(IMMEDIATE_WITH_TIME_PRORATION)
.build();
play billing library v4.0.0
升级到,以为它可以解决我们的问题。BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
.setSubscriptionUpdateParams(SubscriptionUpdateParams.newBuilder()
.setOldSkuPurchaseToken(oldPurchaseToken)
.setOldSkuPurchaseId(oldSKU) // This method is not available in lib[4.0.0] but mentioned in docs
.setReplaceSkusProrationMode(IMMEDIATE_WITH_TIME_PRORATION))
.setSkuDetails(skuDetails)
.build();
play billing library v4.0.0
在类SubscriptionUpdateParams.Builder中没有方法setOldSkuPurchaseId(),而是在https://developer.android.com/google/play/billing/subscriptions#proration中提到错误截图附在下面
发布于 2021-07-14 09:15:27
由于新的 印度储备银行eMandate通知 ,您的一些订阅体验可能会改变.
有关更多细节,去看看这个
发布于 2021-07-10 23:16:58
我不得不在Google的示例代码中添加一个额外的.build()
// Retrieve a value for "skuDetails" by calling querySkuDetailsAsync()
val flowParams = BillingFlowParams.newBuilder()
.setSubscriptionUpdateParams(SubscriptionUpdateParams.newBuilder()
.setOldSkuPurchaseToken(purchaseTokenOfOriginalSubscription)
.setReplaceSkusProrationMode(desiredProrationMode)
.build() // <-- MISSING BUILD
)
.setSkuDetails(upgradeOrDowngradeSkuDetails)
.build();
val responseCode = billingClient.launchBillingFlow(activity, flowParams)
发布于 2021-05-29 08:06:32
我设法消除了错误,“我们这边出了点问题,请再试一次。”我清除了Play Market缓存并重新启动了设备。
更新:我找到了一个解决方案。跳过这个参数,不要指定它。它对我的应用程序中的订阅很好。
.setOldSkuPurchaseId(previousSku)
https://stackoverflow.com/questions/67689804
复制相似问题