Di chuyển từ Thư viện Google Play Billing phiên bản 5 hoặc 6 sang phiên bản 7

Tài liệu này mô tả cách di chuyển từ Thư viện Google Play Billing 5 hoặc 6 vào Thư viện Google Play Billing 7 và cách tích hợp với các chức năng đăng ký.

Để biết danh sách đầy đủ các thay đổi trong phiên bản 7.0.0, hãy tham khảo bản phát hành lưu ý.

Tổng quan

Thư viện Google Play Billing 7 cải thiện quy trình xử lý thanh toán cho các tính năng thuê bao hiện có. Những điểm cải tiến không bắt buộc này hỗ trợ thêm hình thức thanh toán bằng các gói trả góp cũng như hỗ trợ các giao dịch mua hàng đang chờ xử lý cho gói thuê bao trả trước.

Bản nâng cấp tương thích ngược cho Thư viện Play Billing

Tất cả API mới của Thư viện Google Play Billing 7 đều không bắt buộc và nhà phát triển không cần triển khai bất kỳ thay đổi nào về API để cập nhật.

Để di chuyển, bạn cần phải cập nhật các tệp tham chiếu API và xoá một số API từ ứng dụng của bạn như được mô tả trong ghi chú phát hành và sau đó trong phần này hướng dẫn di chuyển này.

Nâng cấp từ PBL 5 lên PBL 7

Các phần sau đây mô tả cách nâng cấp từ PBL 5 lên PBL 7.

Cập nhật Thư viện Google Play Billing

Cập nhật phiên bản phần phụ thuộc của Thư viện Play Billing trong tệp build.gradle của ứng dụng.

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

Tiếp theo, hãy cập nhật các tệp tham chiếu API như mô tả trong các phần sau.

Thay đổi giao dịch mua gói thuê bao của người dùng

Thư viện Play Billing 5 trở xuống đã sử dụng ProrationMode để áp dụng các thay đổi đối với giao dịch mua gói thuê bao của người dùng, chẳng hạn như bản nâng cấp hoặc hạ cấp. API này đã bị xoá và thay thế bằng ReplacementMode.

Xử lý thay đổi về giá của gói thuê bao

API launchPriceConfirmationFlow không còn được dùng trước đây đã bị xoá. Để biết các lựa chọn thay thế, hãy xem hướng dẫn về thay đổi giá.

Xử lý các thay đổi về API liên quan đến gói thuê bao

Các API setOldSkuPurchaseToken không dùng nữa trước đây, setReplaceProrationMode, setReplaceSkusProrationMode đã bị xoá.

Xử lý lỗi trong Thư viện Play Billing

NETWORK_ERROR mới cho biết có sự cố với kết nối mạng giữa thiết bị của người dùng và hệ thống Google Play.

Các mã SERVICE_TIMEOUTSERVICE_UNAVAILABLE cũng được cập nhật.

Để biết thêm thông tin, hãy xem Xử lý mã phản hồi BillingResult.

Xử lý các giao dịch đang chờ xử lý

Thư viện Play Billing không còn tạo mã đơn hàng cho các giao dịch mua đang chờ xử lý nữa. Đối với các giao dịch mua này, mã đơn hàng được điền sau khi giao dịch mua được di chuyển sang trạng thái PURCHASED. Đảm bảo rằng tích hợp của bạn mong đợi mã đơn hàng chỉ sau khi giao dịch đã hoàn tất. Bạn vẫn có thể dùng mã thông báo giao dịch mua cho bản ghi của bạn.

Để biết thêm thông tin về cách xử lý các giao dịch mua đang chờ xử lý, hãy xem Hướng dẫn tích hợp Thư viện Play Billing và hướng dẫn quản lý vòng đời giao dịch mua.

Xử lý các API hệ thống thanh toán thay thế đã bị xoá

Đã xoá BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListener, và AlternativeChoiceDetails. Nhà phát triển nên dùng BillingClient.Builder.enableUserChoiceBilling() với UserChoiceBillingListenerUserChoiceDetails trong lệnh gọi lại trình nghe.

Bản cập nhật này sẽ đổi tên các API không dùng nữa mà không có thay đổi về hành vi.

Các thay đổi không bắt buộc

PBL 7 bao gồm hai API không bắt buộc mới.

Hỗ trợ giao dịch mua đang chờ xử lý cho gói trả trước

Hãy xem hướng dẫn Xử lý gói thuê bao và giao dịch đang chờ xử lý.

Gói thuê bao trả góp ảo

Xem hướng dẫn Tích hợp gói thuê bao trả góp.

Nâng cấp từ PBL 6 lên PBL 7

Các phần sau đây mô tả cách nâng cấp từ PBL 6 lên PBL 7.

Cập nhật Thư viện Google Play Billing

Cập nhật phiên bản phần phụ thuộc của Thư viện Play Billing trong tệp build.gradle của ứng dụng.

dependencies {
    def billingVersion = 7.0.0

    implementation "com.android.billingclient:billing:$billingVersion"
}

Tiếp theo, hãy cập nhật các tệp tham chiếu API như mô tả trong các phần sau.

Xử lý các thay đổi về API liên quan đến gói thuê bao

Các API setOldSkuPurchaseToken không dùng nữa trước đây, setReplaceProrationMode, setReplaceSkusProrationMode đã bị xoá.

Xử lý các API hệ thống thanh toán thay thế đã bị xoá

Đã xoá BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListenerAlternativeChoiceDetails. Nhà phát triển nên dùng BillingClient.Builder.enableUserChoiceBilling() với UserChoiceBillingListenerUserChoiceDetails trong lệnh gọi lại trình nghe.

Các thay đổi không bắt buộc

PBL 7 bao gồm hai API không bắt buộc mới.

Hỗ trợ giao dịch mua đang chờ xử lý cho gói trả trước

Hãy xem hướng dẫn Xử lý gói thuê bao và giao dịch đang chờ xử lý.

Gói thuê bao trả góp ảo

Xem hướng dẫn Tích hợp gói thuê bao trả góp để thông tin về cách tích hợp những thay đổi này vào ứng dụng của bạn.