Android XR के लिए ऐप्लिकेशन बनाने के बारे में खास जानकारी

Android XR, Android प्लैटफ़ॉर्म और इकोसिस्टम का एक्सटेंशन है. Android XR SDK को इस तरह से डिज़ाइन किया गया है कि आप Android के जाने-पहचाने फ़्रेमवर्क और टूल का इस्तेमाल करके XR ऐप्लिकेशन बना सकें. इसके अलावा, OpenXR और WebXR जैसे ओपन स्टैंडर्ड का इस्तेमाल करके भी XR ऐप्लिकेशन बनाए जा सकते हैं. Play Store पर जाकर, XR हेडसेट पर काम करने वाले सभी मोबाइल या बड़ी स्क्रीन वाले ऐप्लिकेशन इंस्टॉल किए जा सकेंगे. कंपैटिबिलिटी से जुड़ी बातों को देखें. इससे आपको पता चलेगा कि आपका ऐप्लिकेशन कंपैटिबल है या नहीं.

इस गाइड में, इन विषयों के बारे में बताया गया है:

  • डेवलपमेंट टूल और टेक्नोलॉजी चुनना
  • Android XR के लिए ऐप्लिकेशन डिज़ाइन करना
  • अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल को कॉन्फ़िगर करना
  • ऐप्लिकेशन मेनिफ़ेस्ट के साथ काम करने से जुड़ी बातें
  • Android XR के लिए अनुमतियों के बारे में जानकारी
  • Android XR ऐप्लिकेशन की क्वालिटी की पुष्टि करना
  • Android XR के लिए ऐप्लिकेशन को पैकेज करना और उसे डिस्ट्रिब्यूट करना

अपने डेवलपमेंट टूल और टेक्नोलॉजी चुनें

Android XR के लिए ऐप्लिकेशन बनाते समय, इन डेवलपमेंट प्लैटफ़ॉर्म और टेक्नोलॉजी में से किसी एक को चुना जा सकता है:

Jetpack XR SDK

Jetpack XR SDK में Android XR Jetpack लाइब्रेरी होती हैं. इन्हें XR डिवाइसों की खास सुविधाओं का फ़ायदा लेने के लिए बनाया गया है. अगर आपको इनमें से कोई काम करना है, तो इस SDK टूल का इस्तेमाल करें:

  • Android फ़ोन या टैबलेट पर मौजूद किसी ऐप्लिकेशन को ऑप्टिमाइज़ या बेहतर बनाना
  • Android Studio और Jetpack का इस्तेमाल करके, नया Android XR ऐप्लिकेशन बनाना

अगर आपको Android Jetpack का इस्तेमाल करके ऐप्लिकेशन बनाने में कोई परेशानी नहीं होती है, तो Jetpack XR SDK आपके लिए सबसे सही विकल्प है. इसे उन फ़्रेमवर्क और लाइब्रेरी के साथ आसानी से इंटिग्रेट करने के लिए डिज़ाइन किया गया है. साथ ही, यह आपको इमर्सिव XR अनुभव बनाने के लिए, मौजूदा जानकारी का इस्तेमाल करने की सुविधा देता है.

Jetpack XR SDK टूल की मदद से ऐप्लिकेशन बनाने के बारे में ज़्यादा जानें.

Unity

Unity Engine, रीयल-टाइम 3D डेवलपमेंट इंजन है. इसकी मदद से कलाकार, डिज़ाइनर, और डेवलपर मिलकर, इमर्सिव और इंटरैक्टिव अनुभव बना सकते हैं. Unity में Android XR की सुविधा उपलब्ध है. इससे आपको 3D अनुभव को बेहतर तरीके से कंट्रोल करने में मदद मिलती है. साथ ही, Unity में OpenXR की सुविधा और डेवलपर के लिए उपलब्ध टूल का फ़ायदा मिलता है.

अगर आपने Unity का इस्तेमाल करके पहले से ही कोई XR ऐप्लिकेशन बनाया है या आपको Unity डेवलपमेंट के बारे में जानकारी है, तो इस विकल्प को चुनें.

Android XR के लिए Unity का इस्तेमाल करके ऐप्लिकेशन बनाने के बारे में ज़्यादा जानें.

OpenXR

OpenXR एक ओपन स्टैंडर्ड है. इस पर किसी तरह का शुल्क नहीं लगता. इसका इस्तेमाल, कई प्लैटफ़ॉर्म पर बेहतर परफ़ॉर्मेंस वाले XR अनुभव बनाने के लिए किया जा सकता है. Android XR, OpenXR 1.0 और 1.1 के साथ काम करता है. साथ ही, हम Android XR के लिए नए एक्सटेंशन जोड़कर, इसके स्पेसिफ़िकेशन को बेहतर बना रहे हैं. Android XR को ओपन स्टैंडर्ड के आधार पर बनाया गया है. इसलिए, OpenXR और Android के साथ काम करने वाले डेवलपमेंट टूल, Android XR के साथ भी काम करने चाहिए.

