Android XR के लिए ऐप्लिकेशन की क्वालिटी के दिशा-निर्देश

कंपैटिबिलिटी टीयर की परिभाषाएं

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

चेकलिस्ट और जांच से, ज़्यादातर Android ऐप्लिकेशन की क्वालिटी से जुड़ी ज़रूरी शर्तों के बारे में पूरी जानकारी मिलती है.

Android XR के साथ काम करने वाला मोबाइल ऐप्लिकेशन

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

इस तरह का ऐप्लिकेशन, उपयोगकर्ता के एनवायरमेंट में पैनल पर फ़ुल स्क्रीन में चलता है. हालांकि, हो सकता है कि बड़े साइज़ में इसका लेआउट सही न हो. मेनिफ़ेस्ट में कॉम्पैक्ट साइज़ की जानकारी देने वाले ऐप्लिकेशन, उसी हिसाब से दिखते हैं. ऐप्लिकेशन, कंपैटिबिलिटी मोड में नहीं चलता और इसलिए, इसमें लेटरबॉक्स नहीं होता. इस ऐप्लिकेशन में, 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 की सुविधाओं का ज़्यादा से ज़्यादा फ़ायदा लिया जा सकता है. साथ ही, अपने ऐप्लिकेशन में एक्सआर कॉन्टेंट (जैसे, 3D वीडियो) और एक्सआर सुविधाएं (जैसे, स्पेस पैनल) जोड़कर, उन्हें दूसरे ऐप्लिकेशन से अलग बनाया जा सकता है. इसके लिए, Android Jetpack XR SDK, Unity या OpenXR का इस्तेमाल करके ऐप्लिकेशन डेवलप करें.

XR से जुड़ी सुविधाएं देने के लिए, Jetpack XR SDK टूल का इस्तेमाल किया जा सकता है. इन सुविधाओं में स्पेस पैनल, एनवायरमेंट, 3D मॉडल, स्पेस ऑडियो, 3D / स्पेस वाला वीडियो / फ़ोटो, ऐंकर, और ऑर्बिटर जैसे अन्य स्पेस यूज़र इंटरफ़ेस (यूआई) शामिल हैं.

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

Unity या OpenXR की मदद से बनाए गए सभी ऐप्लिकेशन को अलग माना जाता है. Unity या OpenXR की मदद से बनाए गए ऐप्लिकेशन को Android XR के हिसाब से अलग माना जा सकता है. इसके लिए, क्वालिटी मेट्रिक और कम से कम ज़रूरी शर्तों को पूरा करना ज़रूरी है. उदाहरण के लिए, कम फ़्रेम रेट, क्रैश या उपयोगकर्ताओं को मिलने वाले अन्य खराब अनुभव वाले ऐप्लिकेशन को मंज़ूरी नहीं दी जाएगी.

Android XR के साथ काम करने से जुड़ी चेकलिस्ट

काम करने की शर्तों की इन चेकलिस्ट में, शर्तें तय की गई हैं. इनसे आपको यह पता लगाने में मदद मिलती है कि आपका ऐप्लिकेशन, XR के लिए किस लेवल की सहायता देता है. सहायता के लेवल में ये शामिल हैं:

Android XR के साथ काम करने वाला मोबाइल ऐप्लिकेशन

आपका ऐप्लिकेशन, ऐप्लिकेशन की मुख्य क्वालिटी से जुड़ी ज़रूरी शर्तों को पूरा करता हो.

आपका ऐप्लिकेशन, फ़ोन और टैबलेट जैसे अन्य डिवाइसों के लिए, सभी ऐक्सेसibilitY दिशा-निर्देशों का पालन भी करना चाहिए. उदाहरण के लिए, कलर कॉन्ट्रास्ट.

Android XR के साथ काम करने वाला, बड़ी स्क्रीन वाला ऐप्लिकेशन

बड़ी स्क्रीन वाले टीयर 1 या टीयर 2 ऐप्लिकेशन को, Android XR के साथ काम करने वाला बड़ी स्क्रीन ऐप्लिकेशन माना जाता है. बड़ी स्क्रीन वाले ऐप्लिकेशन की क्वालिटी के दिशा-निर्देश, Android XR पर बेहतर अनुभव देने के लिए एक व्यवस्थित तरीका देते हैं. हालांकि, डिवाइस की स्थिति के हिसाब से, ऐप्लिकेशन को घुमाने या फ़ोल्ड करने/अनफ़ोल्ड करने की ज़रूरत नहीं होती. इसी तरह, Android XR में स्टाइलस की सुविधा भी शामिल नहीं है.

Android XR के लिए अलग से बनाया गया ऐप्लिकेशन

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

ऐप्लिकेशन का टाइप / इस्तेमाल का उदाहरण

कैटगरी

एरिया

सलाह

सामान्य बुनियादी ज़रूरी शर्त (Android और OpenXR)

निजता और सुरक्षा

खाते में साइन इन करना (पहली बार इस्तेमाल करने वाले लोगों के लिए यूज़र एक्सपीरियंस)

