本文說明如何從 Google Play 帳款服務程式庫第 5 或 6 版改用第 7 版,以及如何整合新的選用訂閱功能。
如需第 7.0.0 版的完整異動清單,請參閱「版本資訊」。
總覽
Google Play 帳款服務程式庫第 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
。開發人員應改為在事件監聽器回呼中使用 BillingClient.Builder.enableUserChoiceBilling()
搭配 UserChoiceBillingListener
和 UserChoiceDetails
。
這項更新只是將已淘汰的 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
。開發人員應改為在事件監聽器回呼中使用 BillingClient.Builder.enableUserChoiceBilling()
搭配 UserChoiceBillingListener
和 UserChoiceDetails
。
選用變更
PBL 7 包含兩個新的選用 API。
支援預付方案的待處理購買交易
請參閱處理訂閱項目和待處理交易指南。
虛擬分期付款訂閱
如要瞭解如何將這些變更整合至應用程式,請參閱「分期付款訂閱項目整合」指南。