Android XR के लिए OpenXR की सुविधा के बारे में ज़्यादा जानें.

WebXR

WebXR की मदद से, वेब के लिए इमर्सिव अनुभव बनाए जा सकते हैं. यह Android XR पर Chrome जैसे वेब ब्राउज़र पर, वीआर और एआर डिवाइसों को ऐक्सेस करने की सुविधा देता है.

अगर आपको वेब के लिए XR अनुभव बनाना है या किसी वेब ऐप्लिकेशन में XR की सुविधाएं जोड़नी हैं, तो इस विकल्प का इस्तेमाल करें. मौजूदा WebXR अनुभव, Android XR पर भी काम करेंगे.

WebXR की मदद से वेब ऐप्लिकेशन बनाने के बारे में ज़्यादा जानें.

एक्सआर के लिए डिज़ाइन करना

एक्सआर, डिज़ाइन को पारंपरिक फ़्लैट स्क्रीन से आगे ले जाता है. इसकी मदद से, ऐसे बेहतरीन अनुभव डिज़ाइन किए जा सकते हैं जिनमें असल और वर्चुअल दुनिया को एक साथ लाया जाता है. चाहे आपको कोई नया ऐप्लिकेशन बनाना हो या किसी मौजूदा ऐप्लिकेशन में इमर्सिव एलिमेंट जोड़ने हों, Android XR के लिए डिज़ाइन गाइड आपकी मदद कर सकती है.

अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल को कॉन्फ़िगर करना

अन्य Android ऐप्लिकेशन प्रोजेक्ट की तरह, आपके Android XR ऐप्लिकेशन में भी AndroidManifest.xml फ़ाइल होनी चाहिए. इसमें मेनिफ़ेस्ट की खास सेटिंग होनी चाहिए. मेनिफ़ेस्ट फ़ाइल, Android बिल्ड टूल, Android ऑपरेटिंग सिस्टम, और Google Play को आपके ऐप्लिकेशन के बारे में ज़रूरी जानकारी देती है. ज़्यादा जानकारी के लिए, ऐप्लिकेशन मेनिफ़ेस्ट की खास जानकारी वाली गाइड देखें.

XR की सुविधाओं वाले ऐप्लिकेशन के लिए, आपकी मेनिफ़ेस्ट फ़ाइल में ये एलिमेंट और एट्रिब्यूट होने चाहिए:

PROPERTY_XR_ACTIVITY_START_MODE प्रॉपर्टी

android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE" प्रॉपर्टी, सिस्टम को यह जानकारी देती है कि किसी गतिविधि को शुरू करते समय, उसे किसी खास मोड में लॉन्च किया जाना चाहिए.

इस प्रॉपर्टी के लिए, ये तीन वैल्यू इस्तेमाल की जा सकती हैं:

  • 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 की मदद से बनाए गए ऐप्लिकेशन के लिए)

इस स्टार्ट मोड का इस्तेमाल करके, Home Space में अपना ऐप्लिकेशन लॉन्च करें. होम स्पेस में, एक साथ कई ऐप्लिकेशन चलाए जा सकते हैं. इससे लोग एक साथ कई काम कर सकते हैं. मोबाइल या बड़ी स्क्रीन पर चलने वाला कोई भी Android ऐप्लिकेशन, होम स्पेस में काम कर सकता है. साथ ही, Jetpack XR SDK का इस्तेमाल करके बनाए गए XR ऐप्लिकेशन भी होम स्पेस में काम कर सकते हैं.

<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 की मदद से बनाए गए ऐप्लिकेशन के लिए)

इस स्टार्ट मोड का इस्तेमाल करके, अपने ऐप्लिकेशन को फ़ुल स्पेस में लॉन्च करें. फ़ुल स्पेस में, एक बार में सिर्फ़ एक ऐप्लिकेशन चलता है. इसमें स्पेस की कोई सीमा नहीं होती और बाकी सभी ऐप्लिकेशन छिपे होते हैं.


<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 का इस्तेमाल करके बनाए गए ऐप्लिकेशन, फ़ुल स्पेस मोड में लॉन्च होते हैं. साथ ही, उन्हें XR_ACTIVITY_START_MODE_FULL_SPACE_UNMANAGED स्टार्ट मोड का इस्तेमाल करना चाहिए. अनमैनेज्ड फ़ुल स्पेस 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 की सुविधाएं

Google Play Store के ज़रिए ऐप्लिकेशन उपलब्ध कराते समय, ऐप्लिकेशन मेनिफ़ेस्ट में ज़रूरी हार्डवेयर या सॉफ़्टवेयर सुविधाओं के बारे में बताया जा सकता है. uses-feature एलिमेंट की मदद से, Play Store पर लोगों को दिखाए जाने वाले ऐप्लिकेशन को सही तरीके से फ़िल्टर किया जा सकता है.

