เอกสารนี้อธิบายวิธีย้ายข้อมูลจาก Google Play Billing Library 5 หรือ 6 ไปยัง Google Play Billing Library 7 และวิธีผสานรวมกับความสามารถในการสมัครใช้บริการแบบใหม่ที่ไม่บังคับ
หากต้องการดูรายการการเปลี่ยนแปลงทั้งหมดในเวอร์ชัน 7.0.0 โปรดดู บันทึกประจำรุ่น
ภาพรวม
Google Play Billing Library 7 ปรับปรุงการจัดการการชำระเงินสำหรับฟีเจอร์การสมัครใช้บริการที่มีอยู่ การปรับปรุงที่ไม่บังคับเหล่านี้จะเพิ่มการรองรับการชำระเงินด้วยแพ็กเกจการผ่อนชำระ รวมถึงการรองรับการซื้อที่รอดำเนินการสำหรับการสมัครใช้บริการแบบชำระเงินล่วงหน้า
การอัปเกรด Play Billing Library ที่เข้ากันได้กับเวอร์ชันก่อนหน้า
API ใหม่ทั้งหมดของ Google Play Billing Library 7 เป็น API ที่ไม่บังคับ และนักพัฒนาแอปไม่จำเป็นต้องใช้การเปลี่ยนแปลง API ใดๆ เพื่ออัปเดต
หากต้องการย้ายข้อมูล คุณต้องอัปเดตข้อมูลอ้างอิง API และนำ API บางรายการออกจากแอปตามที่อธิบายไว้ในบันทึกประจำรุ่นและในคู่มือการย้ายข้อมูลนี้
อัปเกรดจาก PBL 5 เป็น PBL 7
ส่วนต่อไปนี้อธิบายวิธีอัปเกรดจาก PBL 5 เป็น PBL 7
อัปเดต Google Play Billing Library
อัปเดตเวอร์ชันการพึ่งพา Play Billing Library ในไฟล์ build.gradle ของแอป
dependencies {
def billingVersion = 7.0.0
implementation "com.android.billingclient:billing:$billingVersion"
}
จากนั้นอัปเดตข้อมูลอ้างอิง API ตามที่อธิบายไว้ในส่วนต่อไปนี้
เปลี่ยนการซื้อการสมัครใช้บริการของผู้ใช้
Play Billing Library 5 และเวอร์ชันก่อนหน้าใช้ ProrationMode
เพื่อใช้การเปลี่ยนแปลงกับการซื้อการสมัครใช้บริการของผู้ใช้ เช่น การอัปเกรด
หรือดาวน์เกรด ระบบได้นำ API นี้ออกและแทนที่ด้วย
ReplacementMode
จัดการการเปลี่ยนแปลงราคาการสมัครใช้บริการ
ระบบได้นำ API launchPriceConfirmationFlow ที่เลิกใช้งานไปก่อนหน้านี้ออกแล้ว
หากต้องการดูทางเลือกอื่น โปรดดูคู่มือการเปลี่ยนแปลงราคา price changes
guide
จัดการการเปลี่ยนแปลง API ที่เกี่ยวข้องกับการสมัครใช้บริการ
ระบบได้นำ API setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode ที่เลิกใช้งานไปก่อนหน้านี้ออกแล้ว
- อัปเดต
setOldSkuPurchaseTokenเป็นsetOldPurchaseToken - อัปเดต
setReplaceProrationModeเป็นsetSubscriptionReplacementMode - อัปเดต
setReplaceSkusProrationModeเป็นsetSubscriptionReplacementMode
จัดการข้อผิดพลาดของ Play Billing Library
รหัส NETWORK_ERROR ใหม่บ่งบอกถึงปัญหาเกี่ยวกับการเชื่อมต่อเครือข่ายระหว่างอุปกรณ์ของผู้ใช้กับระบบ Google Play
นอกจากนี้ ระบบยังได้อัปเดตรหัส SERVICE_TIMEOUT และ SERVICE_UNAVAILABLE ด้วย
ดูข้อมูลเพิ่มเติมได้ที่ จัดการรหัสการตอบกลับ BillingResult.
จัดการธุรกรรมที่รอดำเนินการ
Play Billing Library จะไม่สร้างรหัสคำสั่งซื้อสำหรับการซื้อที่รอดำเนินการอีกต่อไป
สำหรับการซื้อเหล่านี้ ระบบจะป้อนรหัสคำสั่งซื้อหลังจากที่การซื้อย้ายไปอยู่ในสถานะ PURCHASED แล้ว
ตรวจสอบว่าการผสานรวมของคุณคาดหวังรหัสคำสั่งซื้อหลังจากที่ธุรกรรมเสร็จสมบูรณ์แล้วเท่านั้น คุณยังคงใช้โทเค็นการซื้อสำหรับบันทึกได้
ดูข้อมูลเพิ่มเติมเกี่ยวกับการจัดการการซื้อที่รอดำเนินการได้ใน คู่มือการผสานรวมPlay Billing Libraryและ คู่มือการจัดการวงจรการซื้อ
จัดการ API การเรียกเก็บเงินระบบอื่นที่นำออก
ระบบได้นำ BillingClient.Builder.enableAlternativeBilling,
AlternativeBillingListener,
และ AlternativeChoiceDetails ออกแล้ว
นักพัฒนาแอปควรใช้ BillingClient.Builder.enableUserChoiceBilling() กับ UserChoiceBillingListener
และ UserChoiceDetails
ในการเรียกกลับของ Listener แทน
การอัปเดตนี้เป็นการเปลี่ยนชื่อ API ที่เลิกใช้งานแล้วโดยไม่มีการเปลี่ยนแปลงลักษณะการทำงาน
การเปลี่ยนแปลงที่ไม่บังคับ
PBL 7 มี API ใหม่ 2 รายการที่ไม่บังคับ
รองรับการซื้อที่รอดำเนินการสำหรับแพ็กเกจแบบชำระเงินล่วงหน้า
ดูคู่มือจัดการการสมัครใช้บริการและธุรกรรมที่รอดำเนินการ
การสมัครใช้บริการแบบผ่อนชำระเสมือนจริง
ดูคู่มือการผสานรวมการสมัครใช้บริการแบบผ่อนชำระ
อัปเกรดจาก PBL 6 เป็น PBL 7
ส่วนต่อไปนี้อธิบายวิธีอัปเกรดจาก PBL 6 เป็น PBL 7
อัปเดต Google Play Billing Library
อัปเดตเวอร์ชันการพึ่งพา Play Billing Library ในไฟล์ build.gradle ของแอป
dependencies {
def billingVersion = 7.0.0
implementation "com.android.billingclient:billing:$billingVersion"
}
จากนั้นอัปเดตข้อมูลอ้างอิง API ตามที่อธิบายไว้ในส่วนต่อไปนี้
จัดการการเปลี่ยนแปลง API ที่เกี่ยวข้องกับการสมัครใช้บริการ
ระบบได้นำ API setOldSkuPurchaseToken, setReplaceProrationMode, setReplaceSkusProrationMode ที่เลิกใช้งานไปก่อนหน้านี้ออกแล้ว
- อัปเดต
setOldSkuPurchaseTokenเป็นsetOldPurchaseToken - อัปเดต
setReplaceProrationModeเป็นsetSubscriptionReplacementMode - อัปเดต
setReplaceSkusProrationModeเป็นsetSubscriptionReplacementMode
จัดการ API การเรียกเก็บเงินระบบอื่นที่นำออก
ระบบได้นำ BillingClient.Builder.enableAlternativeBilling,
AlternativeBillingListener
และ AlternativeChoiceDetails ออกแล้ว
นักพัฒนาแอปควรใช้ BillingClient.Builder.enableUserChoiceBilling() กับ UserChoiceBillingListener
และ UserChoiceDetails
ในการเรียกกลับของ Listener แทน
การเปลี่ยนแปลงที่ไม่บังคับ
PBL 7 มี API ใหม่ 2 รายการที่ไม่บังคับ
รองรับการซื้อที่รอดำเนินการสำหรับแพ็กเกจแบบชำระเงินล่วงหน้า
ดูคู่มือจัดการการสมัครใช้บริการและธุรกรรมที่รอดำเนินการ