หลักเกณฑ์ด้านคุณภาพของแอป Android XR

คำจำกัดความของระดับความเข้ากันได้

หากต้องการยืนยันว่าแอปมอบประสบการณ์การใช้งานที่ยอดเยี่ยมแก่ผู้ใช้บนชุดหูฟัง XR และ แว่นตา XR แบบมีสาย โปรดดูรายการตรวจสอบความเข้ากันได้และการทดสอบต่อไปนี้

รายการตรวจสอบและการทดสอบจะกำหนดชุดข้อกำหนดด้านคุณภาพที่ครอบคลุมสำหรับ แอป Android เกือบทุกประเภท

แอปบนอุปกรณ์เคลื่อนที่ที่ใช้ได้กับ Android XR

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

แอปประเภทนี้จะทำงานแบบเต็มหน้าจอบนแผงในสภาพแวดล้อมของผู้ใช้ แต่เลย์เอาต์อาจไม่เหมาะกับขนาดที่ใหญ่ขึ้น แอปที่ระบุขนาดกะทัดรัดในไฟล์ Manifest จะแสดงตามนั้น แอปไม่ทำงานในโหมดความเข้ากันได้และ จึงไม่ได้แสดงแบบ Letterbox แอปนี้มีประสบการณ์การใช้งานที่ใช้งานได้จริงของรูปแบบการป้อนข้อมูลหลักที่ Android XR มอบให้ (การติดตามดวงตา + ท่าทางสัมผัสหรือมือที่ใช้การยิงรังสี) และการรองรับพื้นฐานสำหรับอุปกรณ์ป้อนข้อมูลภายนอก ซึ่งรวมถึงแป้นพิมพ์ เมาส์ แทร็กแพด และเกมคอนโทรลเลอร์ อาจปรับขนาดได้หรือไม่ได้

ระบบจะเลือกใช้แอปบนอุปกรณ์เคลื่อนที่ที่เข้ากันได้กับ Android XR โดยอัตโนมัติและพร้อมให้บริการใน Google Play Store แอปที่เข้ากันไม่ได้เนื่องจากข้อกำหนดของฟีเจอร์ที่ไม่รองรับจะติดตั้งผ่าน Play Store ไม่ได้

แอปหน้าจอขนาดใหญ่ที่รองรับ Android XR

แอปหน้าจอขนาดใหญ่ที่รองรับ Android XR คือแอประดับ 1 หรือระดับ 2 ที่มีหน้าจอขนาดใหญ่ซึ่งใช้การเพิ่มประสิทธิภาพเลย์เอาต์สำหรับหน้าจอทุกขนาด และการกำหนดค่าอุปกรณ์ (เช่น หน้าจอขนาดใหญ่เพิ่มเติมจาก อุปกรณ์เคลื่อนที่) พร้อมด้วยการรองรับอุปกรณ์อินพุตภายนอกและ มัลติทาสก์ที่ดียิ่งขึ้น ระบบจะเลือกใช้แอปหน้าจอขนาดใหญ่ที่รองรับ Android XR โดยอัตโนมัติ และพร้อมใช้งานใน Play Store

แอปหน้าจอขนาดใหญ่ที่รองรับ Android XR จะทำงานแบบเต็มหน้าจอบนแผงเชิงพื้นที่ในสภาพแวดล้อมของผู้ใช้ที่ 1024dp × 720dp ผู้ใช้จะโต้ตอบกับแอปได้อย่างเป็นธรรมชาติโดยใช้ดวงตาและมือ แต่จะคล้ายกับแอปบนหน้าจอขนาดใหญ่มาก

แอป Android XR ที่แตกต่าง

แอป Android XR ที่แตกต่างจะมีประสบการณ์ของผู้ใช้ที่ออกแบบมาสำหรับ XR โดยเฉพาะ และจะใช้ฟีเจอร์ที่มีเฉพาะใน XR คุณใช้ประโยชน์จากความสามารถของ Android XR ได้อย่างเต็มที่และสร้างความแตกต่างให้กับประสบการณ์การใช้งานแอปโดยการเพิ่มฟีเจอร์ XR (เช่น แผงเชิงพื้นที่) เพิ่มเนื้อหา XR (เช่น วิดีโอ 3 มิติ) ลงในแอปพลิเคชันด้วยการพัฒนาด้วย Android Jetpack XR SDK, Unity หรือ OpenXR

คุณสามารถใช้ Jetpack XR SDK เพื่อมอบความสามารถเฉพาะ XR ซึ่งรวมถึงแผงเชิงพื้นที่ สภาพแวดล้อม โมเดล 3 มิติ เสียงเชิงพื้นที่ วิดีโอ / รูปภาพ 3 มิติ / เชิงพื้นที่ Anchor และ UI เชิงพื้นที่อื่นๆ เช่น Orbiters

