本文說明如何從 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 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。開發人員應改為在監聽器回呼中,搭配 UserChoiceBillingListener 和 UserChoiceDetails 使用 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 setOldSkuPurchaseToken、setReplaceProrationMode 和 setReplaceSkusProrationMode。
- 將
setOldSkuPurchaseToken更新為setOldPurchaseToken。 - 將
setReplaceProrationMode更新為setSubscriptionReplacementMode。 - 將
setReplaceSkusProrationMode更新為setSubscriptionReplacementMode。
處理已移除的其他結帳系統 API
已移除 BillingClient.Builder.enableAlternativeBilling、AlternativeBillingListener 和 AlternativeChoiceDetails。開發人員應改為在監聽器回呼中,搭配 UserChoiceBillingListener 和 UserChoiceDetails 使用 BillingClient.Builder.enableUserChoiceBilling()。
選用變更
PBL 7 包含兩項新的選用 API。
支援預付方案的待處理交易
請參閱「處理訂閱項目和待處理交易」指南。
虛擬分期付款訂閱
如要瞭解如何將這些異動整合至應用程式,請參閱「分期付款訂閱項目整合」指南。