ภาพรวมการสร้างสำหรับ Android XR

Android XR เป็นส่วนขยายของแพลตฟอร์มและระบบนิเวศของ Android Android XR SDK ออกแบบมาเพื่อให้คุณสร้างแอป XR โดยใช้เฟรมเวิร์กและเครื่องมือ Android ที่คุ้นเคย หรือใช้มาตรฐานเปิด เช่น OpenXR และ WebXR แอปบนอุปกรณ์เคลื่อนที่หรือแอปบนหน้าจอขนาดใหญ่ที่เข้ากันได้ทั้งหมดจะพร้อมให้ติดตั้งในชุดหูฟัง XR จาก Play Store อ่านข้อควรพิจารณาเกี่ยวกับความเข้ากันได้เพื่อดูว่าแอปของคุณเข้ากันได้หรือไม่

คู่มือนี้จะอธิบายในส่วนต่อไปนี้

  • การเลือกเครื่องมือและเทคโนโลยีในการพัฒนา
  • การออกแบบแอปสำหรับ Android XR
  • การกำหนดค่าไฟล์ Manifest ของแอป
  • ข้อควรพิจารณาเกี่ยวกับความเข้ากันได้ของไฟล์ Manifest ของแอป
  • ทำความเข้าใจสิทธิ์สำหรับ Android XR
  • การยืนยันคุณภาพของแอป Android XR
  • การรวมแพ็กเกจและการจัดจำหน่ายแอปสำหรับ Android XR

เลือกเครื่องมือและเทคโนโลยีการพัฒนา

เมื่อสร้างแอปสำหรับ Android XR คุณสามารถเลือกแพลตฟอร์มและเทคโนโลยีการพัฒนาต่อไปนี้

Jetpack XR SDK

Jetpack XR SDK มีไลบรารี Jetpack ของ Android XR ที่สร้างขึ้น เพื่อใช้ประโยชน์จากความสามารถเฉพาะตัวของอุปกรณ์ XR เริ่มต้นด้วย SDK นี้ หากต้องการทำสิ่งต่อไปนี้

  • เพิ่มประสิทธิภาพหรือปรับปรุงแอป Android บนอุปกรณ์เคลื่อนที่หรือแท็บเล็ตที่มีอยู่
  • สร้างแอป Android XR ใหม่โดยใช้ Android Studio และ Jetpack

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาด้วย Jetpack XR SDK

Unity

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

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการพัฒนาด้วย Unity สำหรับ Android XR

OpenXR

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการรองรับ OpenXR สำหรับ Android XR

WebXR

WebXR ช่วยให้คุณสร้างประสบการณ์สมจริงสำหรับเว็บได้ โดยจะให้สิทธิ์เข้าถึงอุปกรณ์ VR และ AR ในเว็บเบราว์เซอร์ที่รองรับ เช่น Chrome ใน Android XR

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

ดูข้อมูลเพิ่มเติมเกี่ยวกับการสร้างเว็บแอปด้วย WebXR

ออกแบบสำหรับ XR

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

กำหนดค่าไฟล์ Manifest ของแอป

เช่นเดียวกับโปรเจ็กต์แอป Android อื่นๆ แอป Android XR ต้องมีไฟล์ AndroidManifest.xml ที่มีการตั้งค่าไฟล์ Manifest ที่เฉพาะเจาะจง ไฟล์ Manifest อธิบายข้อมูลสำคัญเกี่ยวกับแอปของคุณให้เครื่องมือบิลด์ Android, ระบบปฏิบัติการ Android และ Google Play ดูข้อมูลเพิ่มเติมได้ที่คู่มือภาพรวมไฟล์ Manifest ของแอป

สำหรับแอป XR ที่แตกต่าง ไฟล์ Manifest ต้องมีองค์ประกอบและแอตทริบิวต์ต่อไปนี้

พร็อพเพอร์ตี้ PROPERTY_XR_ACTIVITY_START_MODE

android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE" พร็อพเพอร์ตี้ ช่วยให้ระบบทราบว่าควรเปิดใช้กิจกรรมในโหมดใดเมื่อ เริ่มกิจกรรม

พร็อพเพอร์ตี้นี้มีค่าที่เป็นไปได้ 3 ค่า ดังนี้

  • XR_ACTIVITY_START_MODE_HOME_SPACE (Jetpack XR SDK เท่านั้น)
  • XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED (Jetpack XR SDK เท่านั้น)
  • XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED (OpenXR เท่านั้น)

XR_ACTIVITY_START_MODE_HOME_SPACE

(แอปที่สร้างด้วย Jetpack XR SDK เท่านั้น)

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