अगर आपके ऐप्लिकेशन में लॉगिन सिस्टम का इस्तेमाल किया जाता है, तो पुष्टि हो जाने के बाद उपयोगकर्ता के लॉगिन क्रेडेंशियल (उदाहरण के लिए, उनके उपयोगकर्ता नाम के क्रेडेंशियल) साफ़ तौर पर दिखाएं. इससे, चालू खाते की पुष्टि करके, लोगों का भरोसा बढ़ता है. इसके अलावा, आसानी से ऐक्सेस किया जा सकने वाला मेन्यू या सेटिंग पेज जोड़ें. इससे उपयोगकर्ता, अपने खाते की जानकारी को किसी भी समय देख और मैनेज कर सकते हैं.

सुरक्षा और आराम

स्ट्रोबिंग

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

जान-बूझकर ऐसे डिज़ाइन एलिमेंट शामिल करने से बचें जिनसे स्ट्रोबिंग हो सकती है.

1. अगर स्ट्रोबिंग इफ़ेक्ट ज़रूरी है, तो पक्का करें कि फ़्लैश करने की दर बहुत कम हो (हर सेकंड में तीन फ़्लैश से कम). साथ ही, फ़्लैश करने वाला हिस्सा छोटा और ज़्यादा ध्यान न खींचने वाला हो.

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 या इससे बड़ा साइज़ इस्तेमाल करना बेहतर होता है.

एक्सआर की तकनीकी सुविधाएं

हाथ से इनपुट

आपका ऐप्लिकेशन, Android XR के लिए इंटरैक्शन के बेसलाइन तरीके के तौर पर, हाथ से किए जाने वाले नैचुरल इनपुट के साथ काम करता है. इसमें हाथ से रेकास्ट करने की ज़रूरी शर्तें और इनपुट प्राइमिटिव के लिए जेस्चर की सुविधा शामिल है.

आपका ऐप्लिकेशन, कंट्रोलर के बिना भी खेला जा सकता है या इस्तेमाल किया जा सकता है. हालांकि, अगर आप चाहें, तो कंट्रोलर का इस्तेमाल करके उसे बेहतर बनाया जा सकता है.

Boundary (पहले इसे Guardian कहा जाता था)

अगर आपका ऐप्लिकेशन, उपयोगकर्ताओं को उनके शुरुआती पॉइंट (ऐप्लिकेशन लॉन्च होने पर) से उनके फ़िज़िकल स्पेस में घूमने की अनुमति देता है, तो वह पासथ्रू का अनुरोध करता है या मेनिफ़ेस्ट में PROPERTY_ACTIVITY_XR_BOUNDARY_TYPE_RECOMMENDED = XR_BOUNDARY_TYPE_LARGE का एलान करता है.

अगर आपका ऐप्लिकेशन XR_BOUNDARY_TYPE_LARGE का इस्तेमाल करता है, तो यह बॉर्डर के बिना पूरी तरह से चलाया जा सकता है. हालांकि, यह 2.0 मीटर के दायरे में ही चलाया जा सकता है. ध्यान दें, बॉर्डर पासथ्रू 1.5 मीटर के दायरे में फ़ेड इन होने लगता है.

परफ़ॉर्मेंस

रेंडरिंग

आपका ऐप्लिकेशन हर फ़्रेम को 11.1 मिलीसेकंड (90 हर्ट्ज़) से 13.8 मिलीसेकंड (72 हर्ट्ज़) के बीच रेंडर करता है.

रिज़ॉल्यूशन

आपके ऐप्लिकेशन का रिज़ॉल्यूशन, हर आंख के लिए कम से कम 2364 x 2880 होना चाहिए.

ऐप्लिकेशन स्टार्टअप समय

उपयोगकर्ता आपके ऐप्लिकेशन या गेम के साथ जल्द से जल्द इंटरैक्ट करना चाहते हैं. ऐप्लिकेशन के शुरू होने या लोड होने में लगने वाले समय की कैटगरी के हिसाब से अलग-अलग होती है. हालांकि, हमारा सुझाव है कि ऐप्लिकेशन लॉन्च होने और उससे पहली बार इंटरैक्ट करने के बीच का समय कम से कम हो.

टारगेट की अवधि यहां देखें:

  • औसत कोल्ड स्टार्ट: दो सेकंड से कम
  • औसत वॉर्म स्टार्ट: एक सेकंड से कम

ज़्यादा जानकारी के लिए, ऐप्लिकेशन के स्टार्टअप में लगने वाला समय देखें.

ANRs

आपका ऐप्लिकेशन क्रैश न हो या यूज़र इंटरफ़ेस (यूआई) थ्रेड को ब्लॉक न करे, जिसकी वजह से एएनआर ("Android काम नहीं कर रहा है") वाली गड़बड़ियां होती हैं.

आपके ऐप्लिकेशन में, हर दिन के 99.5% सेशन में एक से कम ANR (ऐप्लिकेशन से प्रतिक्रिया न मिलना) हैं.

