本文說明如何從 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 setOldSkuPurchaseToken
、setReplaceProrationMode
、setReplaceSkusProrationMode
已移除。
- 將
setOldSkuPurchaseToken
更新為setOldPurchaseToken
。 - 將
setReplaceProrationMode
更新為setSubscriptionReplacementMode
。 - 將
setReplaceSkusProrationMode
更新為setSubscriptionReplacementMode
。
處理 Play 帳款服務程式庫錯誤
新的 NETWORK_ERROR
程式碼表示使用者裝置和 Google Play 系統之間的網路連線問題。
SERVICE_TIMEOUT
和 SERVICE_UNAVAILABLE
驗證碼也已更新。
詳情請參閱「處理 BillingResult 回應代碼」。
處理未完成的交易
Play 帳款服務程式庫不會再為未完成的購買交易建立訂單 ID。必須等到購買交易移至 PURCHASED
狀態後,系統才會為這類購買交易填入訂單 ID。請確認您的整合服務預期在交易完成後才取得訂單 ID。您仍然可以將購買憑證用於記錄。
如要進一步瞭解如何處理未完成的購買交易,請參閱 Play 帳款服務程式庫整合指南和購買交易生命週期管理指南。
處理已移除的其他結帳系統 API
移除了 BillingClient.Builder.enableAlternativeBilling
、AlternativeBillingListener
和 AlternativeChoiceDetails
。開發人員應改為在事件監聽器回呼中,將 BillingClient.Builder.enableUserChoiceBilling()
與 UserChoiceBillingListener
和 UserChoiceDetails
搭配使用。
本次更新旨在重新命名已淘汰的 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 setOldSkuPurchaseToken
、setReplaceProrationMode
、setReplaceSkusProrationMode
已移除。
- 將
setOldSkuPurchaseToken
更新為setOldPurchaseToken
。 - 將
setReplaceProrationMode
更新為setSubscriptionReplacementMode
。 - 將
setReplaceSkusProrationMode
更新為setSubscriptionReplacementMode
。
處理已移除的其他結帳系統 API
移除了 BillingClient.Builder.enableAlternativeBilling
、AlternativeBillingListener
和 AlternativeChoiceDetails
。開發人員應改為在事件監聽器回呼中,將 BillingClient.Builder.enableUserChoiceBilling()
與 UserChoiceBillingListener
和 UserChoiceDetails
搭配使用。
選用變更
PBL 7 包含兩個新的選用 API。
支援預付方案的購物交易
請參閱《處理訂閱和待處理交易》指南。
虛擬分期付款訂閱
如要瞭解如何將這些變更整合至應用程式中,請參閱「分期付款訂閱整合」指南。