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 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 8.0.0, hãy tham khảo ghi chú phát hành.

Tổng quan

PBL 8 chứa các điểm cải tiến đối với các API hiện có cùng với việc xoá các API không còn được dùng nữa. Phiên bản thư viện này 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ệp tham chiếu API hiện có khỏi ứng dụng, như mô tả trong ghi chú phát hành và các phần 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:

  1. 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"
    }
    
  2. (Chỉ áp dụng cho việc 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.

    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.

    Xoá API không dùng nữa trong PBL 8 API thay thế để sử dụng
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. 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, yêu cầu bạn thay đổi ứng dụng để triển khai queryProductDetailsAsync. Để biết thêm thông tin, hãy xem phần Hiện các sản phẩm có sẵn để mua.

  4. Xử lý các API đã 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 đã bị xoá này, hãy tham khảo bảng để biết các API thay thế tương ứng.

    Xoá API không dùng nữa trong PBL 8 API thay thế để sử dụng
    API queryPurchaseHistoryAsync 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ới enablePendingPurchases(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 sử dụng trong ứng dụng.

    Xoá API không dùng nữa trong PBL 8 API thay thế để sử dụng
    API queryPurchaseHistoryAsync 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ới enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build()).
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (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ìm cách tự động 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 phần Bật tính năng tự động kết nối lại dịch vụ.

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