आपका ऐप्लिकेशन, Google Play की लॉन्च से पहले की रिपोर्ट का इस्तेमाल करके, ऐप्लिकेशन के काम करने में आने वाली संभावित समस्याओं का पता लगाता है. डिप्लॉयमेंट के बाद, Google Play कंसोल में Android की ज़रूरी जानकारी वाले पेज पर ध्यान दें.

क्रैश रेट

सिस्टम के अन्य ऐप्लिकेशन पर असर डालने वाले सिस्टम संसाधनों का ज़्यादा इस्तेमाल न करें. साथ ही, क्रैश रेट को ~1% पर रखें.

Android ऐप्लिकेशन का बेसलाइन (XR के हिसाब से अलग-अलग)

विज़ुअल और उपयोगकर्ता अनुभव

बुनियादी एक्सआर

आपके ऐप्लिकेशन में, उपयोगकर्ता अनुभव को बेहतर बनाने के लिए, XR से जुड़ी कम से कम एक सुविधा या XR से जुड़ा कॉन्टेंट शामिल है. इसमें ऑर्बिटर, एक या उससे ज़्यादा स्पेस पैनल, एनवायरमेंट या 3D ऑब्जेक्ट शामिल हो सकते हैं.

स्पेस पैनल

पैनल की मदद से एक साथ कई काम करने पर, अलग-अलग स्पेस पैनल बनाएं. उदाहरण के लिए, चैट विंडो और सूचियों के लिए अलग-अलग स्पेस पैनल बनाए जा सकते हैं.

एनवायरनमेंट

वर्चुअल एनवायरमेंट दिखाते समय, स्क्रीन की चमक से ध्यान भटक सकता है और थकान महसूस हो सकती है. आपके ऐप्लिकेशन में टोन की सुरक्षित रेंज मौजूद है. साथ ही, इसमें ब्राइटनेस में कोई ऐसा उतार-चढ़ाव नहीं है जो यूज़र इंटरफ़ेस (यूआई) के साथ मेल न खाता हो या जिससे लोगों को थकान महसूस हो. यूज़र इंटरफ़ेस (यूआई) सभी दिशाओं में साफ़-साफ़ दिखता है. खास तौर पर, उपयोगकर्ता की नज़र के बीच के हॉरिज़ॉन्टल बैंड में. (ज़्यादा जानकारी वाले दिशा-निर्देश आने वाले समय में लिंक किए जाएंगे)

होम स्पेस (एचएसएम) और फ़ुल स्पेस (एफ़एसएम) के बीच ट्रांज़िशन करना

उपयोगकर्ताओं को फ़ुल स्पेस पर ले जाते समय, आपके ऐप्लिकेशन में एक एंट्री पॉइंट होता है. इससे उपयोगकर्ता, होम स्पेस और फ़ुल स्पेस के बीच तुरंत ट्रांज़िशन कर सकते हैं. आइकॉन या लेबल का इस्तेमाल करें और बटन को ऐसी जगह पर रखें जहां उसे आसानी से ऐक्सेस किया जा सके.

स्पेस पैनल

मेन्यू, एसेट, और कंट्रोल को किसी खास पैनल या ऑर्बिटर में रखें. बदलाव करने वाले मुख्य पैनल में इन कॉम्पोनेंट को शामिल न करें.

मेन्यू / सूची को स्क्रोल करना

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

वीडियो / मीडिया से जुड़ी सुविधाएं

विज़ुअल और उपयोगकर्ता अनुभव

Spatial Player (सिर्फ़ Android के लिए)

आपका ऐप्लिकेशन, लोगों को फ़ुल स्क्रीन में कॉन्टेंट देखने की सुविधा देता हो.

कॉन्टेंट के ऊपर मौजूद ओवरले से, वीडियो चलाने के कंट्रोल हटाएं. इसके बजाय, उन्हें किसी खास पैनल या ऑर्बिटर में रखें.

वीडियो चलाने वाले पैनल के लिए, आसपेक्ट रेशियो सेट करें, ताकि लेटर बॉक्सिंग हटाई जा सके.

स्पेशल ऑडियो

पैनल-लॉक किए गए ऑडियो या सराउंड साउंड के साथ-साथ, स्पेशल ऑडियो की सुविधा उपलब्ध कराएं.

एक साथ वीडियो देखना

अगर आपका ऐप्लिकेशन एक साथ कई वीडियो स्ट्रीम करने की सुविधा देता है, तो यूज़र इंटरफ़ेस में यह जानकारी साफ़ तौर पर दिखती है:

  • कौनसी वीडियो स्ट्रीम ऑडियो आउटपुट दे रही हैं
  • प्लेबैक कंट्रोल का किस वीडियो स्ट्रीम पर असर पड़ता है

पर्यावरण

फ़ुल स्पेस में कॉन्टेंट चलाने पर, आपका ऐप्लिकेशन उपयोगकर्ताओं को पासथ्रू को मंद करने या वर्चुअल एनवायरमेंट चुनने की अनुमति देता है.