从 Google Play 结算库版本 5 或 6 迁移到版本 7

本文档介绍了如何从 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 setOldSkuPurchaseTokensetReplaceProrationModesetReplaceSkusProrationMode 已被移除。

处理 Play 结算库错误

新的 NETWORK_ERROR 代码表示用户设备和 Google Play 系统之间的网络连接存在问题。

SERVICE_TIMEOUTSERVICE_UNAVAILABLE 代码也已更新。

如需了解详情,请参阅 处理 BillingResult 响应代码

处理待处理的交易

Play 结算库不再为待处理的购买交易创建订单 ID。 只有在购买交易变为 PURCHASED 状态后,系统才会为这类购买交易填充订单 ID 。确保您的集成仅预期在交易全部完成后获得订单 ID。您仍可将购买令牌用作记录。

如需详细了解如何处理待处理的购买交易,请参阅 Play 结算库集成指南购买生命周期管理指南

处理已移除的备选结算系统 API

移除了 BillingClient.Builder.enableAlternativeBillingAlternativeBillingListenerAlternativeChoiceDetails。 开发者应改为在监听器回调中使用 BillingClient.Builder.enableUserChoiceBilling() 以及 UserChoiceBillingListenerUserChoiceDetails

此更新是对已废弃的 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 setOldSkuPurchaseTokensetReplaceProrationModesetReplaceSkusProrationMode 已被移除。

处理已移除的备选结算系统 API

移除了 BillingClient.Builder.enableAlternativeBillingAlternativeBillingListenerAlternativeChoiceDetails。 开发者应改为在监听器回调中使用 BillingClient.Builder.enableUserChoiceBilling() 以及 UserChoiceBillingListenerUserChoiceDetails

可选变更

PBL 7 包含两个新的可选 API。

支持预付费方案的待处理购买交易

请参阅处理订阅和待处理的交易指南。

虚拟分期付款型订阅

如需了解如何将这些变更集成到应用中,请参阅分期付款型订阅集成指南,以获取 相关信息。