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>
พร็อพเพอร์ตี้ PROPERTY_XR_BOUNDARY_TYPE_RECOMMENDED
พร็อพเพอร์ตี้ 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.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.level.full
การเชื่อมต่อ
android.hardware.ipsec_tunnel_migration
การกำหนดค่าอุปกรณ์
การกำหนดค่ารูปแบบของอุปกรณ์
android.hardware.type.automotive
android.hardware.type.embedded
android.hardware.type.television
android.software.leanback_only
อินพุต
android.software.input_methods
ตำแหน่ง
Near Field Communication
การกำหนดค่าการรักษาความปลอดภัยและฮาร์ดแวร์
android.hardware.se.omapi.uicc
android.hardware.biometrics.face
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.relative_humidity
android.hardware.sensor.stepcounter
android.hardware.sensor.stepdetector
การกำหนดค่าซอฟต์แวร์
android.software.connectionservice
android.software.expanded_picture_in_picture
android.software.live_wallpaper
android.software.picture_in_picture
android.software.wallet_location_based_suggestions
โทรศัพท์
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
Virtual Reality (เดิม)
android.hardware.vr.headtracking
android.hardware.vr.high_performance
วิดเจ็ต
ทำความเข้าใจสิทธิ์สำหรับ 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
ติดตามและแสดงสีหน้า
android.permission.HAND_TRACKING
ติดตามท่าทางของข้อต่อมือ รวมถึงความเร็วเชิงมุมและความเร็วเชิงเส้น และใช้การแสดงผลแบบเมชของมือผู้ใช้
Jetpack XR SDK
ส่วนขยาย OpenXR
ฟีเจอร์ของ Unity
android.permission.SCENE_UNDERSTANDING_COARSE
การประมาณแสง การฉายภาพพาสทรูไปยังพื้นผิวตาข่าย การส่งรังสี เทียบกับวัตถุที่ติดตามได้ในสภาพแวดล้อม การติดตามระนาบ การติดตามวัตถุ สมอแบบถาวร
Jetpack XR SDK
ส่วนขยาย OpenXR
ฟีเจอร์ของ Unity
android.permission.SCENE_UNDERSTANDING_FINE
พื้นผิวความลึก
ยืนยันคุณภาพแอป 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. และจดทะเบียนเป็นเครื่องหมายการค้าในจีน สหภาพยุโรป ญี่ปุ่น และสหราชอาณาจักร