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 (không bắt buộc) dành cho gói thuê bao.

Để 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 quy 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 hỗ trợ việc thanh toán bằng 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 trong 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 đối với API để cập nhật.

Để di chuyển, bạn cần cập nhật các tham chiếu API và xoá một số API 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 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 không dùng nữa trước đó đã 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 liên quan đến API gói thuê bao

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

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

NETWORK_ERROR mới cho biết sự cố về 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 các giao dịch mua này, mã đơn hàng sẽ được điền sau khi giao dịch mua được 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ã đơn đặt 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 để ghi lại 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 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 chỉ đổi tên các API không dùng nữa mà không có thay đổi nào về hành vi.

Thay đổi không bắt buộc

PBL 7 có 2 API mới không bắt buộc.

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

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

Hãy 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 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 liên quan đến API gói thuê bao

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

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 dùng BillingClient.Builder.enableUserChoiceBilling() với UserChoiceBillingListenerUserChoiceDetails trong lệnh gọi lại trình nghe.

Thay đổi không bắt buộc

PBL 7 có 2 API mới không bắt buộc.

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

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

Hãy 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.