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 sang Thư viện Google Play Billing 7 và cách tích hợp với các tính năng mới của gói thuê bao (không bắt buộc).

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

Tổng quan

Thư viện Google Play Billing 7 cải thiện quá trình xử lý thanh toán cho các tính năng hiện có của gói thuê bao. Những điểm cải tiến không bắt buộc này bổ sung khả năng hỗ trợ việc thanh toán bằng các gói trả góp cũng như hỗ trợ các giao dịch mua đang chờ xử lý đối với 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 là 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 cập nhật tài liệu tham khảo API và xoá một số API nhất định khỏi ứng dụng của mình như mô tả trong ghi chú phát hành và phần sau của 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ài liệu tham khảo 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 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ư 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 vốn không còn được dùng nữa, giờ đã 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

Xoá các API setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode không còn được dùng trước đây.

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

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

SERVICE_TIMEOUTSERVICE_UNAVAILABLE cũng được cập nhật.

Để biết thêm thông tin, hãy xem phần 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 những giao dịch mua này, mã đơn hàng sẽ được điền sau khi giao dịch mua chuyển sang trạng thái PURCHASED. Hãy đảm bảo rằng tiện ích tích hợp của bạn chỉ nhận một mã đơn hàng sau khi giao dịch đã hoàn tất. Bạn vẫn có thể sử dụng mã thông báo giao dịch mua để lưu vào hồ sơ.

Để 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 của 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, AlternativeBillingListenerAlternativeChoiceDetails. Thay vào đó, nhà phát triển nên sử dụng BillingClient.Builder.enableUserChoiceBilling() cùng với UserChoiceBillingListenerUserChoiceDetails trong lệnh gọi lại trình nghe.

Bản cập nhật này đổi tên các API không dùng nữa mà không có thay đổi nào 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ợ các giao dịch mua đang chờ xử lý cho gói trả trước

Xem hướng dẫn Xử lý các 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ài liệu tham khảo 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

Xoá các API setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode không còn được dùng trước đây.

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

Xoá BillingClient.Builder.enableAlternativeBilling, AlternativeBillingListenerAlternativeChoiceDetails. Thay vào đó, nhà phát triển nên sử dụng BillingClient.Builder.enableUserChoiceBilling() cùng 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ợ các giao dịch mua đang chờ xử lý cho gói trả trước

Xem hướng dẫn Xử lý các 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 để biết 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.