คำจำกัดความของระดับความเข้ากันได้
โปรดตรวจสอบรายการตรวจสอบและการทดสอบความเข้ากันได้ต่อไปนี้เพื่อให้มั่นใจว่าแอปของคุณมอบประสบการณ์การใช้งานที่ยอดเยี่ยมแก่ผู้ใช้ในอุปกรณ์ Android 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 พื้นที่อื่นๆ เช่น กล้องมองรอบตัว
แอปต้องใช้งานฟีเจอร์หรือเนื้อหาเฉพาะ XR อย่างน้อย 1 รายการจึงจะถือว่าเป็นแอปที่แตกต่างออกไปสำหรับ Android XR สำหรับบางกรณีการใช้งาน อาจมีฟีเจอร์และข้อกำหนดด้านเนื้อหาเพิ่มเติม ดูรายละเอียดด้านล่าง
แอปทั้งหมดที่สร้างด้วย Unity หรือ OpenXR จะถือว่ามีความแตกต่างกัน แอปที่สร้างด้วย Unity หรือ OpenXR ต้องเป็นไปตามเมตริกคุณภาพและข้อกำหนดขั้นต่ำจึงจะถือว่าเป็นแอปที่แตกต่างจาก Android XR เช่น แอปที่มีอัตราเฟรมต่ำ ขัดข้อง หรือให้ประสบการณ์การใช้งานที่ไม่ดีแก่ผู้ใช้จะไม่ตรงตามข้อกำหนด
รายการตรวจสอบความเข้ากันได้กับ Android XR
รายการตรวจสอบความเข้ากันได้เหล่านี้จะกำหนดเกณฑ์เพื่อช่วยคุณประเมินระดับการรองรับ XR ของแอป ระดับการสนับสนุนมีดังนี้
แอปบนอุปกรณ์เคลื่อนที่ที่เข้ากันได้กับ Android XR
แอปของคุณต้องเป็นไปตามข้อกําหนดคุณภาพของแอปหลัก
จะไม่มีผลกับแอป XRนอกจากนี้ แอปของคุณยังควรเป็นไปตามหลักเกณฑ์การช่วยเหลือพิเศษที่เกี่ยวข้องทั้งหมดสำหรับรูปแบบของอุปกรณ์อื่นๆ เช่น โทรศัพท์และแท็บเล็ต (เช่น คอนทราสต์สี)
แอปหน้าจอขนาดใหญ่ที่เข้ากันได้กับ Android XR
แอปหน้าจอขนาดใหญ่ระดับ Tier 1 หรือ Tier 2 จะถือว่าเป็นแอปหน้าจอขนาดใหญ่ที่เข้ากันได้กับ Android XR หลักเกณฑ์ด้านคุณภาพของแอปหน้าจอขนาดใหญ่นำเสนอแนวทางที่มีโครงสร้างเพื่อให้มั่นใจว่าผู้ใช้จะได้รับประสบการณ์การใช้งานที่ยอดเยี่ยมบน Android XR แต่ไม่จำเป็นต้องคำนึงถึงสถานะของอุปกรณ์ เช่น การหมุนหรือพับ/กางออก ในทำนองเดียวกัน Android XR ก็ไม่รองรับสไตลัส
แอปที่แยกความแตกต่างสำหรับ Android XR
เนื่องจากแอปที่แยกความแตกต่างสำหรับ Android XR มีความแตกต่างกันสูง ความสามารถบางอย่างที่ระบุไว้จึงใช้ได้กับแอปบางประเภทเท่านั้น เลือกความสามารถที่เหมาะสมกับแอปพลิเคชันของคุณ นอกจากนี้ แอป Android ยังต้องเป็นไปตามหลักเกณฑ์สำหรับ Android บนหน้าจอขนาดใหญ่ / อุปกรณ์เคลื่อนที่ด้วย ดูข้อกำหนดที่เหมาะสมกับแอปพลิเคชันของคุณ (ข้อกำหนดบางอย่างอาจกลายเป็นการอัปเดตนโยบายในอนาคตด้วย)
ประเภทแอป / กรณีการใช้งาน |
หมวดหมู่ |
พื้นที่ |
คำแนะนำ |
---|---|---|---|
ข้อกำหนดพื้นฐานทั่วไป (Android และ OpenXR) |
ความเป็นส่วนตัวและความปลอดภัย |
การลงชื่อเข้าใช้บัญชี (UX ครั้งแรก) |
หากแอปใช้ระบบการเข้าสู่ระบบ ให้แสดงข้อมูลเข้าสู่ระบบของผู้ใช้ (เช่น ข้อมูลเข้าสู่ระบบชื่อผู้ใช้) อย่างชัดเจนหลังจากการตรวจสอบสิทธิ์สําเร็จ ซึ่งจะช่วยสร้างความน่าเชื่อถือด้วยการยืนยันบัญชีที่ใช้งานอยู่ นอกจากนี้ ให้ใส่เมนูหรือหน้าการตั้งค่าที่เข้าถึงได้ง่าย ซึ่งช่วยให้ผู้ใช้ดูและจัดการข้อมูลบัญชีได้ทุกเมื่อ |
ความปลอดภัยและความสะดวกสบาย |
การใช้แสง |
คุณควรลดความเสี่ยงของผลลัพธ์ที่กะพริบภายในแอปพลิเคชันเพื่อความปลอดภัยและความผาสุกของผู้ใช้ทุกคน หลีกเลี่ยงการใช้องค์ประกอบการออกแบบที่อาจทำให้เกิดภาพสั่น 1. หากจำเป็นต้องใช้เอฟเฟกต์การใช้แสงอย่างหลีกเลี่ยงไม่ได้ ให้ตรวจสอบว่าอัตราการกะพริบต่ำมาก (น้อยกว่า 3 ครั้งต่อวินาที) และพื้นที่ที่กะพริบมีขนาดเล็กและสังเกตได้ยาก 2. พิจารณาให้ผู้ใช้ปิดใช้ผ่านการตั้งค่าหรือค่ากําหนดได้ 3. แสดงข้อความเตือนที่ชัดเจนก่อนที่จะเกิดแสงกะพริบ |
|
หลีกเลี่ยงอาการเมารถ |
โปรดทำตามหลักเกณฑ์ต่อไปนี้เพื่อหลีกเลี่ยงอาการเมารถในผู้ใช้
|
||
อินพุต |
ขนาดของเป้าหมายการโต้ตอบ |
เป้าหมายที่โต้ตอบได้มีขนาดขั้นต่ำและขนาดที่แนะนำโดยอิงตามระยะการโต้ตอบที่ต้องการ ดังนี้
เมื่อใช้ Jetpack XR SDK เราขอแนะนำให้ใช้ขนาดขั้นต่ำ 48 x 48dp โดยแนะนำให้ใช้ขนาดเป้าหมายการแตะ 56 x 56dp ขึ้นไป |
|
ฟังก์ชันการทำงานทางเทคนิคของ XR |
การป้อนข้อมูลด้วยมือ |
แอปของคุณรองรับอินพุตด้วยมืออย่างเป็นธรรมชาติเป็นวิธีการโต้ตอบพื้นฐานสําหรับ Android XR ซึ่งรวมถึงข้อกําหนดของ Raycast ด้วยมือและการรองรับท่าทางสัมผัสสําหรับองค์ประกอบพื้นฐานของอินพุต แอปของคุณเล่นได้หรือใช้งานได้โดยไม่ต้องใช้ตัวควบคุม แต่สามารถเสริมด้วยการใช้ตัวควบคุมได้หากต้องการ |
|
ขอบเขต (เดิมคือ Guardian) |
หากแอปคาดหวังว่าผู้ใช้จะย้ายจากจุดเริ่มต้น (เมื่อเปิดแอป) ไปยังพื้นที่จริง แอปจะขอสิทธิ์เข้าถึงแบบ Passthrough หรือประกาศ หากแอปใช้ |
||
ประสิทธิภาพ |
การแสดงภาพ |
แอปของคุณแสดงผลแต่ละเฟรมระหว่าง 11.1 มิลลิวินาที (90 Hz) ถึง 13.8 มิลลิวินาที (72 Hz) |
|
ความละเอียด |
แอปของคุณมีความละเอียดอย่างน้อย 2364 x 2880 ต่อตา |
||
เวลาเริ่มต้นของแอป |
ผู้ใช้ต้องการโต้ตอบกับแอปหรือเกมของคุณได้อย่างรวดเร็วที่สุด คําจํากัดความของเวลาเริ่มต้นหรือเวลาในการโหลดที่ดีจะแตกต่างกันไปตามหมวดหมู่ แต่หลักการทั่วไปที่เราแนะนําคือลดเวลาระหว่างการเปิดตัวกับการโต้ตอบครั้งแรกให้น้อยที่สุด ดูระยะเวลาเป้าหมายด้านล่าง
โปรดดูรายละเอียดเพิ่มเติมที่หัวข้อเวลาเริ่มต้นของแอป |
||
ANR |
แอปไม่ขัดข้องหรือบล็อกเธรด UI ซึ่งทำให้เกิดข้อผิดพลาด ANR ("Android ไม่ตอบสนอง") แอปของคุณมี ANR น้อยกว่า 1 ครั้งในเซสชันรายวัน 99.5% แอปของคุณใช้รายงานก่อนการเปิดตัวของ Google Play เพื่อระบุปัญหาด้านความเสถียรที่อาจเกิดขึ้น หลังจากการทําให้ใช้งานได้ ให้ตรวจสอบหน้า Android Vitals ใน Google Play Console |
||
อัตราการขัดข้อง |
อย่าใช้ทรัพยากรระบบมากเกินไปซึ่งส่งผลต่อระบบส่วนที่เหลือและแอปอื่นๆ โดยให้อัตราการขัดข้องอยู่ที่ประมาณ 1% |
||
พื้นฐานของแอป Android (แยกความแตกต่างสำหรับ XR) |
ภาพและประสบการณ์ของผู้ใช้ |
XR พื้นฐาน |
แอปของคุณใช้ฟีเจอร์หรือเนื้อหาเฉพาะ XR อย่างน้อย 1 รายการเพื่อปรับปรุงประสบการณ์ของผู้ใช้ ซึ่งอาจรวมถึงยานอวกาศ แผงเชิงพื้นที่ สภาพแวดล้อม หรือวัตถุ 3 มิติอย่างน้อย 1 รายการ |
แผงเสียงรอบทิศทาง |
เมื่อทำงานหลายอย่างพร้อมกัน (นั่นคือ ทำงานอย่างน้อย 2 อย่างพร้อมกัน) ด้วยแผง ให้สร้างแผงพื้นที่แยกต่างหาก เช่น คุณอาจสร้างแผงพื้นที่แยกต่างหากสำหรับหน้าต่างและรายการแชท |
||
สภาพแวดล้อม |
เมื่อแสดงสภาพแวดล้อมเสมือนจริง ความสว่างอาจทำให้เสียสมาธิและทำให้เหนื่อยล้า แอปของคุณแสดงช่วงโทนสีที่ปลอดภัยโดยไม่มีจุดสว่างที่ขัดแย้งกับ UI หรืออาจทำให้ผู้ใช้รู้สึกไม่สบายตา UI อ่านออกได้ในทุกทิศทาง โดยเฉพาะในแถบแนวนอนตรงกลางของสายตาผู้ใช้ (เราจะลิงก์หลักเกณฑ์โดยละเอียดในอนาคต) |
||
การเปลี่ยนระหว่างพื้นที่หน้าแรก (HSM) กับพื้นที่เต็ม (FSM) |
เมื่อนําผู้ใช้ไปยังพื้นที่ทำงานแบบเต็ม แอปของคุณจะมีจุดแรกเข้าสําหรับผู้ใช้ในการสลับระหว่างพื้นที่ทำงานแบบเต็มกับพื้นที่ทำงานแบบโฮมอย่างรวดเร็ว ใช้ไอคอนหรือป้ายกำกับ และวางปุ่มไว้ในตำแหน่งที่เข้าถึงได้ง่าย |
||
แผงเสียงรอบทิศทาง |
วางเมนู ชิ้นงาน และการควบคุมในแผงหรือออบบิทเฉพาะ อย่ารวมคอมโพเนนต์เหล่านี้ไว้ในแผงแก้ไขหลัก |
||
การเลื่อนเมนู / รายการ |
แอปของคุณอัปเดตการโต้ตอบด้วยการเลื่อน (โดยเฉพาะผ่านภาพสไลด์หรือรายการแนวตั้ง) ให้เป็นไปตามฟิสิกส์หรือโมเมนตัม เช่น การเลื่อนจะรวมโมเมนตัมไว้ด้วย ทําให้เนื้อหาในภาพสไลด์และรายการเคลื่อนไหวต่อไปอีกสักครู่หลังจากการโต้ตอบของผู้ใช้ ก่อนที่จะค่อยๆ หยุดลง (แทนที่จะหยุดทันทีที่ผู้ใช้หยุดป้อนข้อมูล) |
||
ฟังก์ชันวิดีโอ / สื่อ |
ภาพและประสบการณ์ของผู้ใช้ |
โปรแกรมเล่นเสียงรอบทิศทาง (Android เท่านั้น) |
แอปของคุณอนุญาตให้ผู้ใช้ดูเนื้อหาในโหมดเต็มหน้าจอ นำตัวควบคุมการเล่นออกจากการวางซ้อนบนเนื้อหา แล้ววางไว้ในแผงหรือออบบิทเฉพาะแทน สำหรับแผงที่มีการเล่นวิดีโอ ให้ตั้งค่าสัดส่วนภาพเพื่อนำแถบดำด้านบนและด้านล่างออก |
เสียงรอบทิศทาง |
ลองรองรับเสียงรอบทิศทาง ซึ่งรวมถึงเสียงที่ล็อกไว้กับแผงหรือเสียงเซอร์ราวด์ |
||
การดูวิดีโอพร้อมกัน |
หากแอปของคุณรองรับสตรีมวิดีโอหลายรายการพร้อมกัน อินเทอร์เฟซผู้ใช้จะแสดงข้อมูลต่อไปนี้อย่างชัดเจน
|
||
สภาพแวดล้อม |
เมื่อเล่นเนื้อหาในโหมดพื้นที่เต็ม แอปของคุณอนุญาตให้ผู้ใช้หรี่โหมดการส่งผ่านหรือเลือกสภาพแวดล้อมเสมือนจริง |