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

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

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

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

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

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

แอปประเภทนี้จะทำงานแบบเต็มหน้าจอบนแผงในสภาพแวดล้อมของผู้ใช้ แต่เลย์เอาต์อาจไม่เหมาะกับขนาดที่ใหญ่ขึ้น แอปที่ระบุขนาดกะทัดรัดในไฟล์ Manifest จะแสดงตามนั้น แอปไม่ทำงานในโหมดความเข้ากันได้และ จึงไม่ได้แสดงแบบกล่องจดหมาย แอปมีประสบการณ์การใช้งานที่ใช้งานได้จริงของรูปแบบการป้อนข้อมูลหลักที่ 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 มิติ / เชิงมิติพื้นที่ สมอ และ UI เชิงมิติพื้นที่อื่นๆ เช่น ออบิเตอร์

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

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

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

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

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

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

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

แอปหน้าจอขนาดใหญ่ที่ใช้ได้กับ Android XR

แอปหน้าจอขนาดใหญ่ระดับ 1 หรือระดับ 2 จะถือเป็นแอปหน้าจอขนาดใหญ่ที่เข้ากันได้กับ Android XR หลักเกณฑ์ด้านคุณภาพของแอปสำหรับหน้าจอขนาดใหญ่จะช่วยให้ คุณมีแนวทางที่เป็นระบบในการรับประกันประสบการณ์การใช้งานที่ยอดเยี่ยมใน 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 Developer Console

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

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

Baseline ของแอป Android (XR ที่แตกต่าง)

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

XR พื้นฐาน

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

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

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

สภาพแวดล้อม

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

การเปลี่ยนระหว่างพื้นที่หน้าแรก (HSM) กับพื้นที่เต็ม (FSM)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

สภาพแวดล้อม

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


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