यहां दी गई सुविधाएं, XR की सुविधा वाले ऐप्लिकेशन के लिए खास तौर पर उपलब्ध हैं.

android.software.xr.api.spatial

Jetpack XR SDK का इस्तेमाल करके बनाए गए ऐप्लिकेशन को, ऐप्लिकेशन मेनिफ़ेस्ट में यह सुविधा शामिल करनी होगी. android:required एट्रिब्यूट के लिए सेट की गई वैल्यू, आपके ऐप्लिकेशन के रिलीज़ ट्रैक पर निर्भर करती है.

अगर आपके ऐप्लिकेशन बंडलों में, 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 की मदद से बनाए गए ऐप्लिकेशन के लिए, ऐप्लिकेशन मेनिफ़ेस्ट में यह सुविधा शामिल करना ज़रूरी है. साथ ही, android:required एट्रिब्यूट को true पर सेट करना ज़रूरी है.

Android XR Extensions Package for Unity के 1.0.0 या इसके बाद के वर्शन या Unity OpenXR: Android XR Package के 0.5.0-exp.1 या इसके बाद के वर्शन का इस्तेमाल करने वाले ऐप्लिकेशन को, ऐप्लिकेशन मेनिफ़ेस्ट में इस एलिमेंट को मैन्युअल तरीके से जोड़ने की ज़रूरत नहीं है. ये दोनों पैकेज, इस एलिमेंट को आपके ऐप्लिकेशन मेनिफ़ेस्ट में जोड़ देंगे.

डिवाइस इस सुविधा के लिए कोई वर्शन तय कर सकते हैं. इससे पता चलता है कि डिवाइस पर 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" />

मोबाइल और बड़ी स्क्रीन वाले ऐप्लिकेशन के लिए, ऐप्लिकेशन मेनिफ़ेस्ट की ज़रूरी शर्तें

XR ऐप्लिकेशन के लिए PackageManager की सुविधाएं सेक्शन में बताया गया है कि ऐप्लिकेशन, किसी सुविधा का इस्तेमाल करने का एलान करते हैं. इसके लिए, वे ऐप्लिकेशन मेनिफ़ेस्ट में <uses-feature> एलिमेंट का इस्तेमाल करते हैं. ऐसा हो सकता है कि टेलीफ़ोनी या जीपीएस जैसी कुछ सुविधाएं, सभी डिवाइसों के साथ काम न करें.

ये सुविधाएं, Google Play Books के साथ काम नहीं करतीं

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

नियर फ़ील्ड कम्यूनिकेशन

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

वर्चुअल रिएलिटी (लेगसी)

android.hardware.vr.headtracking

android.hardware.vr.high_performance

android.software.vr.mode

विजेट

android.software.app_widgets

XR के लिए अनुमतियों के बारे में जानकारी

मोबाइल डिवाइसों और अन्य डिवाइसों के साइज़, डाइमेंशन या कॉन्फ़िगरेशन के हिसाब से बनाए गए ऐप्लिकेशन की तरह ही, XR ऐप्लिकेशन की कुछ सुविधाओं के लिए, आपके ऐप्लिकेशन को AndroidManifest फ़ाइल में अनुमतियां देनी पड़ सकती हैं. खतरनाक लेवल की अनुमतियों के मामले में, आपके ऐप्लिकेशन को रनटाइम अनुमतियों का अनुरोध करना पड़ सकता है. ज़्यादा जानकारी के लिए, Android पर अनुमतियां और अनुमति से जुड़े सबसे सही तरीके पढ़ें.

XR ऐप्लिकेशन, यहां दी गई अनुमतियों का इस्तेमाल कर सकते हैं. इस सेक्शन में दी गई सभी अनुमतियों को खतरनाक अनुमतियां माना जाता है. इसलिए, आपको अपने ऐप्लिकेशन मेनिफ़ेस्ट में इनके बारे में बताना होगा और रनटाइम में इनके लिए अनुरोध करना होगा.

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, Google Play के ज़रिए एक्सआर हेडसेट पर कई तरह के ऐप्लिकेशन और अनुभव उपलब्ध कराता है. Android XR के लिए ऐप्लिकेशन पैकेज करने और उन्हें डिस्ट्रिब्यूट करने से जुड़ी गाइड में, आपको Play Store और Play Console का इस्तेमाल शुरू करने, पब्लिशिंग ट्रैक, Android ऐप्लिकेशन बंडल तैयार करने, और ऐप्लिकेशन के साइज़ से जुड़ी पाबंदियों के बारे में जानकारी मिलेगी.


OpenXR™ और OpenXR लोगो, The Khronos Group Inc. के ट्रेडमार्क हैं. इन्हें चीन, यूरोपियन यूनियन, जापान, और यूनाइटेड किंगडम में ट्रेडमार्क के तौर पर रजिस्टर किया गया है.