ย้อนกลับไปที่ "ข่าวสำหรับผู้พัฒนา"

ขอแนะนำ SDK ของแพลตฟอร์ม Facebook เวอร์ชั่น 13.0 และการอัพเดตที่เกี่ยวข้อง

วันนี้ เรากำลังเปิดตัว Facebook SDK เวอร์ชั่น 13.0 และการอัพเดตเพิ่มเติมสำหรับ SDK ของแพลตฟอร์ม Facebook ของเรา โพสต์นี้จะให้ข้อมูลเกี่ยวกับการอัพเดตเหล่านี้และขั้นตอนต่างๆ ที่จำเป็นซึ่งผู้พัฒนาควรดำเนินการเพื่อหลีกเลี่ยงไม่ให้เกิดการหยุดชะงัก (ในกรณีที่จำเป็น) สำหรับการผสานการทำงานแอพพลิเคชั่นของตนกับแพลตฟอร์มของเรา ต่อไปนี้เป็นภาพรวมคร่าวๆ ของการอัพเดตบางส่วนที่เป็นส่วนหนึ่งของการเปิดตัว SDK เวอร์ชั่น 13.0

  • การสนับสนุน API กราฟ เวอร์ชั่น 13.0: เรากำลังเพิ่มการสนับสนุนสำหรับ API กราฟ เวอร์ชั่น 13.0 และ API การตลาด เวอร์ชั่น 13.0
  • คำขอสิทธิ์การอนุญาตแบบฝังสำหรับ ID ผู้ลงโฆษณาของ Android ใน Facebook SDK สำหรับ Android: Android SDK เวอร์ชั่น 13.0 ในตอนนี้จะมีคำขอสิทธิ์การอนุญาตสำหรับ ID ผู้ลงโฆษณาของ Android โดยค่าเริ่มต้น โดยสอดคล้องกับนโยบายของบริการ Google Play เกี่ยวกับ ID ผู้ลงโฆษณา ผู้พัฒนาทุกรายที่ใช้ Facebook SDK สำหรับ Android จะต้องดำเนินการก่อนที่การบังคับใช้ที่ Google ได้วางแผนไว้จะเริ่มต้นขึ้นในเดือนเมษายนปี 2022 เพื่อหลีกเลี่ยงไม่ให้บริการต้องหยุดชะงักลง
  • ข้อกำหนดให้ฝังโทเค็นของไคลเอ็นต์ใน SDK จะมีผลบังคับใช้: การเปิดตัว Facebook SDK เวอร์ชั่น 13.0 ส่งผลให้ผู้พัฒนาจำเป็นต้องฝังโทเค็นของไคลเอ็นต์ใน SDK แล้วในตอนนี้
  • ข้อกำหนดให้ใช้ Java 8 Bytecode จะมีผลบังคับใช้: ในขณะนี้ เรากำหนดให้ผู้พัฒนาใช้ Java 8 Bytecode เพื่อหลีกเลี่ยงข้อผิดพลาดในการคอมไพล์แอพ
  • การประกาศการเลิกใช้งาน: ในขณะนี้ SDK เวอร์ชั่น 12 (รวมถึงเวอร์ชั่น 12.1, เวอร์ชั่น 12.2 ฯลฯ) อยู่ในสถานะที่เลิกใช้งานแล้ว ตั้งแต่วันนี้เป็นต้นไป ผู้พัฒนาควรเริ่มย้ายไปใช้งานเวอร์ชั่น 13.0 เพื่อหลีกเลี่ยงการนำ SDK ที่เลิกใช้งานไปแล้วมาใช้กับแอพพลิเคชั่นของตน

โปรดดูรายละเอียดเพิ่มเติมเกี่ยวกับการอัพเดตเหล่านี้ด้านล่าง

การเปิดตัว SDK เวอร์ชั่น 13.0

วันนี้ เรากำลังเปิดตัว SDK ของแพลตฟอร์ม เวอร์ชั่น 13.0 ทั้งในแพลตฟอร์ม Android และ iOS เรากำลังเพิ่มการสนับสนุน SDK สำหรับ API กราฟ เวอร์ชั่น 13.0 และ API การตลาด เวอร์ชั่น 13.0 ของ Facebook โดยเป็นส่วนหนึ่งในการเปิดตัวครั้งนี้ เราได้สร้างบล็อกโพสต์นี้ขึ้นมาเพื่อเน้นย้ำการประกาศเพิ่มเติม การอัพเดตผลิตภัณฑ์ และการเตือนความจำที่เกี่ยวข้องกับการเปิดตัว API กราฟ เวอร์ชั่น 13.0 และ API การตลาด เวอร์ชั่น 13.0