แอปต้องใช้ฟีเจอร์เฉพาะ XR หรือเนื้อหาเฉพาะ XR อย่างน้อย 1 รายการจึงจะถือเป็นแอป Android XR ที่แตกต่าง สำหรับกรณีการใช้งานบางอย่าง อาจมีข้อกำหนดเพิ่มเติมเกี่ยวกับฟีเจอร์และเนื้อหา โปรดดูรายละเอียดด้านล่าง

แอปทั้งหมดที่สร้างด้วย Unity หรือ OpenXR ถือว่ามีความแตกต่าง แอปที่สร้างด้วย Unity หรือ OpenXR ต้องเป็นไปตามเมตริกคุณภาพและข้อกำหนดขั้นต่ำจึงจะถือเป็นแอป Android XR ที่แตกต่างกันได้ เช่น แอปที่มีอัตราเฟรมต่ำ, ขัดข้อง หรือประสบการณ์ของผู้ใช้ในด้านลบอื่นๆ จะไม่มีสิทธิ์

รายการตรวจสอบความเข้ากันได้ของ Android XR

รายการตรวจสอบความเข้ากันได้เหล่านี้จะกำหนดเกณฑ์เพื่อช่วยคุณประเมินระดับการรองรับ XR ของแอป ระดับการสนับสนุนมีดังนี้

แอปบนอุปกรณ์เคลื่อนที่ที่ใช้ได้กับ Android XR

แอปของคุณต้องเป็นไปตามข้อกำหนดด้านคุณภาพหลักของแอป

นอกจากนี้ แอปของคุณควรปฏิบัติตามหลักเกณฑ์ด้านการช่วยเหลือพิเศษที่เกี่ยวข้องทั้งหมดสำหรับ รูปแบบของอุปกรณ์อื่นๆ เช่น โทรศัพท์และแท็บเล็ต (เช่น ความคมชัดของสี)

แอปหน้าจอขนาดใหญ่ที่รองรับ Android XR

แอปหน้าจอขนาดใหญ่ระดับที่ 1 หรือระดับที่ 2 จะถือเป็นแอปหน้าจอขนาดใหญ่ที่เข้ากันได้กับ Android XR หลักเกณฑ์ด้านคุณภาพของแอปสำหรับหน้าจอขนาดใหญ่จะช่วยให้ คุณมีแนวทางที่เป็นระบบในการรับประกันประสบการณ์การใช้งานที่ยอดเยี่ยมใน Android XR แต่ไม่จำเป็นต้องพิจารณาสถานะของอุปกรณ์ เช่น การหมุนหรือการพับ/กาง

แอปที่แตกต่างกันของ Android XR

เนื่องจากแอปที่แตกต่างกันของ Android XR มีความแตกต่างกันอย่างมาก ความสามารถบางอย่างที่ ระบุไว้จึงใช้ได้กับแอปบางประเภทเท่านั้น เลือกความสามารถที่เหมาะสมกับแอปพลิเคชันของคุณ นอกจากนี้ แอป Android ต้องเป็นไปตามหลักเกณฑ์ของ Android สำหรับหน้าจอขนาดใหญ่และอุปกรณ์เคลื่อนที่ด้วย ดู ข้อกำหนดที่เหมาะสมกับแอปพลิเคชันของคุณ (ข้อกำหนดบางอย่างอาจกลายเป็น การอัปเดตนโยบายในอนาคตด้วย)

ประเภทแอป / กรณีการใช้งาน

หมวดหมู่

พื้นที่

คำแนะนำ

ข้อกำหนดพื้นฐานทั่วไป (Android และ OpenXR)

ความเป็นส่วนตัวและความปลอดภัย

การลงชื่อเข้าใช้บัญชี (UX ครั้งแรก)

หากแอปใช้ระบบเข้าสู่ระบบ ให้แสดงข้อมูลเข้าสู่ระบบของผู้ใช้อย่างชัดเจน (เช่น ข้อมูลเข้าสู่ระบบชื่อผู้ใช้) หลังจากตรวจสอบสิทธิ์สำเร็จ ซึ่งจะช่วยสร้างความน่าเชื่อถือด้วยการยืนยันบัญชีที่ใช้งานอยู่ นอกจากนี้ ให้รวมเมนูหรือหน้าการตั้งค่าที่เข้าถึงได้ง่าย ซึ่งช่วยให้ผู้ใช้ดูและจัดการข้อมูลบัญชีได้ทุกเมื่อ

ความปลอดภัยและความสะดวกสบาย

การใช้แสง

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

หลีกเลี่ยงการจงใจใส่องค์ประกอบการออกแบบที่อาจทำให้เกิดการกะพริบ

