Tài liệu này mô tả cách di chuyển từ Thư viện Google Play Billing (PBL) 6 hoặc 7 sang PBL 8 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 8.0.0, hãy tham khảo ghi chú phát hành.
Tổng quan
PBL 8 có những điểm cải tiến đối với các API hiện có, đồng thời xoá các API đã ngừng sử dụng trước đó. Phiên bản này của thư viện cũng bao gồm các API mới cho sản phẩm mua một lần.
Khả năng tương thích ngược cho bản nâng cấp PBL
Để di chuyển sang PBL 8, bạn cần cập nhật hoặc xoá một số tài liệu tham khảo API hiện có khỏi ứng dụng của mình, như mô tả trong ghi chú phát hành và sau đó trong hướng dẫn di chuyển này.
Nâng cấp từ PBL 6 hoặc 7 lên PBL 8
Để nâng cấp từ PBL 6 hoặc 7 lên PBL 8, hãy làm theo các bước sau:
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 = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }
(Chỉ áp dụng cho bản nâng cấp từ PBL 6 lên PBL 8). Xử lý các thay đổi về API liên quan đến gói thuê bao trong ứng dụng của bạn.
Bảng sau đây liệt kê các API liên quan đến gói thuê bao bị xoá trong PBL 8 và API thay thế tương ứng mà bạn phải sử dụng trong ứng dụng của mình.
API không dùng nữa trước đây đã bị xoá trong PBL 8 API thay thế để sử dụng setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode Cập nhật cách triển khai phương thức
queryProductDetailsAsync
.Có một thay đổi trong chữ ký của phương thức
ProductDetailsResponseListener.onProductDetailsResponse
. Điều này đòi hỏi bạn phải thay đổi trong ứng dụng để triển khaiqueryProductDetailsAsync
. Để biết thêm thông tin, hãy xem phần Hiển thị các sản phẩm có sẵn để mua.Xử lý các API đã bị xoá.
Nâng cấp từ
PBL 8 không còn hỗ trợ các API được liệt kê trong bảng sau. Nếu quá trình triển khai của bạn sử dụng bất kỳ API nào trong số này, hãy tham khảo bảng để biết các API thay thế tương ứng.
API không dùng nữa trước đây đã bị xoá trong PBL 8 API thay thế để sử dụng queryPurchaseHistoryAsync API Xem phần Truy vấn nhật ký mua hàng querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API không có tham số) enablePendingPurchases(PendingPurchaseParams params)
Xin lưu ý rằng enablePendingPurchases() không dùng nữa có chức năng tương đương vớienablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling AlternativeBillingListener UserChoiceBillingListener AlternativeChoiceDetails UserChoiceDetails Nâng cấp từ
Bảng sau đây liệt kê các API bị xoá trong PBL 8 và các API thay thế tương ứng mà bạn phải dùng trong ứng dụng của mình.
API không dùng nữa trước đây đã bị xoá trong PBL 8 API thay thế để sử dụng queryPurchaseHistoryAsync API Xem phần Truy vấn nhật ký mua hàng querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API không có tham số) enablePendingPurchases(PendingPurchaseParams params)
Xin lưu ý rằng enablePendingPurchases() không dùng nữa có chức năng tương đương vớienablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
.queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (Nên dùng) Bật tính năng tự động kết nối lại dịch vụ.
Thư viện Play Billing có thể tự động tìm cách thiết lập lại kết nối dịch vụ nếu một lệnh gọi API được thực hiện trong khi dịch vụ bị ngắt kết nối. Để biết thêm thông tin, hãy xem bài viết Bật tính năng tự động kết nối lại dịch vụ.
Các thay đổi không bắt buộc.
Hỗ trợ giao dịch mua đang chờ xử lý cho gói trả trước. Để biết thêm thông tin, hãy xem phần Xử lý giao dịch mua gói thuê bao và giao dịch đang chờ xử lý.
Gói thuê bao trả góp ảo. Để biết thêm thông tin, hãy xem bài viết Tích hợp gói thuê bao trả góp.