從 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 參考資料,並移除應用程式中的特定 API。

從 Play 帳款服務程式庫 5.0 版升級至 Play 帳款服務程式庫 7

以下各節說明如何從 Play 帳款服務程式庫 5.0 版升級至 Play 帳款服務程式庫 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。

支援預付方案的購物交易

請參閱《處理訂閱和待處理交易》指南。

虛擬分期付款訂閱

請參閱分期付款訂閱整合指南。

從 Play 帳款服務程式庫 6 升級至 Play 帳款服務程式庫 7

以下各節說明如何從 Play 帳款服務程式庫 6.0 版升級至 Play 帳款服務程式庫 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。

支援預付方案的購物交易

請參閱《處理訂閱和待處理交易》指南。

虛擬分期付款訂閱

如要瞭解如何將這些變更整合至應用程式中,請參閱「分期付款訂閱整合」指南。