本文档介绍了如何从 Google Play 结算库 5 或 6 迁移到 Google Play 结算库 7,以及如何与新的可选订阅功能集成。
有关 7.0.0 版本中所有更改的完整列表,请参阅 发行说明。
概述
Google Play 结算库 7 改善了现有订阅功能的付款处理。这些可选改进增加了对分期付款的支持,以及对预付费订阅的待处理购买的支持。
向后兼容的 Play 结算库升级
所有新的 Google Play 结算库 7 API 都是可选的,开发人员无需实现任何 API 更改即可更新。
要迁移,您需要更新 API 参考并从您的应用中删除某些 API,如发行说明和本迁移指南后面所述。
从 PBL 5 升级到 PBL 7
以下部分介绍了如何从 PBL 5 升级到 PBL 7。
更新 Google Play 结算库
更新应用的 build.gradle
文件中的 Play 结算库依赖项版本。
dependencies {
def billingVersion = 7.0.0
implementation "com.android.billingclient:billing:$billingVersion"
}
接下来,更新您的 API 参考,如以下部分所述。
更改用户的订阅购买
Play 结算库 5 及更早版本使用 ProrationMode
来应用对用户订阅购买的更改,例如升级或降级。此 API 已删除,并替换为 ReplacementMode
。
处理订阅价格更改
先前已弃用的 launchPriceConfirmationFlow
API 已删除。有关替代方案,请参阅 价格更改指南。
处理与订阅相关的 API 更改
先前已弃用的 API setOldSkuPurchaseToken
、setReplaceProrationMode
、setReplaceSkusProrationMode
已删除。
- 将
setOldSkuPurchaseToken
更新为setOldPurchaseToken
。 - 将
setReplaceProrationMode
更新为setSubscriptionReplacementMode
。 - 将
setReplaceSkusProrationMode
更新为setSubscriptionReplacementMode
。
处理 Play 结算库错误
新的 NETWORK_ERROR
代码表示用户设备与 Google Play 系统之间的网络连接存在问题。
SERVICE_TIMEOUT
和 SERVICE_UNAVAILABLE
代码也已更新。
有关更多信息,请参阅 处理 BillingResult 响应代码。
处理待处理交易
Play 计费库不再为待处理的购买创建订单 ID。对于这些购买,订单 ID 会在购买状态变为PURCHASED
后填充。请确保您的集成仅在交易完全完成后才期望订单 ID。您仍然可以使用购买令牌用于您的记录。
有关处理待处理购买的更多信息,请参阅 Play 计费库的集成指南和购买生命周期管理指南。
处理已移除的替代计费 API
已移除BillingClient.Builder.enableAlternativeBilling
、AlternativeBillingListener
和AlternativeChoiceDetails
。开发人员应改用BillingClient.Builder.enableUserChoiceBilling()
,并在侦听器回调中使用UserChoiceBillingListener
和UserChoiceDetails
。
此更新是对已弃用 API 的重命名,没有行为变化。
可选更改
PBL 7 包含两个新的可选 API。
支持预付费计划的待处理购买
请参阅处理订阅和待处理交易指南。
虚拟分期付款订阅
请参阅分期付款订阅集成指南。
从 PBL 6 升级到 PBL 7
以下部分介绍如何从 PBL 6 升级到 PBL 7。
更新 Google Play 结算库
更新应用的 build.gradle
文件中的 Play 结算库依赖项版本。
dependencies {
def billingVersion = 7.0.0
implementation "com.android.billingclient:billing:$billingVersion"
}
接下来,更新您的 API 参考,如以下部分所述。
处理与订阅相关的 API 更改
先前已弃用的 API setOldSkuPurchaseToken
、setReplaceProrationMode
、setReplaceSkusProrationMode
已删除。
- 将
setOldSkuPurchaseToken
更新为setOldPurchaseToken
。 - 将
setReplaceProrationMode
更新为setSubscriptionReplacementMode
。 - 将
setReplaceSkusProrationMode
更新为setSubscriptionReplacementMode
。
处理已移除的替代计费 API
已移除BillingClient.Builder.enableAlternativeBilling
、AlternativeBillingListener
和AlternativeChoiceDetails
。开发人员应改用BillingClient.Builder.enableUserChoiceBilling()
,并在侦听器回调中使用UserChoiceBillingListener
和UserChoiceDetails
。
可选更改
PBL 7 包含两个新的可选 API。
支持预付费计划的待处理购买
请参阅处理订阅和待处理交易指南。
虚拟分期付款订阅
有关如何将这些更改集成到您的应用中,请参阅分期付款订阅集成指南。