1. หากจำเป็นต้องใช้เอฟเฟ็กต์การใช้แสง ให้ตรวจสอบว่าอัตราการกะพริบต่ำมาก (ต่ำกว่า 3 ครั้งต่อวินาที) และพื้นที่การกะพริบมีขนาดเล็กและไม่เด่นชัด

2. โปรดพิจารณาให้ความสามารถในการปิดใช้ผ่านการตั้งค่าหรือค่ากำหนด

3. แสดงข้อความเตือนที่ชัดเจนก่อนที่จะเกิดการกะพริบ

วิธีป้องกันอาการเมารถเมาเรือ

ปฏิบัติตามหลักเกณฑ์ต่อไปนี้เพื่อหลีกเลี่ยงไม่ให้ผู้ใช้มีอาการเมารถเมาเรือ

  • ให้ความสำคัญกับความสบายตาด้วยการหลีกเลี่ยงการเคลื่อนไหวของกล้องอย่างกะทันหัน รักษาเฟรมอ้างอิงที่สอดคล้องกันเพื่อไม่ให้ผู้ใช้สับสน
  • อย่าหมุนกล้องเมื่อเวลาผ่านไป หากทิศทางของกล้องเปลี่ยนไป กล้องจะปรับเป็นแนวใหม่

อินพุต

ขนาดเป้าหมายการโต้ตอบ

เป้าหมายที่โต้ตอบได้มีขนาดขั้นต่ำและขนาดที่แนะนำตามระยะห่างของการโต้ตอบที่ต้องการ ดังนี้

  • ขนาดต่ำสุด: DistanceInM x 0.868 x 48 = M
  • ขนาดที่แนะนำ: DistanceInM x 0.868 x 56 = M หรือใหญ่กว่า

เมื่อใช้ Jetpack XR SDK เราขอแนะนำให้ใช้ขนาดขั้นต่ำ 48 x 48dp โดยมีขนาดเป้าหมายการแตะที่แนะนำคือ 56 x 56dp หรือใหญ่กว่า

ฟังก์ชันการทำงานทางเทคนิคของ XR

การป้อนข้อมูลด้วยมือ

แอปของคุณรองรับการป้อนข้อมูลด้วยมือตามธรรมชาติเป็นวิธีการโต้ตอบพื้นฐานสำหรับ Android XR ซึ่งรวมถึงข้อกำหนดการแคสต์รังสีด้วยมือและการรองรับท่าทางสัมผัสสำหรับองค์ประกอบอินพุตพื้นฐาน

แอปของคุณสามารถเล่นหรือใช้งานได้โดยไม่ต้องใช้คอนโทรลเลอร์ แต่สามารถเพิ่มประสิทธิภาพได้หากคุณเลือกใช้

Boundary (เดิมคือ Guardian)

หากแอปคาดหวังให้ผู้ใช้เคลื่อนที่จากจุดเริ่มต้น (เมื่อเปิดแอป) ไปรอบๆ พื้นที่จริง แอปจะขอการส่งผ่านหรือประกาศ PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE ในไฟล์ Manifest

หากแอปของคุณใช้ XR_BOUNDARY_TYPE_LARGE คุณจะเล่นเกมได้อย่างเต็มที่โดยไม่มีการแสดงขอบเขต (ภายในรัศมี 2.0 ม. โปรดทราบว่าการส่งผ่านขอบเขตจะเริ่มจางลงที่รัศมี 1.5 ม.)

ประสิทธิภาพ

การแสดงผล

แอปของคุณแสดงผลแต่ละเฟรมระหว่าง <11.1 มิลลิวินาที (90Hz) และ < 13.8 มิลลิวินาที (72 Hz)

ความละเอียด

แอปของคุณมีความละเอียดอย่างน้อย 1856 x 2160 ต่อตา

เวลาเริ่มต้นของแอป

ผู้ใช้ต้องการโต้ตอบกับแอปหรือเกมของคุณให้เร็วที่สุด คำจำกัดความของเวลาเริ่มต้นหรือเวลาในการโหลดที่ดีจะแตกต่างกันไปตามหมวดหมู่ แต่โดยหลักการทั่วไป เราขอแนะนำให้ลดเวลาตั้งแต่การเปิดตัวจนถึงการโต้ตอบครั้งแรกให้น้อยที่สุด

ดูระยะเวลาเป้าหมายด้านล่าง

  • ค่าเฉลี่ยของ Cold Start: น้อยกว่า 2 วินาที
  • Warm Start โดยเฉลี่ย: น้อยกว่า 1 วินาที

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

ANR

แอปของคุณไม่ขัดข้องหรือบล็อกเธรด UI ซึ่งทำให้เกิดข้อผิดพลาด ANR ("Android ไม่ตอบสนอง")

