เอกสารนี้อธิบายวิธีย้ายข้อมูลจาก 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 ให้ทำตามขั้นตอนต่อไปนี้
อัปเดตเวอร์ชันทรัพยากร 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 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 (แนะนำ) เปิดใช้การเชื่อมต่อบริการใหม่โดยอัตโนมัติ
Play Billing Library สามารถพยายามสร้างการเชื่อมต่อบริการใหม่โดยอัตโนมัติหากมีการเรียก API ขณะที่บริการถูกตัดการเชื่อมต่อ ดูข้อมูลเพิ่มเติมได้ที่ หัวข้อเปิดใช้การเชื่อมต่อบริการใหม่โดยอัตโนมัติ
การเปลี่ยนแปลงที่เป็นตัวเลือก
รองรับการซื้อที่รอดำเนินการสำหรับแพ็กเกจแบบเติมเงิน ดูข้อมูลเพิ่มเติมได้ที่ หัวข้อจัดการการสมัครใช้บริการและธุรกรรมที่รอดำเนินการ
การสมัครใช้บริการแบบผ่อนชำระเสมือนจริง ดูข้อมูลเพิ่มเติมได้ที่ หัวข้อการผสานรวมการสมัครใช้บริการแบบผ่อนชำระ