เอกสารนี้จะอธิบายวิธีย้ายข้อมูลจาก Google Play Billing Library (PBL) เวอร์ชัน 6 หรือ 7 ไปยัง PBL เวอร์ชัน 8 และวิธีผสานรวมกับความสามารถใหม่ในการสมัครใช้บริการที่ไม่บังคับ
ดูรายการการเปลี่ยนแปลงทั้งหมดในเวอร์ชัน 8.0.0 ได้ที่บันทึกประจำรุ่น
ภาพรวม
PBL 8 มีการปรับปรุง API ที่มีอยู่พร้อมกับการนำ API เลิกใช้งานไปแล้วก่อนหน้านี้ออก ไลบรารีเวอร์ชันนี้ยังมี API ใหม่สำหรับผลิตภัณฑ์แบบครั้งเดียวด้วย
ความเข้ากันได้แบบย้อนหลังสำหรับการอัปเกรด PBL
หากต้องการย้ายข้อมูลไปยัง PBL 8 คุณต้องอัปเดตหรือนําการอ้างอิง API ที่มีอยู่บางส่วนออกจากแอป ตามที่อธิบายไว้ในหมายเหตุเกี่ยวกับรุ่นและเวอร์ชันที่ใหม่กว่าในคำแนะนำในการย้ายข้อมูลนี้
อัปเกรดจาก PBL 6 หรือ 7 เป็น PBL 8
หากต้องการอัปเกรดจาก PBL 6 หรือ 7 เป็น PBL 8 ให้ทำตามขั้นตอนต่อไปนี้
อัปเดตเวอร์ชันทรัพยากร Dependency ของ Play Billing Library ในไฟล์
build.gradle
ของแอปdependencies { def billingVersion = 8.0.0 implementation "com.android.billingclient:billing:$billingVersion" }
(ใช้ได้กับการอัปเกรดจาก PBL 6 เป็น PBL 8 เท่านั้น) จัดการการเปลี่ยนแปลง API ที่เกี่ยวข้องกับการสมัครใช้บริการในแอป
ตารางต่อไปนี้แสดงรายการ API ที่เกี่ยวข้องกับการสมัครใช้บริการซึ่งจะถูกนําออกใน PBL 8 และ API อื่นที่เกี่ยวข้องซึ่งคุณต้องใช้ในแอป
API ที่เลิกใช้งานไปแล้วก่อนหน้านี้ซึ่งนําออกใน PBL 8 API อื่นที่จะใช้ setOldSkuPurchaseToken setOldPurchaseToken setReplaceProrationMode setSubscriptionReplacementMode setReplaceSkusProrationMode setSubscriptionReplacementMode อัปเดตการใช้งานเมธอด
queryProductDetailsAsync
มีการเปลี่ยนแปลงลายเซ็นของเมธอด
ProductDetailsResponseListener.onProductDetailsResponse
ซึ่งต้องใช้การเปลี่ยนแปลงในแอปสําหรับการติดตั้งใช้งานqueryProductDetailsAsync
ดูข้อมูลเพิ่มเติมได้ที่แสดงผลิตภัณฑ์ที่พร้อมจำหน่ายจัดการ API ที่ถูกนําออก
อัปเกรดจาก
PBL 8 ไม่รองรับ API ที่แสดงในตารางต่อไปนี้อีกต่อไป หากการใช้งานของคุณใช้ API ที่ถูกนําออกเหล่านี้ ให้ดู API อื่นที่เกี่ยวข้องในตาราง
API ที่เลิกใช้งานไปแล้วก่อนหน้านี้ซึ่งนําออกใน PBL 8 API อื่นที่จะใช้ queryPurchaseHistoryAsync API ดูค้นหาประวัติการซื้อ 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 API ดูค้นหาประวัติการซื้อ querySkuDetailsAsync queryProductDetailsAsync enablePendingPurchases() (API ที่ไม่มีพารามิเตอร์) enablePendingPurchases(PendingPurchaseParams params)
โปรดทราบว่า enablePendingPurchases() ที่เลิกใช้งานแล้วมีฟังก์ชันการทำงานเทียบเท่ากับenablePendingPurchases(PendingPurchasesParams.newBuilder().enableOneTimeProducts().build())
queryPurchasesAsync(String skuType, PurchasesResponseListener listener) queryPurchasesAsync (แนะนำ) เปิดใช้การเชื่อมต่อบริการอีกครั้งโดยอัตโนมัติ
ไลบรารีการเรียกเก็บเงินของ Play จะพยายามสร้างการเชื่อมต่อบริการอีกครั้งโดยอัตโนมัติหากมีการเรียก API ขณะที่บริการถูกตัดการเชื่อมต่อ โปรดดูข้อมูลเพิ่มเติมที่หัวข้อเปิดใช้การเชื่อมต่อบริการอีกครั้งโดยอัตโนมัติ
การเปลี่ยนแปลงที่ไม่บังคับ
รองรับการซื้อที่รอดำเนินการสำหรับแพ็กเกจแบบชำระเงินล่วงหน้า ดูข้อมูลเพิ่มเติมได้ที่จัดการการสมัครใช้บริการและธุรกรรมที่รอดำเนินการ
การสมัครใช้บริการการผ่อนชำระแบบเสมือนจริง ดูข้อมูลเพิ่มเติมได้ที่การผสานรวมการสมัครใช้บริการแบบผ่อนชำระ