การอัพเดตสำคัญอื่นๆ

ต่อไปนี้เป็นภาพรวมของการอัพเดตและการเปลี่ยนแปลงอื่นๆ ที่เป็นส่วนหนึ่งของการเปิดตัว SDK เวอร์ชั่น 13.0

การปรับ SDK ให้ทันสมัย: การแปลงจาก Objective-C เป็น Swift

เรากำลังแปลงโค้ด SDK ของเราจาก Objective-C เป็น Swift ควบคู่ไปกับการปรับ SDK ของแพลตฟอร์มของเราให้ทันสมัย การเปิดตัว SDK เวอร์ชั่น 13.0 มีการเปลี่ยนแปลงหลายประการที่เกิดจากความพยายามในการแปลง ซึ่งอาจจำเป็นต้องมีการดำเนินการจากผู้พัฒนา การเปลี่ยนแปลงเหล่านี้ประกอบด้วยสิ่งต่อไปนี้

  • ประเภทจำนวนหนึ่งได้ผ่านการแปลงจาก Objective-C เป็น Swift ผู้พัฒนาอาจจำเป็นต้องใช้คำสั่งนำเข้าแบบโมดูลาร์เมื่อใช้ GamingServicesKit และ ShareKit ส่วนใหญ่ เพื่อหลีกเลี่ยงไม่ให้พบข้อผิดพลาดในการคอมไพล์ใน Objective-C ในกรณีดังกล่าว ผู้พัฒนาจะต้องใช้ @import แทน #import ในไฟล์ Objective-C เมื่อใช้สัญลักษณ์จากชุดเหล่านี้ ผู้พัฒนาสามารถดูรายละเอียดเพิ่มเติมเกี่ยวกับวิธีใช้คำสั่งนำเข้าแบบโมดูลาร์ได้จากบันทึกการเปลี่ยนแปลงเช่นกัน
  • นอกจากนี้ เรากำลังลดการใช้แนวทางแบบประเภทค่า (Value-Type) ของ Objective-C ใน ShareKit ตั้งแต่การเปิดตัว SDK เวอร์ชั่น 13.0 เป็นต้นไป ประเภทเนื้อหา ShareKit จะไม่ใช้ลักษณะการทำงานดังต่อไปนี้ ได้แก่ การทำงานตามโปรโตคอล NSCopying, ความสามารถในการแฮชและการปรับให้เท่ากันแบบกำหนดเอง และการทำงานตาม NSSecureCoding ผู้พัฒนาสามารถดูรายละเอียดเพิ่มเติมได้จากบันทึกการเปลี่ยนแปลง
  • นอกจากนี้ เราได้ทำการอัพเดตเพิ่มเติมกับประเภทของอินเทอร์เฟซการรายงานเหตุการณ์ในแอพ เพื่อให้ประเภทเหล่านี้ใช้ชื่อเหตุการณ์ในแอพและชื่อพารามิเตอร์ที่เป็นทางการ ผู้พัฒนาที่ทำงานโดยใช้โค้ด Swift จะจำเป็นต้องใช้อินสแตนซ์ AppEvents.Name และ AppEvents.ParameterName เพื่อแสดงถึงชื่อเหตุการณ์ในแอพและชื่อพารามิเตอร์ตามลำดับ ส่วนผู้พัฒนาที่ทำงานโดยใช้โค้ด Objective-C สามารถใช้ค่าสตริงเพื่ออ้างอิงอินเทอร์เฟซการรายงานต่อไปได้ ผู้พัฒนาสามารถดูรายละเอียดเพิ่มเติมได้จากบันทึกการเปลี่ยนแปลง

การย้ายองค์ประกอบการเล่นเกมจาก ShareKit ไปยัง GamingServicesKit:

เราได้ย้ายประเภทสาธารณะขององค์ประกอบการเล่นเกม 6 รายการจาก ShareKit ไปยัง GamingServicesKit และยังได้แปลงประเภทสาธารณะเหล่านี้จาก Objective-C เป็น Swift อีกด้วย โดยเป็นส่วนหนึ่งในการเปิดตัว SDK เวอร์ชั่น 13.0 ประเภทสาธารณะ 6 รายการที่ย้าย ได้แก่ GameRequestActionType, GameRequestContent, GameRequestDialog, GameRequestDialogDelegate, GameRequestFilter และ GameRequestURLProvider

การเลิกใช้งานและการเปลี่ยนแปลงที่มีผลต่อการทำงาน:

คำขอสิทธิ์การอนุญาตแบบฝังสำหรับ ID ผู้ลงโฆษณาของ Android ใน Facebook SDK สำหรับ Android:

ขณะนี้ Android SDK เวอร์ชั่น 13.0 มีคำขอสิทธิ์การอนุญาต ID ผู้ลงโฆษณาของ Android โดยค่าเริ่มต้น เรากำลังทำการเปลี่ยนแปลงนี้โดยสอดคล้องกับนโยบายของบริการ Google Play เกี่ยวกับ ID ผู้ลงโฆษณา เรากำหนดให้ผู้พัฒนาต้องดำเนินการต่อไปนี้ก่อนเดือนเมษายนปี 2022 เพื่อหลีกเลี่ยงไม่ให้แอพของตนมีบริการที่ต้องหยุดชะงักลง

  • ผู้พัฒนาทุกรายที่ใช้ Android SDK เวอร์ชั่น 12.1 ลงไปควรอัพเกรดเป็นเวอร์ชั่น 13.0
  • ผู้พัฒนาที่ใช้เหตุการณ์ในแอพควรดำเนินการตามขั้นตอนต่อไปนี้
    • หากใช้เวอร์ชั่น 12.1 ลงไป ให้อัพเกรดเป็นเวอร์ชั่น 13.0
    • หากใช้เวอร์ชั่น 12.2 หรือ 12.3 ให้รวมคำขอสิทธิ์การอนุญาต ID ผู้ลงโฆษณาของ Android ไว้ในไฟล์ Manifest ของแอพเพื่อรับ ID ผู้ลงโฆษณาที่ถูกต้อง (เรียนรู้เพิ่มเติมที่นี่)
    • หากใช้เวอร์ชั่น 13.0 ขึ้นไป คุณไม่จำเป็นต้องดำเนินการใดๆ เพราะมีคำขอสิทธิ์การอนุญาต ID ผู้ลงโฆษณาของ Android รวมอยู่โดยค่าเริ่มต้นแล้ว
  • ผู้พัฒนาที่ไม่ใช้เหตุการณ์ในแอพควรดำเนินการตามขั้นตอนต่อไปนี้
    • หากใช้เวอร์ชั่น 12.3 ลงไป ให้ตรวจสอบให้แน่ใจว่าแฟล็กเหตุการณ์ในแอพถูกปิดใช้งานอยู่ (เรียนรู้เพิ่มเติมที่นี่)
    • หากใช้เวอร์ชั่น 13.0 ขึ้นไป ให้ตรวจสอบให้แน่ใจว่าแฟล็กเหตุการณ์ในแอพถูกปิดใช้งานอยู่ (เรียนรู้เพิ่มเติมที่นี่) และลบคำขอสิทธิ์การอนุญาต ID ผู้ลงโฆษณาของ Android ออก (เรียนรู้เพิ่มเติมที่นี่)

ข้อกำหนดให้ฝังโทเค็นของไคลเอ็นต์ใน SDK จะมีผลบังคับใช้:

ตั้งแต่การเปิดตัว SDK ของแพลตฟอร์ม เวอร์ชั่น 13.0 เป็นต้นไป ผู้พัฒนาจำเป็นต้องฝังโทเค็นของไคลเอ็นต์ใน SDK สำหรับการเรียกใช้ API กราฟแล้วในตอนนี้ การรวมโทเค็นของไคลเอ็นต์ไว้ใน SDK จะช่วยให้เราสามารถวิเคราะห์ปัญหาของแพลตฟอร์มได้อย่างมีประสิทธิภาพยิ่งขึ้น และเพิ่มประสิทธิภาพของแพลตฟอร์มโดยรวมอีกด้วย เมื่อเปิดตัว SDK ของแพลตฟอร์ม เวอร์ชั่น 13.0 ในตอนนี้ เราจะใช้โทเค็นของไคลเอ็นต์เพื่อประมวลผลการเรียกใช้ API กราฟ เมื่อโทเค็นการเข้าถึงหรือการยืนยันตัวตนไม่พร้อมใช้งาน ด้วยเหตุนี้ แอพใดก็ตามที่ใช้ SDK เวอร์ชั่น 13.0 ขึ้นไปซึ่งไม่มีโทเค็นของไคลเอ็นต์จะมีข้อยกเว้นเกิดขึ้นเมื่อเริ่มต้นใช้งาน SDK ผู้พัฒนาสามารถเรียนรู้เพิ่มเติมเกี่ยวกับวิธีฝังโทเค็นของไคลเอ็นต์สำหรับแอพของตนใน Android SDK ได้ที่นี่ และใน iOS SDK ได้ที่นี่เพื่อหลีกเลี่ยงไม่ให้บริการใดๆ ต้องหยุดชะงักลง

ข้อกำหนดให้ใช้ Java 8 Bytecode จะมีผลบังคับใช้:

ในตอนนี้ เรากำหนดให้ผู้พัฒนาที่ใช้ Facebook SDK สำหรับ Android จำเป็นต้องอัพเกรดมาใช้ Java 8 Bytecode เพื่อหลีกเลี่ยงปัญหาต่างๆ ระหว่างการคอมไพล์แอพ โดยสอดคล้องกับประกาศของ Kotlin ที่ว่า คอมไพเลอร์ของ Kotlin/JVM จะสร้าง Java 8 Bytecode โดยค่าเริ่มต้น ผู้พัฒนาสามารถเรียนรู้เพิ่มเติมเกี่ยวกับการอัพเกรดมาใช้ Java 8 Bytecode ได้ที่นี่

การเลิกใช้งาน SDK ของแพลตฟอร์ม เวอร์ชั่น 12.0:

ในการเปิดตัว SDK เวอร์ชั่น 13.0 เราขอประกาศว่าในขณะนี้ SDK เวอร์ชั่น 12.0 ได้เข้าสู่สถานะเลิกใช้งานเป็นระยะเวลา 2 ปีแล้ว ในระหว่างช่วงการเลิกใช้งานนี้ จะไม่มีการสนับสนุนด้านการบำรุงรักษาอย่างเป็นทางการสำหรับปัญหาใดๆ ที่เกิดขึ้นใน SDK เวอร์ชั่น 12.0 และเมื่อพ้นช่วงการเลิกใช้งาน 2 ปีนี้ไป SDK เวอร์ชั่น 12.0 จะมีการหยุดให้บริการและไม่สามารถใช้งานได้อีกต่อไป เนื่องจากมีการเลิกใช้งาน SDK เวอร์ชั่น 12.0 ผู้พัฒนาจึงควรเริ่มกระบวนการย้ายไปใช้ SDK เวอร์ชั่น 13.0 โดยเร็วที่สุด เพื่อใช้ SDK เวอร์ชั่นล่าสุดและดีที่สุดซึ่งมีการสนับสนุนด้านการบำรุงรักษาอย่างเป็นทางการ

การเลิกใช้งานเวอร์ชั่น:

ต่อไปนี้เป็นเวอร์ชั่นของ SDK ของแพลตฟอร์ม Facebook ที่เลิกใช้งานและวันที่เลิกใช้งาน

  • 24 กุมภาพันธ์ 2022: iOS SDK และ Android SDK เวอร์ชั่น 12 (เลิกใช้งานแล้ว)
  • 21 ตุลาคม 2021: iOS SDK และ Android SDK เวอร์ชั่น 11 (เลิกใช้งานแล้ว)
  • 8 มิถุนายน 2021: iOS SDK, Android SDK และ Unity SDK เวอร์ชั่น 9 (เลิกใช้งานแล้ว)
  • 19 มกราคม 2021: iOS SDK, Android SDK และ Unity SDK เวอร์ชั่น 8.2 ลงไป (เลิกใช้งานแล้ว)

บันทึกการเปลี่ยนแปลง:

ดูบันทึกการเปลี่ยนแปลงของเรา เพื่อตรวจสอบการเปลี่ยนแปลงที่เฉพาะเจาะจงต่อ SDK และติดตามข้อมูลเกี่ยวกับการปรับปรุงที่วางแผนไว้