ย้ายข้อมูลจากเวอร์ชัน 6 หรือ 7 ไปยัง Google Play Billing Library 8

เอกสารนี้อธิบายวิธีย้ายข้อมูลจาก Google Play Billing Library (PBL) เวอร์ชัน 6 หรือ 7 ไปเป็น PBL เวอร์ชัน 8 และวิธีผสานรวมกับความสามารถในการสมัครใช้บริการแบบใหม่ซึ่งเป็นตัวเลือก

หากต้องการดูรายการการเปลี่ยนแปลงทั้งหมดในเวอร์ชัน 8.0.0 โปรดดูที่ release notes

ภาพรวม

PBL เวอร์ชัน 8 มีการปรับปรุง API ที่มีอยู่ รวมถึงการนำ API ที่เลิกใช้งานไปก่อนหน้านี้ออก นอกจากนี้ ไลบรารีเวอร์ชันนี้ยังมี API ใหม่สำหรับไอเทมแบบเรียกเก็บเงินครั้งเดียวด้วย

ความเข้ากันได้แบบย้อนหลังสำหรับการอัปเกรด PBL

หากต้องการย้ายข้อมูลไปเป็น PBL เวอร์ชัน 8 คุณต้องอัปเดตหรือนำข้อมูลอ้างอิง API ที่มีอยู่ออกบางส่วน จากแอปตามที่อธิบายไว้ในบันทึกประจำรุ่นและในคู่มือการย้ายข้อมูลนี้ในภายหลัง

อัปเกรดจาก PBL เวอร์ชัน 6 หรือ 7 ไปเป็น PBL เวอร์ชัน 8

หากต้องการอัปเกรดจาก PBL เวอร์ชัน 6 หรือ 7 ไปเป็น PBL เวอร์ชัน 8 ให้ทำตามขั้นตอนต่อไปนี้

  1. อัปเดตเวอร์ชันทรัพยากร Dependency ของ Play Billing Library ในไฟล์ build.gradle ของแอป

    dependencies {
       def billingVersion = 8.0.0
       implementation "com.android.billingclient:billing:$billingVersion"
    }
    
  2. (ใช้ได้กับการอัปเกรดจาก PBL เวอร์ชัน 6 ไปเป็น PBL เวอร์ชัน 8 เท่านั้น) จัดการการเปลี่ยนแปลง API ที่เกี่ยวข้องกับการสมัครใช้บริการในแอป

    ตารางต่อไปนี้แสดงรายการ API ที่เกี่ยวข้องกับการสมัครใช้บริการซึ่งถูกนำออกใน PBL เวอร์ชัน 8 และ API ทางเลือกที่เกี่ยวข้องซึ่งคุณต้องใช้ในแอป

    API ที่เลิกใช้งานไปก่อนหน้านี้ซึ่งถูกนำออกใน PBL เวอร์ชัน 8 API ทางเลือกที่จะใช้
    setOldSkuPurchaseToken setOldPurchaseToken
    setReplaceProrationMode setSubscriptionReplacementMode
    setReplaceSkusProrationMode setSubscriptionReplacementMode
  3. อัปเดตการติดตั้งใช้งานเมธอด queryProductDetailsAsync

    มีการเปลี่ยนแปลงลายเซ็นของ ProductDetailsResponseListener.onProductDetailsResponse เมธอด ซึ่ง กำหนดให้ต้องมีการเปลี่ยนแปลงในแอปสำหรับการติดตั้งใช้งาน queryProductDetailsAsync ดูข้อมูลเพิ่มเติมได้ที่ แสดงไอเทมที่ซื้อได้

  4. จัดการ API ที่ถูกนำออก

    อัปเกรดจาก

    PBL เวอร์ชัน 8 ไม่รองรับ API ที่แสดงในตารางต่อไปนี้อีกต่อไป หากการติดตั้งใช้งานของคุณใช้ API ที่ถูกนำออกเหล่านี้, โปรดดู API ทางเลือกที่เกี่ยวข้องในตาราง

    API ที่เลิกใช้งานไปก่อนหน้านี้ซึ่งถูกนำออกใน PBL เวอร์ชัน 8 API ทางเลือกที่จะใช้
    queryPurchaseHistoryAsync APIs ดูประวัติการซื้อ
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API ที่ไม่มีพารามิเตอร์) enablePendingPurchases(PendingPurchaseParams params)
    โปรดทราบว่า enablePendingPurchases() ที่เลิกใช้งานแล้วมีฟังก์ชันการทำงานเทียบเท่ากับ enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync
    BillingClient.Builder.enableAlternativeBilling BillingClient.Builder.enableUserChoiceBilling
    AlternativeBillingListener UserChoiceBillingListener
    AlternativeChoiceDetails UserChoiceDetails

    อัปเกรดจาก

    ตารางต่อไปนี้แสดงรายการ API ที่ถูกนำออกใน PBL เวอร์ชัน 8 และ API ทางเลือกที่เกี่ยวข้องซึ่งคุณต้องใช้ในแอป

    API ที่เลิกใช้งานไปก่อนหน้านี้ซึ่งถูกนำออกใน PBL เวอร์ชัน 8 API ทางเลือกที่จะใช้
    queryPurchaseHistoryAsync APIs ดูประวัติการซื้อ
    querySkuDetailsAsync queryProductDetailsAsync
    enablePendingPurchases() (API ที่ไม่มีพารามิเตอร์) enablePendingPurchases(PendingPurchaseParams params)
    โปรดทราบว่า enablePendingPurchases() ที่เลิกใช้งานแล้วมีฟังก์ชันการทำงานเทียบเท่ากับ enablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
    queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync

  5. (แนะนำ) เปิดใช้การเชื่อมต่อบริการใหม่โดยอัตโนมัติ

    Play Billing Library สามารถพยายามสร้างการเชื่อมต่อบริการใหม่โดยอัตโนมัติหากมีการเรียก API ขณะที่บริการถูกตัดการเชื่อมต่อ ดูข้อมูลเพิ่มเติมได้ที่ หัวข้อเปิดใช้การเชื่อมต่อบริการใหม่โดยอัตโนมัติ

  6. การเปลี่ยนแปลงที่เป็นตัวเลือก