วิธีการเพิ่มพารามิเตอร์หน้าจอของอุปกรณ์ iOS ใหม่ลงใน Cardboard SDK และ XR Plugin

มีการเปิดตัวอุปกรณ์ iOS ใหม่ทุกปี หากต้องการให้ Cardboard SDK หรือ Cardboard XR Plugin ทำงานกับอุปกรณ์ใหม่เหล่านี้ได้ ให้อัปเดตไฟล์ resolutions.csv สำหรับโปรเจ็กต์ที่คุณใช้อยู่

แหล่งข้อมูล

  • คุณสามารถรับสตริงโมเดลได้จาก The Apple Wiki
  • คุณสามารถรับค่า DPI (หรือที่เรียกว่า PPI) ได้จากข้อกำหนดทางเทคนิคของ Apple (เช่น ดู ข้อกำหนดของ iPhone 16)

สิ่งที่ต้องอัปเดต

ให้อัปเดตไฟล์ resolutions.csv ที่เกี่ยวข้อง โดยขึ้นอยู่กับว่าคุณใช้ Cardboard SDK หรือ Cardboard XR Plugin

ทั้ง 2 อย่างจะโหลดพารามิเตอร์หน้าจออุปกรณ์แบบไดนามิกในรันไทม์จาก resolutions.csv ภายใน sdk.bundle

  • เมื่อมีส่วนร่วมในการส่งพารามิเตอร์อุปกรณ์ใหม่ไปยัง Google Cardboard ให้ส่งคำขอแบบดึงข้อมูลไปยังทั้งที่เก็บ Cardboard SDK และ Cardboard XR Plugin (ระบบจะซิงค์ที่เก็บทั้ง 2 ไว้โดยใช้ LINT.IfChange / LINT.ThenChange)
  • สำหรับโปรเจ็กต์ Unity ในเครื่องที่ใช้แพ็กเกจ UPM ที่เปลี่ยนแปลงไม่ได้ใน Library/PackageCache/ นักพัฒนาแอปสามารถแก้ไข resolutions.csv ได้โดยตรงภายใน โปรเจ็กต์ Xcode ที่ส่งออกภายใต้ Frameworks/com.google.xr.cardboard/Runtime/iOS/sdk.bundle/resolutions.csv

รูปแบบของ resolutions.csv

เพิ่มบรรทัดใหม่สำหรับอุปกรณ์แต่ละเครื่องโดยใช้รูปแบบที่คั่นด้วยคอมมาดังนี้

identifier,device_name,dpis
  • identifier: สตริงโมเดลฮาร์ดแวร์ที่ได้จาก The Apple Wiki โดยแทนที่คอมมา ด้วยจุด (เช่น iPhone17,3 จะกลายเป็น iPhone17.3)
  • device_name: ชื่อทางการตลาดของอุปกรณ์ (เช่น iPhone 16) ชื่อนี้ต้องไม่มีคอมมา เนื่องจากตัวแยกวิเคราะห์รันไทม์ (stringSplit ใน screen_params.mm) จะแยกตามคอมมาเป็นอาร์เรย์ 3 องค์ประกอบแบบคงที่ โดยไม่รองรับการใส่เครื่องหมายคำพูด คอมมาที่ฝังไว้จะแทนที่โทเค็น DPI และทำให้โทเค็นประเมินเป็น 0.0
  • dpis: ความหนาแน่นของพิกเซลหน้าจอใน DPI/PPI ตามด้วย f (เช่น 460.0f)

รายการตัวอย่าง

iPhone17.3,iPhone 16,460.0f
iPhone17.4,iPhone 16 Plus,460.0f
iPhone17.1,iPhone 16 Pro,460.0f
iPhone17.2,iPhone 16 Pro Max,460.0f