Oculus Quest 2 पर PWA

Oculus Quest 2, वर्चुअल रिएलिटी (वीआर) हेडसेट है. इसे Meta की एक डिवीज़न, Oculus ने बनाया है. डेवलपर अब 2D और 3D प्रोग्रेसिव वेब ऐप्लिकेशन (PWA) बना सकते हैं और उन्हें डिस्ट्रिब्यूट कर सकते हैं. ये ऐप्लिकेशन, Oculus Quest 2 की मल्टीटास्किंग सुविधा का फ़ायदा उठाते हैं.

Oculus Quest 2

Oculus Quest 2, वर्चुअल रिएलिटी (वीआर) हेडसेट है. इसे Meta की एक डिवीज़न, Oculus ने बनाया है. यह कंपनी के पिछले हेडसेट, Oculus Quest का अपग्रेड किया गया वर्शन है. यह डिवाइस, स्टैंडअलोन हेडसेट के तौर पर काम कर सकता है. इसमें Android पर आधारित ऑपरेटिंग सिस्टम होता है. साथ ही, इसे यूएसबी या वाई-फ़ाई से कनेक्ट करने पर, डेस्कटॉप कंप्यूटर पर चलने वाले Oculus के साथ काम करने वाले वीआर सॉफ़्टवेयर के साथ भी इस्तेमाल किया जा सकता है. इसमें Qualcomm Snapdragon XR2 सिस्टम ऑन अ चिप का इस्तेमाल किया गया है. साथ ही, इसमें 6 जीबी रैम है. Quest 2 का डिसप्ले, एक फ़ास्ट-स्विच एलसीडी पैनल है. इसमें हर आंख के लिए 1,832 × 1,920 पिक्सल का रिज़ॉल्यूशन होता है. साथ ही, यह 120 हर्ट्ज़ तक के रीफ़्रेश रेट पर काम करता है.

Oculus Quest 2 डिवाइस और कंट्रोलर.

Oculus Browser

फ़िलहाल, Oculus Quest 2 के लिए तीन ब्राउज़र उपलब्ध हैं: Wolvic, जो Firefox Reality का नया वर्शन है. इसके अलावा, Oculus Browser भी उपलब्ध है. इस लेख में, बाद वाले विकल्प के बारे में बताया गया है. Oculus की वेबसाइट पर, Oculus Browser के बारे में यह जानकारी दी गई है.

"Oculus Browser, वेब स्टैंडर्ड और अन्य टेक्नोलॉजी के साथ काम करता है. इससे आपको वेब पर VR अनुभव बनाने में मदद मिलती है. आज की 2D वेबसाइटें, Oculus Browser में बहुत अच्छी तरह से काम करती हैं. ऐसा इसलिए, क्योंकि यह Chromium रेंडरिंग इंजन पर काम करता है. इसे Oculus हेडसेट के लिए और भी बेहतर बनाया गया है, ताकि सबसे अच्छी परफ़ॉर्मेंस मिल सके. साथ ही, वेब डेवलपर नए एपीआई, जैसे कि WebXR की मदद से वीआर की पूरी क्षमता का फ़ायदा ले सकें. WebXR की मदद से, हम वेब की अगली सीमा के लिए दरवाज़े खोल रहे हैं."

Oculus Browser में तीन ब्राउज़र विंडो खुली हुई हैं.

उपयोगकर्ता एजेंट

लिखते समय ब्राउज़र की उपयोगकर्ता एजेंट स्ट्रिंग यहां दी गई है.

Mozilla/5.0 (X11; Linux x86_64; Quest 2)
AppleWebKit/537.36 (KHTML, like Gecko)
OculusBrowser/18.1.0.2.46.337441587
SamsungBrowser/4.0
Chrome/95.0.4638.74
VR
Safari/537.36

जैसा कि आप देख सकते हैं, Oculus Browser का मौजूदा वर्शन 18.1.0.2.46.337441587, Chrome 95.0.4638.74 पर आधारित है. यह Chrome के मौजूदा स्टेबल वर्शन से सिर्फ़ एक वर्शन पीछे है. Chrome का मौजूदा स्टेबल वर्शन 96.0.4664.110 है. अगर उपयोगकर्ता मोबाइल मोड पर स्विच करता है, तो VR बदलकर Mobile VR हो जाता है.

Oculus Browser की जानकारी वाला पेज.

यूज़र इंटरफ़ेस

ब्राउज़र के यूज़र इंटरफ़ेस (ऊपर दिखाया गया है) में ये सुविधाएं हैं (बाईं से दाईं ओर सबसे ऊपर वाली लाइन):

  • 'वापस जाएं' बटन
  • 'फिर से लोड करें' बटन
  • साइट जानकारी
  • यूआरएल बार
  • बुकमार्क बनाने का बटन
  • ज़ूम करने की सुविधा के साथ-साथ, छोटा, सामान्य, और बड़ा करने के विकल्प वाला बटन
  • मोबाइल वेबसाइट का अनुरोध करें बटन
  • मेन्यू बटन में ये विकल्प होते हैं:
    • निजी मोड में जाना
    • सभी टैब बंद करें
    • सेटिंग
    • बुकमार्क
    • डाउनलोड किए गए वीडियो
    • इतिहास
    • ब्राउज़िंग डेटा मिटाएं

सबसे नीचे वाली लाइन में ये सुविधाएं शामिल हैं:

  • 'बंद करें' बटन
  • छोटा करें बटन
  • तीन बिंदु वाला बटन, जिसमें पीछे जाएं, आगे बढ़ें, और फिर से लोड करें के विकल्प होते हैं

रीफ़्रेश रेट और डिवाइस पिक्सल का अनुपात

Oculus Quest 2 के लिए, Oculus Browser 2D वेब पेज कॉन्टेंट और WebXR, दोनों को 90 हर्ट्ज़ की रीफ़्रेश दर पर रेंडर करता है. फ़ुलस्क्रीन मोड में मीडिया देखते समय, Oculus Browser डिवाइस के रीफ़्रेश रेट को वीडियो के फ़्रेम रेट के हिसाब से ऑप्टिमाइज़ करता है. उदाहरण के लिए, 24 फ़्रेम प्रति सेकंड. Oculus Quest 2 में, टेक्स्ट को साफ़ तौर पर दिखाने के लिए डिवाइस पिक्सल रेशियो 1.5 है.

Oculus Browser और Oculus Store में PWA

28 अक्टूबर, 2021 को Meta (Oculus) के प्रॉडक्ट मैनेजमेंट लीड जेकब रॉसी ने बताया कि Oculus Quest और Oculus Quest 2 पर PWA उपलब्ध होंगे. यहां, Oculus पर PWA के अनुभव के बारे में बताया गया है. साथ ही, Oculus Quest 2 पर PWA बनाने, साइडलोड करने, और उसकी जांच करने का तरीका बताया गया है.

स्टेट शेयर करने की सुविधा

लॉगिन की स्थिति को Oculus Browser और PWA के बीच शेयर किया जाता है. इससे उपयोगकर्ता, इन दोनों के बीच आसानी से स्विच कर पाते हैं. Facebook Login की सुविधा, डिफ़ॉल्ट रूप से उपलब्ध होती है. Oculus Browser में एक पासवर्ड मैनेजर शामिल होता है. इसकी मदद से लोग, ब्राउज़र और इंस्टॉल किए गए ऐप्लिकेशन के बीच अपने पासवर्ड को सुरक्षित तरीके से सेव और शेयर कर सकते हैं.

PWA की विंडो के साइज़

उपयोगकर्ता, ब्राउज़र विंडो और इंस्टॉल किए गए PWA की विंडो का साइज़ अपनी पसंद के मुताबिक बदल सकता है. इसकी ऊंचाई 625 पिक्सल से 1,200 पिक्सल के बीच हो सकती है. चौड़ाई को 400 पिक्सल से 2,000 पिक्सल के बीच सेट किया जा सकता है. डिफ़ॉल्ट डाइमेंशन 1,000 × 625 पिक्सल होते हैं.

PWA के साथ इंटरैक्ट करना

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

PWAs के लिए अनुमतियां

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

कई अनुमतियां लागू की गई हैं, लेकिन सभी सुविधाएँ काम नहीं करती हैं. उदाहरण के लिए, जियोलोकेशन की अनुमति का अनुरोध करने पर, अनुमति मिल जाती है. हालांकि, डिवाइस को कभी भी जगह की जानकारी नहीं मिलती. इसी तरह, WebHID, Web Bluetooth जैसे अलग-अलग हार्डवेयर एपीआई, सुविधा की पहचान करने की प्रोसेस को पूरा करते हैं. हालांकि, ये ऐसा पिकर नहीं दिखाते जिससे उपयोगकर्ता, Oculus को किसी हार्डवेयर डिवाइस के साथ पेयर कर सके. मेरा मानना है कि ब्राउज़र के बेहतर होने के बाद, एपीआई की सुविधा का पता लगाने की क्षमता बेहतर हो जाएगी.

Oculus Browser में अनुमतियां.

Chrome DevTools की मदद से PWAs को डीबग करना

डेवलपर मोड चालू करने के बाद, Oculus Quest 2 पर PWA को डीबग करने का तरीका वही है जो Android डिवाइसों को रिमोट से डीबग करना लेख में बताया गया है.

  1. Oculus डिवाइस पर, Oculus Browser में जाकर अपनी पसंद की साइट ब्राउज़ करें.
  2. अपने कंप्यूटर पर Google Chrome लॉन्च करें और chrome://inspect/#devices पर जाएं.
  3. उस Oculus डिवाइस को ढूंढें जिसके बारे में आपको जानकारी चाहिए. इसके बाद, आपको Oculus Browser के उन टैब का सेट दिखेगा जो फ़िलहाल डिवाइस पर खुले हैं.
  4. Oculus Browser के जिस टैब की जांच करनी है उस पर जांच करें पर क्लिक करें.

Chrome DevTools की मदद से, Oculus Quest 2 पर चल रहे ऐप्लिकेशन की जांच करना.

ऐप्लिकेशन को खोजने लायक बनाना

लोग PWAs को खोजने के लिए, ब्राउज़र या Oculus Store का इस्तेमाल कर सकते हैं. किसी अन्य ब्राउज़र की तरह ही, इंस्टॉल किए गए PWA भी Oculus Browser में टैब में चलने वाली वेबसाइटों के तौर पर काम करते हैं. जब कोई व्यक्ति किसी साइट पर जाता है, तो Oculus Browser उसे ऐप्लिकेशन ढूंढने में मदद करेगा. हालांकि, ऐसा सिर्फ़ तब होगा, जब वह ऐप्लिकेशन Oculus Store में उपलब्ध हो. जिन लोगों ने पहले से ही ऐप्लिकेशन इंस्टॉल किया हुआ है, Oculus Browser उन्हें आसानी से ऐप्लिकेशन पर स्विच करने में मदद करेगा.

Oculus Browser में, उपयोगकर्ता को MyEmail ऐप्लिकेशन इंस्टॉल करने का न्योता देने वाला प्रॉम्प्ट दिखाया गया है.

Oculus Quest 2 पर उपलब्ध बेहतरीन PWA

Meta के पीडब्ल्यूए

Meta के कई डिवीज़न ने Oculus Quest 2 के लिए PWA बनाए हैं. उदाहरण के लिए, Instagram और Facebook. ये PWA, स्टैंडअलोन ऐप्लिकेशन विंडो में चलते हैं. इनमें यूआरएल बार नहीं होता और इनका साइज़ बदला जा सकता है.

Facebook Oculus Quest 2 ऐप्लिकेशन.

Oculus Quest 2 के लिए Instagram ऐप्लिकेशन

अन्य डेवलपर के बनाए गए PWA

इस लेख को लिखते समय, Oculus Store पर Oculus Quest 2 के लिए कुछ ही PWA उपलब्ध थे. हालांकि, इनकी संख्या लगातार बढ़ रही है. Spike की मदद से, उपयोगकर्ता अपने इनबॉक्स में मौजूद ईमेल, चैट, कॉल, नोट, टास्क, और काम की सूची जैसे सभी ज़रूरी टूल का इस्तेमाल कर सकते हैं. ये टूल, Spike ऐप्लिकेशन में मौजूद वर्चुअल एनवायरमेंट हब में उपलब्ध होते हैं.

Spike Oculus Quest 2 ऐप्लिकेशन.

एक और उदाहरण Smartsheet है. यह एक डाइनैमिक वर्कस्पेस है. यह प्रोजेक्ट मैनेजमेंट, ऑटोमेटेड वर्कफ़्लो, और नए समाधानों को तेज़ी से बनाने की सुविधा देता है.

Slack, Dropbox या Canva जैसे और भी PWA उपलब्ध कराए जाएंगे. इस बारे में, जैकब रॉसी के साथ एक वीडियो में जानकारी दी गई थी. यह वीडियो, 2021 में Facebook के Connect कॉन्फ़्रेंस के दौरान रिलीज़ किया गया था.

Oculus के लिए PWA बनाना

Meta ने अपने दस्तावेज़ में, ज़रूरी चरणों के बारे में बताया है. आम तौर पर, Chrome में इंस्टॉल किए जा सकने वाले PWA, Oculus पर बिना किसी बदलाव के काम करते हैं.

वेब ऐप्लिकेशन मेनिफ़ेस्ट से जुड़ी ज़रूरी शर्तें

Chrome में ऐप्लिकेशन इंस्टॉल करने से जुड़ी ज़रूरी शर्तों और वेब ऐप्लिकेशन मेनिफ़ेस्ट स्पेसिफ़िकेशन की तुलना में, इनमें कुछ अहम अंतर हैं. उदाहरण के लिए, फ़िलहाल Oculus सिर्फ़ बाएँ से दाएँ पढ़ी जाने वाली भाषाओं के साथ काम करता है. वहीं, वेब ऐप्लिकेशन मेनिफ़ेस्ट स्पेसिफ़िकेशन में ऐसी कोई पाबंदी नहीं है. एक और उदाहरण start_url है. Chrome पर किसी ऐप्लिकेशन को इंस्टॉल करने के लिए, इसकी ज़रूरत होती है. हालांकि, Oculus पर इसकी ज़रूरत नहीं होती. Oculus, कमांड लाइन टूल उपलब्ध कराता है. इसकी मदद से डेवलपर, Oculus Quest 2 के लिए PWA बना सकते हैं. इससे वे Web App Manifest में मौजूद पैरामीटर को पास कर सकते हैं या मौजूदा पैरामीटर को बदल सकते हैं.

नाम ब्यौरा
name (ज़रूरी है) PWA का नाम. फ़िलहाल, Oculus में नाम के लिए सिर्फ़ उन भाषाओं का इस्तेमाल किया जा सकता है जिनमें टेक्स्ट को बाईं से दाईं ओर लिखा जाता है.
display (ज़रूरी है) "standalone" या "minimal-ui" में से कोई एक. फ़िलहाल, Oculus के लिए कोई अन्य वैल्यू इस्तेमाल नहीं की जा सकती.
short_name (ज़रूरी है) अगर ज़रूरत हो, तो ऐप्लिकेशन के नाम का छोटा वर्शन.
scope (ज़रूरी नहीं) वे यूआरएल या पाथ जिन्हें ऐप्लिकेशन का हिस्सा माना जाना चाहिए.
start_url (वैकल्पिक) ऐप्लिकेशन लॉन्च होने पर दिखने वाला यूआरएल.

Oculus में, वेब ऐप्लिकेशन मेनिफ़ेस्ट के कई मालिकाना हक वाले फ़ील्ड होते हैं. इनका इस्तेमाल, PWA के अनुभव को पसंद के मुताबिक बनाने के लिए किया जा सकता है.

नाम ब्यौरा
ovr_package_name (ज़रूरी नहीं) इससे PWA के लिए जनरेट किए गए APK का पैकेज नाम सेट किया जाता है. यह रिवर्स डोमेन नेम नोटेशन में होना चाहिए. उदाहरण के लिए, "com.company.app.pwa". अगर इसे सेट नहीं किया जाता है, तो डेवलपर को कमांड लाइन टूल के लिए पैकेज का नाम देना होगा. इसके लिए, उन्हें --package-name पैरामीटर का इस्तेमाल करना होगा.
ovr_multi_tab_enabled (ज़रूरी नहीं) अगर true है, तो यह बूलियन फ़ील्ड, PWA को Oculus Browser जैसा टैब बार देगा. एक से ज़्यादा टैब वाले PWA में, नए टैब (target="_new" या target="_blank") को टारगेट करने वाले इंटरनल लिंक, PWA विंडो में नए टैब में खुलेंगे. यह सिंगल-टैब वाले PWA से अलग है. इनमें ऐसे लिंक, Oculus Browser विंडो में खुलते हैं. फ़िलहाल, इस सुविधा को टैब किए गए ऐप्लिकेशन मोड के तौर पर स्टैंडर्ड किया जा रहा है.
ovr_scope_extensions (ज़रूरी नहीं) इससे किसी PWA को वेब ऐप्लिकेशन के स्कोप में ज़्यादा वेब पेज शामिल करने की अनुमति मिलती है. इसमें एक JSON डिक्शनरी होती है. इसमें एक्सटेंशन के यूआरएल या वाइल्डकार्ड पैटर्न शामिल होते हैं. फ़िलहाल, इस सुविधा को वेब ऐप्लिकेशन के लिए स्कोप एक्सटेंशन के तौर पर स्टैंडर्ड किया जा रहा है.

Bubblewrap CLI की मदद से PWA पैकेज करना

Bubblewrap, Node.js के लिए ओपन सोर्स लाइब्रेरी और कमांड लाइन टूल (सीएलआई) का एक सेट है. Bubblewrap को Google Chrome टीम ने बनाया है. इससे डेवलपर को Android प्रोजेक्ट जनरेट करने, बनाने, और साइन करने में मदद मिलती है. यह प्रोजेक्ट, आपके PWA को भरोसेमंद वेब गतिविधि (टीडब्ल्यूए) के तौर पर लॉन्च करता है.

फ़िलहाल, Meta Quest Browser में टीडब्ल्यूए पूरी तरह से काम नहीं करता. हालांकि, Bubblewrap के 1.18.0 वर्शन से, Meta Quest डिवाइसों के लिए PWAs को पैकेज करने की सुविधा उपलब्ध है.

यह यूनिवर्सल APK फ़ाइलें जनरेट कर सकता है. ये फ़ाइलें, सामान्य Android डिवाइसों पर TWA और Meta Quest डिवाइसों पर Meta Quest Browser खोलती हैं.

अगर आपने Node.js इंस्टॉल किया है, तो Bubblewrap CLI को इस निर्देश की मदद से इंस्टॉल किया जा सकता है:

npm i -g @bubblewrap/cli

Bubblewrap को पहली बार चलाने पर, यह ज़रूरी बाहरी डिपेंडेंसी—Java Development Kit (JDK) और Android SDK Build Tools को अपने-आप डाउनलोड और इंस्टॉल करने का विकल्प देगा.

Meta Quest के साथ काम करने वाला Android प्रोजेक्ट जनरेट करने के लिए, init कमांड को --metaquest फ़्लैग के साथ चलाएं और विज़र्ड में दिए गए निर्देशों का पालन करें:

bubblewrap init --manifest="https://your.web.app/manifest.json" --metaquest

प्रोजेक्ट जनरेट होने के बाद, उसे बनाएं और साइन करें. इसके लिए, यह कमांड चलाएं:

bubblewrap build

इससे app-release-signed.apk नाम की फ़ाइल जनरेट होगी. इस फ़ाइल को डिवाइस पर इंस्टॉल किया जा सकता है. इसके अलावा, इसे Meta Quest Store, Google Play Store या Android ऐप्लिकेशन डिस्ट्रिब्यूशन के किसी अन्य प्लैटफ़ॉर्म पर पब्लिश किया जा सकता है.

Oculus Platform Utility की मदद से PWA पैकेज करना

Oculus Platform Utility, Meta का आधिकारिक कमांड लाइन टूल है. इसे Oculus Rift और Meta Quest डिवाइसों के लिए ऐप्लिकेशन पब्लिश करने के लिए बनाया गया है.

यह create-pwa कमांड की मदद से, Meta Quest डिवाइसों के लिए पीडब्ल्यूए को पैकेज करने और उन्हें Meta Quest Store और App Lab पर पब्लिश करने की सुविधा भी देता है.

-o पैरामीटर की मदद से, आउटपुट फ़ाइल का नाम सेट करें. साथ ही, --android-sdk पैरामीटर की मदद से, Android SDK का पाथ सेट करें.

--web-manifest-url पैरामीटर का इस्तेमाल करके, टूल को वेब ऐप्लिकेशन मेनिफ़ेस्ट के लाइव यूआरएल पर पॉइंट करें.

अगर आपके लाइव PWA पर मेनिफ़ेस्ट मौजूद नहीं है या आपको लाइव मेनिफ़ेस्ट को बदलना है, तो भी आपके पास अपने PWA के लिए APK जनरेट करने का विकल्प है. इसके लिए, आपको स्थानीय मेनिफ़ेस्ट फ़ाइल और --manifest-content-file पैरामीटर का इस्तेमाल करना होगा.

मेनिफ़ेस्ट को ज़्यादा से ज़्यादा साफ़-सुथरा रखने के लिए, --package-name पैरामीटर का इस्तेमाल करें. इसकी वैल्यू को रिवर्स डोमेन नेम नोटेशन में रखें. उदाहरण के लिए, com.company.app.pwa. इसके बजाय, मेनिफ़ेस्ट में मालिकाना हक वाला ovr_package_name फ़ील्ड न जोड़ें.

ovr-platform-util create-pwa -o output.apk --android-sdk ~/bin/android-10 --manifest-content-file manifest.json --package-name com.company.app.pwa

PWABuilder की मदद से PWA को पैकेज करना

लेखकों के हिसाब से, PWABuilder का इस्तेमाल करना सबसे आसान है. इसलिए, फ़िलहाल Meta Quest के लिए PWAs को पैकेज करने का यही तरीका सुझाया जाता है.

PWABuilder, Microsoft का बनाया गया ओपन सोर्स प्रोजेक्ट है. इसकी मदद से डेवलपर, अपने PWA को पैकेज कर सकते हैं और उन पर हस्ताक्षर कर सकते हैं. ऐसा इसलिए किया जाता है, ताकि उन्हें Microsoft Store, Google Play Store, App Store, और Meta Quest Store जैसे अलग-अलग स्टोर पर पब्लिश किया जा सके.

PWABuilder की मदद से PWA को पैकेज करना उतना ही आसान है जितना किसी PWA का यूआरएल डालना, ऐप्लिकेशन के लिए मेटाडेटा डालना/बदलना, और जनरेट करें बटन पर क्लिक करना.

PWABuilder, डेवलपर को यह चुनने का विकल्प देता है कि Meta Quest डिवाइसों के लिए PWAs को पैकेज करने के लिए, पर्दे के पीछे किस टूल का इस्तेमाल किया जाए.

Oculus Platform Utility का इस्तेमाल करने के लिए, Meta Quest विकल्प चुनें.

PWABuilder के पैकेजिंग विकल्प.

Bubblewrap का इस्तेमाल करने के लिए, Android विकल्प चुनें. इसके बाद, Meta Quest के साथ काम करने वाला चेकबॉक्स चुनें.

Bubblewrap का इस्तेमाल करके, PWABuilder के साथ पीडब्ल्यूए को पैकेज करना.

ADB की मदद से PWA इंस्टॉल करना

APK फ़ाइल बनाने के बाद, इसे यूएसबी या वाई-फ़ाई के ज़रिए ADB का इस्तेमाल करके, Meta Quest डिवाइस पर साइडलोड किया जा सकता है:

adb install app-release-signed.apk

अगर PWAs को पैकेज करने के लिए Bubblewrap CLI का इस्तेमाल किया जाता है, तो यह APK फ़ाइल को साइडलोड करने के लिए, सुविधाजनक एलियास कमांड उपलब्ध कराता है:

bubblewrap install

साइडलोड किए गए ऐप्लिकेशन, ऐप्लिकेशन ड्रॉअर में अज्ञात सोर्स सेक्शन में दिखते हैं.

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

Oculus Store पर PWA अपलोड करने और सबमिट करने के बारे में, Oculus Developer Center के दस्तावेज़ों में पूरी जानकारी दी गई है.

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

एक से ज़्यादा टैब वाले ऐप्लिकेशन की टेस्टिंग

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

ovr-platform-util create-pwa -o test.apk --android-skd ~/bin/android-10 --web-manifest-url https://tomayac.github.io/oculus-pwa-test/manifest.json --package-name com.example.pwa
adb install test.apk

यहां टेस्ट ऐप्लिकेशन का स्क्रीनकास्ट दिया गया है.

SVGcode का Oculus वर्शन

मैंने निर्देशों को आज़माने के लिए, अपने सबसे नए PWA SVGcode का Oculus वर्शन बनाया. नतीजे के तौर पर मिली APK फ़ाइल output.apk को मेरी Google Drive से डाउनलोड किया जा सकता है. अगर आपको पैकेज की और जांच करनी है, तो मेरे पास डीकंपाइल किया गया वर्शन भी है. बनाने के निर्देश package.json में दिए गए हैं.

Oculus पर ऐप्लिकेशन का इस्तेमाल ठीक से किया जा सकता है. इसमें फ़ाइलें खोलने और सेव करने की सुविधा भी शामिल है. Oculus Browser, File System Access API के साथ काम नहीं करता. हालांकि, फ़ॉलबैक अप्रोच से मदद मिलती है. सिर्फ़ पिंच करके ज़ूम करने की सुविधा काम नहीं कर रही थी. मुझे उम्मीद थी कि दोनों कंट्रोलर पर ट्रिगर बटन दबाने के बाद, कंट्रोलर को विपरीत दिशाओं में घुमाने से यह काम करेगा. इसके अलावा, बाकी सभी चीज़ें अच्छी तरह से काम कर रही थीं और तेज़ी से जवाब दे रही थीं. इसे एम्बेड किए गए स्क्रीनकास्ट में देखा जा सकता है.

इमर्सिव 3D WebXR PWA

Oculus Quest पर PWA की सुविधा, सिर्फ़ 2D ऐप्लिकेशन के लिए उपलब्ध नहीं है. डेवलपर, WebXR API का इस्तेमाल करके वीआर के लिए इमर्सिव 3D अनुभव बना सकते हैं.

क्या आपको यह जानना है कि VR में अलग-अलग प्रॉम्प्ट (PWA इंस्टॉल करना, अनुमति के अनुरोध, सूचनाएं) कैसे हैंडल किए जाते हैं?

यहां Immersive Web Working Group के WebXR Tests में शामिल, User Agent Prompts test का स्क्रीनकास्ट दिया गया है.

जैसा कि आप देख सकते हैं, वीआर मोड में जाने के लिए उपयोगकर्ता की अनुमति ज़रूरी है. हर ऑरिजिन के लिए, अनुमति सिर्फ़ एक बार मांगी जाती है. अनुमतियों का अनुरोध करने पर, इमर्सिव मोड बंद हो जाता है. फ़िलहाल, सूचनाएं पाने की सुविधा उपलब्ध नहीं है.

हाथ ट्रैक करने की सुविधा

WebXR Hand Input API और Meta के एआई पर आधारित हैंड-ट्रैकिंग सिस्टम की मदद से, इमर्सिव मोड में PWAs के साथ इंटरैक्ट करने के लिए हाथों का इस्तेमाल किया जा सकता है.

यहां Immersive Web Working Group के WebXR Samples से लिए गए Hand Tracking Sample का स्क्रीनकास्ट दिया गया है.

ऑगमेंटेड/मिक्स्ड रिएलिटी (पासथ्रू)

Meta Connect 2022 में यह एलान किया गया था कि Meta Quest Browser, Meta Quest 2 और Meta Quest Pro डिवाइसों पर WebXR ऑगमेंटेड रिएलिटी (एआर) के साथ-साथ मिक्स्ड रिएलिटी (एमआर) की सुविधा उपलब्ध कराएगा.

आइए, ऑगमेंटेड रिएलिटी के लिए, स्केल किए गए मॉडल और छिपे हुए आसमान और प्लेन के साथ, थोड़ा बदला गया A-Frame स्टार्टर उदाहरण देखें.

A-Frame एक ओपन सोर्स वेब फ़्रेमवर्क है. इसकी मदद से, 3D/VR/AR अनुभव बनाए जा सकते हैं. ये अनुभव, पूरी तरह से डिक्लेरेटिव और फिर से इस्तेमाल किए जा सकने वाले कस्टम एचटीएमएल एलिमेंट से बने होते हैं. इन्हें पढ़ना, समझना, और कॉपी करके चिपकाना आसान होता है.

यहां Meta Quest 2 पर इस डेमो का स्क्रीनकास्ट दिया गया है.

Meta Quest 2 में मोनोक्रोम कैमरे होते हैं. इसलिए, पासथ्रू मोड में दिखने वाली इमेज ग्रेस्केल में होती है. वहीं, Meta Quest Pro में कलर कैमरे होते हैं.

मीटिंग में सामने आए नतीजे

Oculus Quest 2 पर PWA का इस्तेमाल करना बहुत मज़ेदार और फ़ायदेमंद है. अनंत वर्चुअल कैनवस की मदद से, उपयोगकर्ता अपनी स्क्रीन को मौजूदा टास्क के हिसाब से स्केल कर सकते हैं. इससे आने वाले समय में, हमारे काम करने के तरीके में काफ़ी बदलाव हो सकता है. वीआर में हाथ के मूवमेंट को ट्रैक करने की सुविधा का इस्तेमाल करके टाइप करना अभी शुरुआती दौर में है. कम से कम मेरे लिए, यह सुविधा अब भी ठीक से काम नहीं करती. हालांकि, यूआरएल डालने या छोटे टेक्स्ट टाइप करने के लिए, यह सुविधा ठीक से काम करती है.

मुझे Oculus Quest 2 पर पीडब्ल्यूए के बारे में सबसे ज़्यादा यह पसंद है कि ये सामान्य पीडब्ल्यूए होते हैं. इनका इस्तेमाल, ब्राउज़र टैब में बिना किसी बदलाव के किया जा सकता है. इसके अलावा, इन्हें किसी प्लैटफ़ॉर्म के हिसाब से बनाए गए एपीआई के बिना, थिन APK रैपर के ज़रिए भी इस्तेमाल किया जा सकता है. एक ही कोड से कई प्लैटफ़ॉर्म को टारगेट करना अब और भी आसान हो गया है. वेब पर वीआर और एआर में PWAs का इस्तेमाल करें. आने वाला समय शानदार है!

Acknowledgements

Oculus Quest 2 की फ़ोटो, Maximilian Prandstätter ने Flickr पर शेयर की है. Oculus Store में Instagram, Facebook, Oculus Browser, और Spike ऐप्लिकेशन की इमेज. साथ ही, ऐप्लिकेशन ढूंढने की सुविधा का इलस्ट्रेशन और हाथों के मूवमेंट को ट्रैक करने की सुविधा का ऐनिमेशन. ये सभी Meta ने उपलब्ध कराए हैं. यह हीरो इमेज, अर्नौ मारिन आई पुइग ने बनाई है. इस पोस्ट की समीक्षा जो मेडली ने की है.