從 Google Play 帳款服務程式庫第 5 版或第 6 版改用第 7 版

本文說明如何從 Google Play 帳款服務程式庫第 5 或 6 版遷移至第 7 版,以及如何整合新的選用訂閱功能。

如需第 7.0.0 版的完整異動清單,請參閱「版本資訊」。

總覽

Google Play Billing Library 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。開發人員應改為在監聽器回呼中,搭配 UserChoiceBillingListenerUserChoiceDetails 使用 BillingClient.Builder.enableUserChoiceBilling()

本次更新是重新命名已淘汰的 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。開發人員應改為在監聽器回呼中,搭配 UserChoiceBillingListenerUserChoiceDetails 使用 BillingClient.Builder.enableUserChoiceBilling()

選用變更

PBL 7 包含兩項新的選用 API。

支援預付方案的待處理交易

請參閱「處理訂閱項目和待處理交易」指南。

虛擬分期付款訂閱

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