<manifest ... >

   <application ... >
       <property
           android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
           android:value="XR_ACTIVITY_START_MODE_HOME_SPACE" />
       <activity
           android:name="com.example.myapp.MainActivity" ... >

           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>
</manifest>

XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED

(แอปที่สร้างด้วย Jetpack XR SDK เท่านั้น)

ใช้โหมดเริ่มต้นนี้เพื่อเปิดแอปใน Full Space ในพื้นที่เต็มหน้าจอ จะมีเพียงแอปเดียวที่ทำงานในแต่ละครั้งโดยไม่มีขอบเขตของพื้นที่ และระบบจะซ่อนแอปอื่นๆ ทั้งหมด


<manifest ... >

   <application ... >
       <property
           android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
           android:value="XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED" />
       <activity
           android:name="com.example.myapp.MainActivity" ... >

           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>
</manifest>

XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED

(แอปที่สร้างด้วย OpenXR เท่านั้น)

แอปที่สร้างด้วย OpenXR จะเปิดตัวใน Full Space และต้องใช้ XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED start mode Full Space ที่ไม่มีการจัดการ จะส่งสัญญาณไปยัง Android XR ว่าแอปใช้ OpenXR


<manifest ... >

   <application ... >
       <property
           android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
           android:value="XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED" />
       <activity
           android:name="com.example.myapp.MainActivity" ... >

           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
   </application>
</manifest>

พร็อพเพอร์ตี้ android:name="android.window.PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED" ระบุว่าควรเปิดแอปพลิเคชันด้วยขอบเขตประเภทหนึ่งๆ แอปของคุณต้องระบุ XR_BOUNDARY_TYPE_LARGE หากออกแบบมาเพื่อให้ผู้ใช้เคลื่อนที่ไปรอบๆ พื้นที่จริง การระบุ XR_BOUNDARY_TYPE_NO_RECOMMENDATION จะไม่ให้คำแนะนำสำหรับ ประเภทขอบเขตความปลอดภัย ดังนั้นระบบจะใช้ประเภทที่ใช้อยู่แล้ว

<manifest ... >

   <application ... >
       <property
           android:name="android.window.PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED"
           android:value="XR_BOUNDARY_TYPE_LARGE" />
   </application>
</manifest>

<uses-native-library> OpenXR

(แอปที่สร้างด้วย OpenXR เท่านั้น)

แอปพลิเคชัน OpenXR ต้องประกาศการใช้ไลบรารี OpenXR แบบเนทีฟเพื่อ โหลดรันไทม์ได้สำเร็จ หากไม่มีการประกาศนี้ รันไทม์จะโหลดไม่สำเร็จ

<manifest ... >

    <application ... >

    <uses-native-library andro id:name="libopenxr.google.so" android:required="false" />

       <activity
           android:name="com.example.myapp.MainActivity" ... >

           <intent-filter>
               <action android:name="android.intent.action.MAIN" />

               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
        </activity>
    </application>
</manifest>

ฟีเจอร์ PackageManager สำหรับแอป XR

เมื่อเผยแพร่แอปผ่าน Google Play Store คุณจะระบุฟีเจอร์ฮาร์ดแวร์หรือซอฟต์แวร์ที่จำเป็นในไฟล์ Manifest ของแอปได้ องค์ประกอบ uses-feature ช่วยให้ Play Store กรองแอปที่แสดงต่อผู้ใช้ได้อย่างเหมาะสม

ฟีเจอร์ต่อไปนี้เป็นฟีเจอร์เฉพาะสำหรับแอปที่แยกความแตกต่างของ XR

android.software.xr.api.spatial

แอปที่สร้างโดยใช้ Jetpack XR SDK ต้องมีฟีเจอร์นี้ในไฟล์ Manifest ของแอป ค่าที่คุณตั้งสำหรับแอตทริบิวต์ android:required จะขึ้นอยู่กับแทร็กการเผยแพร่ของแอป

หาก App Bundle มีฟีเจอร์หรือเนื้อหาที่แตกต่างกันสำหรับ XR ใน APK ของอุปกรณ์เคลื่อนที่ที่มีอยู่ และเผยแพร่ในแทร็กการเผยแพร่บนอุปกรณ์เคลื่อนที่ ให้ตั้งค่าแอตทริบิวต์ android:required เป็น false ดังนี้

<!-- If you are publishing an existing mobile APK using the mobile release track, set android:required to false.-->
<uses-feature android:name="android.software.xr.api.spatial" android:required="false" />

หากแอปสร้างขึ้นสำหรับอุปกรณ์ที่เปิดใช้ XR โดยเฉพาะและเผยแพร่ไปยัง การติดตามการเผยแพร่สำหรับ Android XR โดยเฉพาะ ให้ตั้งค่าแอตทริบิวต์ android:required เป็น true

<!-- If you are publishing a separate APK for XR using the dedicated Android XR release track, set android:required to true.-->
<uses-feature android:name="android.software.xr.api.spatial" android:required="true" />

android.software.xr.api.openxr

แอปที่กำหนดเป้าหมายเป็นแพลตฟอร์ม Android XR และสร้างด้วย OpenXR หรือ Unity ต้อง รวมฟีเจอร์นี้ไว้ในไฟล์ Manifest ของแอปโดยตั้งค่าแอตทริบิวต์ android:required เป็น true

แอปที่ใช้ Android XR Extensions Package สำหรับ Unity เวอร์ชัน 1.0.0 ขึ้นไปหรือ Unity OpenXR: Android XR Package เวอร์ชัน 0.5.0-exp.1 ขึ้นไปไม่จำเป็นต้องเพิ่มองค์ประกอบนี้ลงในไฟล์ Manifest ของแอปด้วยตนเอง แพ็กเกจทั้ง 2 รายการนี้จะแทรกองค์ประกอบนี้ลงในไฟล์ Manifest ของแอปให้คุณ

อุปกรณ์อาจระบุเวอร์ชันสำหรับฟีเจอร์นี้ ซึ่งบ่งบอกถึงเวอร์ชันสูงสุดของ OpenXR ที่อุปกรณ์รองรับ บิต 16 บิตบนแสดงถึง หมายเลขหลัก และบิต 16 บิตล่างแสดงถึงหมายเลขย่อย เช่น หากต้องการระบุ OpenXR เวอร์ชัน 1.1 ให้ตั้งค่าเป็น "0x00010001"

แอปสามารถใช้เวอร์ชันฟีเจอร์เพื่อระบุ OpenXR เวอร์ชันขั้นต่ำที่แอปต้องการได้ ตัวอย่างเช่น หากแอปของคุณต้องรองรับ OpenXR เวอร์ชัน 1.1 ให้ประกาศฟีเจอร์ต่อไปนี้

<uses-feature android:name="android.software.xr.api.openxr"
    android:version="0x00010001"
    android:required="true" />

android.hardware.xr.input.controller

ฟีเจอร์นี้ระบุว่าแอปต้องใช้ข้อมูลจากตัวควบคุมการเคลื่อนไหว 6DoF (องศาอิสระ) ที่มีความแม่นยำสูงเพื่อให้ทำงานได้อย่างถูกต้อง หากแอป รองรับคอนโทรลเลอร์และทำงานไม่ได้หากไม่มีคอนโทรลเลอร์ ให้ตั้งค่าเป็น true หากแอปของคุณรองรับคอนโทรลเลอร์แต่ใช้งานได้โดยไม่ต้องใช้คอนโทรลเลอร์ ให้ตั้งค่าเป็น false

<!-- Sets android:required to true, indicating that your app can't function on devices without controllers. -->
<uses-feature android:name="android.hardware.xr.input.controller" android:required="true" />

android.hardware.xr.input.hand_tracking

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

<!-- Sets android:required to true, indicating that your app can't function on devices without hand tracking. -->
<uses-feature android:name="android.hardware.xr.input.hand_tracking" android:required="true" />

android.hardware.xr.input.eye_tracking

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

<!-- Sets android:required to true, indicating that your app can't function on devices without eye tracking. -->
<uses-feature android:name="android.hardware.xr.input.eye_tracking" android:required="true" />

ข้อควรพิจารณาเกี่ยวกับความเข้ากันได้ของไฟล์ Manifest ของแอปสำหรับแอปบนอุปกรณ์เคลื่อนที่และแอปบนหน้าจอขนาดใหญ่

ตามที่อธิบายไว้ในส่วนฟีเจอร์ PackageManager สำหรับแอป XR แอป ประกาศว่าใช้ฟีเจอร์โดยประกาศในองค์ประกอบ <uses-feature> ในไฟล์ Manifest ของแอป ฟีเจอร์บางอย่าง เช่น โทรศัพท์หรือ GPS อาจไม่ รองรับอุปกรณ์บางรุ่น

ฟีเจอร์ที่ไม่รองรับ

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

ฮาร์ดแวร์ของกล้อง

android.hardware.camera.ar

android.hardware.camera.autofocus

android.hardware.camera.capability.manual_post_processing

android.hardware.camera.capability.manual_sensor

android.hardware.camera.capability.raw

android.hardware.camera.concurrent

android.hardware.camera.external

android.hardware.camera.flash

android.hardware.camera.level.full

การเชื่อมต่อ

android.hardware.ethernet

android.hardware.uwb

android.hardware.ipsec_tunnel_migration

การกำหนดค่าอุปกรณ์

