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 thuê bao không bắt buộc mới.

Để 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 khả năng 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ý 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 đối với API để cập nhật.

Để di chuyển, bạn cần cập nhật các tệp tham chiếu API và xoá một số API nhất định khỏi ứng dụng 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ệ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ư 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 đâ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

Xoá các API không dùng nữa trước đây là setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode.

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ý. Đố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 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, AlternativeBillingListener, và AlternativeChoiceDetails. Thay vào đó, nhà phát triển nên sử 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 là việc đổ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 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

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 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

Xoá các API không dùng nữa trước đây là setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode.

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

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

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.