แอปของคุณมี ANR น้อยกว่า 1 รายการในเซสชันรายวัน 99.5%

แอปของคุณใช้รายงานก่อนการเปิดตัวของ Google Play เพื่อระบุปัญหาด้านความเสถียรที่อาจเกิดขึ้น หลังจากติดตั้งใช้งานแล้ว ให้ดูหน้า Android Vitals ใน Google Play Console

อัตราการขัดข้อง

อย่าใช้ทรัพยากรของระบบมากเกินไปจนส่งผลต่อส่วนอื่นๆ ของระบบและแอปอื่นๆ โดยรักษาระดับอัตราการขัดข้องไว้ที่ประมาณ 1%

ข้อกำหนดพื้นฐานของแอป Android (XR ที่แตกต่าง)

ภาพและประสบการณ์ของผู้ใช้

XR พื้นฐาน

แอปของคุณใช้ฟีเจอร์หรือเนื้อหาเฉพาะ XR อย่างน้อย 1 รายการเพื่อปรับปรุงประสบการณ์ของผู้ใช้ ซึ่งอาจรวมถึงยานโคจร แผงเชิงพื้นที่อย่างน้อย 1 แผง สภาพแวดล้อม หรือออบเจ็กต์ 3 มิติ

แผงเชิงพื้นที่

เมื่อทำงานหลายอย่างพร้อมกัน (เช่น ทำงาน 2 อย่างขึ้นไปพร้อมกัน) ด้วยแผง ให้สร้างแผงเชิงพื้นที่แยกกัน เช่น คุณอาจสร้างแผงเชิงพื้นที่แยกกันสำหรับหน้าต่างแชทและรายการ

สภาพแวดล้อม

เมื่อแสดงสภาพแวดล้อมเสมือนจริง ความสว่างอาจทำให้เสียสมาธิและเหนื่อยล้า แอปของคุณแสดงช่วงโทนสีที่ปลอดภัยโดยไม่มีช่วงที่เพิ่มขึ้นของความสว่างที่ขัดแย้งกับ UI หรืออาจทำให้ผู้ใช้รู้สึกอ่อนเพลีย UI อ่านได้ในทุกทิศทาง โดยเฉพาะภายในแถบแนวนอนตรงกลางของสายตาผู้ใช้ (จะมีการลิงก์หลักเกณฑ์โดยละเอียดในอนาคต)

การเปลี่ยนระหว่าง Home Space (HSM) กับ Full Space (FSM)

เมื่อนำผู้ใช้ไปยัง Full Space แอปของคุณจะมีจุดแรกเข้าเพื่อให้ผู้ใช้เปลี่ยนจาก Home Space ไปยัง Full Space ได้อย่างรวดเร็ว ใช้ไอคอนหรือป้ายกำกับ และวางปุ่มในตำแหน่งที่เข้าถึงได้ง่าย

แผงเชิงพื้นที่

วางเมนู ชิ้นงาน และตัวควบคุมในแผงหรือวงโคจรเฉพาะ โปรดอย่ารวมคอมโพเนนต์เหล่านี้ไว้ในแผงแก้ไขหลัก

การเลื่อนเมนู / รายการ

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

ฟังก์ชันการทำงานของวิดีโอ / สื่อ

ภาพและประสบการณ์ของผู้ใช้

Spatial Player (Android เท่านั้น)

แอปของคุณอนุญาตให้ผู้ใช้ดูเนื้อหาใน Full Space

นำตัวควบคุมการเล่นออกจากภาพซ้อนทับที่ด้านบนของเนื้อหา แล้ววางไว้ในแผงหรือวงโคจรเฉพาะแทน

สำหรับแผงที่มีการเล่นวิดีโอ ให้ตั้งค่าสัดส่วนภาพเพื่อนำแถบดำด้านบนและด้านล่างออก

เสียงรอบทิศทาง

พิจารณารองรับเสียงรอบทิศทาง รวมถึงเสียงที่ล็อกไว้ในแผงหรือเสียงเซอร์ราวด์

การดูวิดีโอพร้อมกัน

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

  • สตรีมวิดีโอใดที่ให้เอาต์พุตเสียง
  • ตัวควบคุมการเล่นใดที่ส่งผลต่อสตรีมวิดีโอใด

สภาพแวดล้อม

เมื่อเล่นเนื้อหาใน Full Space แอปของคุณจะอนุญาตให้ผู้ใช้ลดความสว่างของฟีเจอร์ส่งผ่านหรือเลือกสภาพแวดล้อมเสมือน


OpenXR™ และโลโก้ OpenXR เป็นเครื่องหมายการค้าของ The Khronos Group Inc. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร