เอกสารนี้อธิบายวิธีย้ายข้อมูลจาก Google Play Billing Library (PBL) 6 หรือ 7 ไปยัง PBL 8 และวิธีผสานรวมกับความสามารถในการสมัครใช้บริการแบบใหม่ที่ไม่บังคับ
ดูรายการการเปลี่ยนแปลงทั้งหมดในเวอร์ชัน 8.0.0 ได้ที่[บันทึกประจำรุ่น][1]
ภาพรวม
PBL 8 มีการปรับปรุง API ที่มีอยู่พร้อมกับการนำ API ที่เลิกใช้งานไปก่อนหน้านี้ออก นอกจากนี้ ไลบรารีเวอร์ชันนี้ยังมี API ใหม่ สำหรับผลิตภัณฑ์แบบครั้งเดียวด้วย
ความเข้ากันได้แบบย้อนหลังสำหรับการอัปเกรด PBL
หากต้องการย้ายข้อมูลไปยัง PBL 8 คุณต้องอัปเดตหรือนำการอ้างอิง API ที่มีอยู่บางรายการออกจากแอปตามที่อธิบายไว้ใน[หมายเหตุประจำรุ่น][8] และในภายหลังในคู่มือการย้ายข้อมูลนี้
อัปเกรดจาก 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][9]มีการเปลี่ยนแปลงในลายเซ็นของเมธอด [
ProductDetailsResponseListener.onProductDetailsResponse][2] ซึ่ง ต้องมีการเปลี่ยนแปลงในแอปของคุณสำหรับการติดตั้งใช้งาน [queryProductDetailsAsync][9] ดูข้อมูลเพิ่มเติมได้ที่[แสดงผลิตภัณฑ์ที่พร้อมจำหน่าย][3]จัดการ 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 Billing Library สามารถพยายามสร้างการเชื่อมต่อบริการใหม่โดยอัตโนมัติ หากมีการเรียก API ขณะที่บริการ ถูกตัดการเชื่อมต่อ ดูข้อมูลเพิ่มเติมได้ที่[เปิดใช้การเชื่อมต่อบริการอีกครั้งโดยอัตโนมัติ][6]
การเปลี่ยนแปลงที่ไม่บังคับ
รองรับการซื้อที่รอดำเนินการสำหรับแพ็กเกจแบบชำระล่วงหน้า ดูข้อมูลเพิ่มเติมได้ที่ [จัดการการสมัครใช้บริการและธุรกรรมที่รอดำเนินการ][4]
การสมัครใช้บริการการผ่อนชำระแบบเสมือนจริง ดูข้อมูลเพิ่มเติมได้ที่[Installment Subscriptions Integration][5]
[1]: /google/play/billing/release-notes [2]: /reference/com/android/billingclient/api/ProductDetailsResponseListener#onProductDetailsResponse(com.android.billingclient.api.BillingResult,java.util.List%3Ccom.android.billingclient.api.ProductDetails%3E) [3]: /google/play/billing/integrate#show-products [4]: /google/play/billing/subscriptions#pending [5]: /google/play/billing/subscriptions#installments [6]: /google/play/billing/integrate#automatic-service-reconnection [8]: /google/play/billing/release-notes [9]: /reference/com/android/billingclient/api/BillingClient#queryProductDetailsAsync