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