android.hardware.ram.low

การกำหนดค่ารูปแบบของอุปกรณ์

android.hardware.type.automotive

android.hardware.type.embedded

android.hardware.type.pc

android.hardware.type.television

android.hardware.type.watch

android.software.leanback

android.software.leanback_only

android.software.live_tv

อินพุต

android.hardware.consumerir

android.software.input_methods

ตำแหน่ง

android.hardware.location.gps

Near Field Communication

android.hardware.nfc

android.hardware.nfc.ese

android.hardware.nfc.hce

android.hardware.nfc.hcef

android.hardware.nfc.uicc

android.hardware.nfc.beam

การกำหนดค่าการรักษาความปลอดภัยและฮาร์ดแวร์

android.hardware.se.omapi.ese

android.hardware.se.omapi.sd

android.hardware.se.omapi.uicc

android.hardware.biometrics.face

android.hardware.fingerprint

android.hardware.identity_credential

android.hardware.identity_credential_direct_access

android.hardware.keystore.limited_use_key

android.hardware.keystore.single_use_key

android.hardware.strongbox_keystore

เซ็นเซอร์

android.hardware.sensor.accelerometer_limited_axes

android.hardware.sensor.accelerometer_limited_axes_uncalibrated

android.hardware.sensor.ambient_temperature

android.hardware.sensor.barometer

android.hardware.sensor.gyroscope_limited_axes

android.hardware.sensor.gyroscope_limited_axes_uncalibrated

android.hardware.sensor.heading

android.hardware.sensor.heartrate

android.hardware.sensor.heartrate.ecg

android.hardware.sensor.hinge_angle

android.hardware.sensor.light

android.hardware.sensor.relative_humidity

android.hardware.sensor.stepcounter

android.hardware.sensor.stepdetector

การกำหนดค่าซอฟต์แวร์

android.software.backup

android.software.connectionservice

android.software.expanded_picture_in_picture

android.software.live_wallpaper

android.software.picture_in_picture

android.software.telecom

android.software.wallet_location_based_suggestions

โทรศัพท์

android.hardware.telephony

android.hardware.telephony.calling

android.hardware.telephony.cdma

android.hardware.telephony.data

android.hardware.telephony.euicc

android.hardware.telephony.euicc.mep

android.hardware.telephony.gsm

android.hardware.telephony.ims

android.hardware.telephony.mbms

android.hardware.telephony.messaging

android.hardware.telephony.radio.access

android.hardware.telephony.subscription

android.software.sip

android.software.sip.voip

Virtual Reality (เดิม)

android.hardware.vr.headtracking

android.hardware.vr.high_performance

android.software.vr.mode

วิดเจ็ต

android.software.app_widgets

ทำความเข้าใจสิทธิ์สำหรับ XR

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

แอป XR อาจใช้สิทธิ์ต่อไปนี้ สิทธิ์ทั้งหมดในส่วนนี้ถือเป็นสิทธิ์ที่อันตราย ดังนั้นคุณต้องประกาศสิทธิ์เหล่านั้นในไฟล์ Manifest ของแอปและขอสิทธิ์เหล่านั้นในรันไทม์

android.permission.EYE_TRACKING_COARSE

แสดงท่าทาง สถานะ และการวางแนวของดวงตาผู้ใช้ เช่น สำหรับใช้กับอวตาร ใช้สิทธิ์นี้เมื่อต้องการข้อมูลการติดตามดวงตาที่มีความแม่นยำต่ำ

Jetpack XR SDK

ไม่มี

ส่วนขยาย OpenXR

ฟีเจอร์ของ Unity

android.permission.EYE_TRACKING_FINE

การมองตาเพื่อเลือก ป้อนข้อมูล และโต้ตอบ

Jetpack XR SDK

ไม่มี

ส่วนขยาย OpenXR

ฟีเจอร์ของ Unity

android.permission.FACE_TRACKING

ติดตามและแสดงสีหน้า

Jetpack XR SDK

ไม่มี

ส่วนขยาย OpenXR

ฟีเจอร์ของ Unity

android.permission.HAND_TRACKING

ติดตามท่าทางของข้อต่อมือ รวมถึงความเร็วเชิงมุมและความเร็วเชิงเส้น และใช้การแสดงผลแบบเมชของมือผู้ใช้

android.permission.SCENE_UNDERSTANDING_COARSE

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

android.permission.SCENE_UNDERSTANDING_FINE

พื้นผิวความลึก

Jetpack XR SDK

ไม่มี

ส่วนขยาย OpenXR

ฟีเจอร์ของ Unity

ยืนยันคุณภาพแอป Android XR

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

รวมแพ็กเกจและเผยแพร่แอปสำหรับ Android XR

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


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