从版本 5 或 6 迁移到 Google Play Billing Library 7

本文档介绍了如何从 Google Play Billing Library 5 或 6 迁移到 Google Play Billing Library 7,以及如何集成新的可选订阅功能。

如需查看 7.0.0 版中的所有更改列表,请参阅版本说明

概览

Google Play Billing Library 7 改进了对现有订阅功能的支付处理。这些可选改进增加了对分期付款的支持,以及对预付费订阅的待处理购买的支持。

向后兼容的 Play Billing Library 升级

所有新的 Google Play Billing Library 7 API 都是可选的,开发者无需实现任何 API 更改即可更新。

要进行迁移,您需要更新 API 参考,并从应用中移除某些 API,如版本说明和本迁移指南后面部分所述。

从 PBL 5 升级到 PBL 7

以下部分介绍了如何从 PBL 5 升级到 PBL 7。

更新 Google Play Billing Library

在应用的 build.gradle 文件中更新 Play Billing Library 的依赖项版本。

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

接下来,按照以下部分中的说明更新您的 API 参考。

更改用户的订阅购买

Play Billing Library 5 及更早版本使用 ProrationMode 对用户的订阅购买(例如升级或降级)应用更改。此 API 已移除,并替换为 ReplacementMode

处理订阅价格变动

之前已废弃的 launchPriceConfirmationFlow API 已移除。有关替代方案,请参阅价格变动指南

处理与订阅相关的 API 更改

之前已废弃的 API setOldSkuPurchaseTokensetReplaceProrationModesetReplaceSkusProrationMode 已移除。

处理 Play Billing Library 错误

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

SERVICE_TIMEOUTSERVICE_UNAVAILABLE 代码也已更新。

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

处理待处理的交易

Play Billing Library 不再为待处理的购买创建订单 ID。对于这些购买,订单 ID 会在购买状态变为 PURCHASED 后填充。请确保您的集成仅在交易完全完成后才期望获得订单 ID。您仍然可以使用购买令牌记录您的交易。

如需详细了解如何处理待处理的购买,请参阅 Play Billing Library 集成指南购买生命周期管理指南

处理已移除的替代结算 API

移除了 BillingClient.Builder.enableAlternativeBillingAlternativeBillingListenerAlternativeChoiceDetails。开发者应改用带 UserChoiceBillingListenerUserChoiceDetails(位于监听器回调中)的 BillingClient.Builder.enableUserChoiceBilling()

此更新是已废弃 API 的重命名,其行为没有改变。

可选更改

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

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

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

虚拟分期付款订阅

请参阅分期付款订阅集成指南。

从 PBL 6 升级到 PBL 7

以下部分介绍了如何从 PBL 6 升级到 PBL 7。

更新 Google Play Billing Library

在应用的 build.gradle 文件中更新 Play Billing Library 的依赖项版本。

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

接下来,按照以下部分中的说明更新您的 API 参考。

处理与订阅相关的 API 更改

之前已废弃的 API setOldSkuPurchaseTokensetReplaceProrationModesetReplaceSkusProrationMode 已移除。

处理已移除的替代结算 API

移除了 BillingClient.Builder.enableAlternativeBillingAlternativeBillingListenerAlternativeChoiceDetails。开发者应改用带 UserChoiceBillingListenerUserChoiceDetails(位于监听器回调中)的 BillingClient.Builder.enableUserChoiceBilling()

可选更改

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

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

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

虚拟分期付款订阅

如需了解如何将这些更改集成到您的应用中,请参阅分期付款订阅集成指南。