कैसे करें

Jetpack XR SDK की मदद से, Androidify को XR पर उपलब्ध कराना

9 मिनट में पढ़ें
Dereck Bridie
डेवलपर रिलेशंस इंजीनियर

Samsung Galaxy XR लॉन्च हो गया है. यह Android XR पर काम करता है! यह ब्लॉग पोस्ट, Android XR Spotlight Week का हिस्सा है. इसमें हम आपको कई संसाधन उपलब्ध कराते हैं. जैसे, ब्लॉग पोस्ट, वीडियो, सैंपल कोड वगैरह. ये सभी संसाधन, Android XR के लिए ऐप्लिकेशन बनाने, उन्हें तैयार करने, और उनके बारे में जानने में आपकी मदद करने के लिए डिज़ाइन किए गए हैं.

Samsung Galaxy XR लॉन्च होने के साथ , Android XR की सुविधा वाला पहला डिवाइस आधिकारिक तौर पर उपलब्ध हो गया है. अब लोग, Play Store पर मौजूद अपने कई पसंदीदा ऐप्लिकेशन को एक नए डाइमेंशन में इस्तेमाल कर सकते हैं: 3D!

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

इस ब्लॉग पोस्ट में, हम आपको अपनी यात्रा के बारे में बताएंगे. हमने अपने पसंदीदा Androidify ऐप्लिकेशन को एक्सआर पर उपलब्ध कराया है. साथ ही, हम आपको यह भी बताएंगे कि अपने ऐप्लिकेशन को एक्सआर पर उपलब्ध कराने के लिए, आपको क्या-क्या करना होगा.

Androidify के बारे में जानकारी

Androidify एक ओपन सोर्स ऐप्लिकेशन है. इसकी मदद से, Android बॉट बनाए जा सकते हैं. इसके लिए, Gemini, CameraX, Navigation 3, और Jetpack Compose जैसी नई टेक्नोलॉजी का इस्तेमाल किया जाता है. Androidify को शुरुआत में फ़ोन, फ़ोल्ड किए जा सकने वाले डिवाइसों, और टैबलेट पर शानदार लुक देने के लिए डिज़ाइन किया गया था. इसके लिए, अडैप्टिव लेआउट बनाए गए थे.

customize.png

Androidify, अलग-अलग साइज़ या कॉन्फ़िगरेशन वाले डिवाइसों पर शानदार दिखता है

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

customize_2.png

Androidify, कोड में कोई बदलाव किए बिना, बड़ी स्क्रीन के लिए रिस्पॉन्सिव लेआउट का इस्तेमाल करके, XR के हिसाब से अडजस्ट हो जाता है

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

XR में खुद को ओरिएंट करना

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

homespace.png
होम स्पेस में मौजूद ऐप्लिकेशन
homespace2.png
फ़ुल स्पेस में मौजूद ऐप्लिकेशन

होम स्पेस में, एक साथ कई ऐप्लिकेशन चलाए जा सकते हैं, ताकि उपयोगकर्ता अलग-अलग विंडो में एक साथ कई काम कर सकें. इस तरह से, यह बड़ी स्क्रीन वाले Android डिवाइस पर डेस्कटॉप विंडोइंग की सुविधा की तरह ही है. हालांकि, यह वर्चुअल स्पेस में काम करती है!

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

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

Androidify के नए डाइमेंशन के लिए डिज़ाइन करना

बेहतरीन डिज़ाइन से ही एक शानदार ऐप्लिकेशन बनता है. Android DevRel की सीनियर डिज़ाइन एडवोकेट आइवी नाइट ने, Androidify के मौजूदा डिज़ाइन को एक्सआर के लिए नए डिज़ाइन में बदलने का काम किया. आइवी, इसे हटाओ!

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

होम स्पेस से डिज़ाइन शुरू करना

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

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

फ़ुल स्पेस मोड में ज़्यादा से ज़्यादा लोगों को शामिल करने के लिए डिज़ाइन करना

फ़ुल स्पेस सबसे बड़ा बदलाव था. हालांकि, इससे हमें अपने डिज़ाइन को अडैप्ट करने के लिए सबसे ज़्यादा क्रिएटिव स्पेस मिला. 

tablet_to_xr.webp
टैबलेट से एक्सआर पर स्विच करना

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

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

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

ऐप्लिकेशन को स्पेशल बनाने के लिए डिज़ाइन से जुड़ी अन्य सलाह

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

XR यूज़र इंटरफ़ेस (यूआई) के डिज़ाइन पैटर्न के बारे में ज़्यादा जानने के लिए, Android Developers पर Android XR के लिए डिज़ाइन करना लेख पढ़ें.

स्पेशल यूज़र इंटरफ़ेस (यूआई) की बुनियादी बातें

अब जब हमने Ivy के अनुभव के बारे में जान लिया है कि उन्होंने XR के लिए Androidify को डिज़ाइन करते समय, अपने माइंडसेट को कैसे बदला, तो आइए अब स्पेशल यूज़र इंटरफ़ेस (यूआई) डेवलप करने के बारे में बात करते हैं. अगर आपने Android के नए टूल और लाइब्रेरी का इस्तेमाल किया है, तो आपको Jetpack XR SDK की मदद से स्पेशल यूज़र इंटरफ़ेस (यूआई) बनाने में कोई परेशानी नहीं होगी. आपको ऐसे कॉन्सेप्ट मिलेंगे जिनके बारे में आपको पहले से पता है. जैसे, कंपोज़ की मदद से लेआउट बनाना. असल में, स्पेसियल लेआउट, लाइनों, कॉलम, और स्पेसर का इस्तेमाल करने वाले 2D लेआउट से काफ़ी मिलते-जुलते होते हैं:

spatialrows.png

इन एलिमेंट को SpatialRows और SpatialColumns में व्यवस्थित किया गया है

यहां दिखाए गए स्पेशल एलिमेंट, SpatialPanel कंपोज़ेबल हैं. इनकी मदद से, टेक्स्ट, बटन, और वीडियो जैसे 2D कॉन्टेंट को दिखाया जा सकता है.

Subspace {
    SpatialPanel(
        SubspaceModifier
            .height(824.dp)
            .width(1400.dp)
    ) {
        Text("I'm a panel!")
    }
}

SpatialPanel, सबस्पेस कंपोज़ेबल होता है. Subspace कंपोज़ेबल को Subspace में शामिल किया जाना चाहिए. साथ ही, इनमें SubspaceModifier ऑब्जेक्ट से बदलाव किया जाता है. सबस्पेस को आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के क्रम में कहीं भी रखा जा सकता है. साथ ही, इनमें सिर्फ़ सबस्पेस कंपोज़ेबल शामिल हो सकते हैं. SubspaceModifier ऑब्जेक्ट भी Modifier ऑब्जेक्ट की तरह ही होते हैं: ये साइज़ और पोज़िशन जैसे पैरामीटर को कंट्रोल करते हैं.

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

orbiter.png
ऑर्बिटर को SpatialPanel के सबसे नीचे अटैच किया जाता है

स्पेशल यूज़र इंटरफ़ेस (यूआई) के कई और एलिमेंट भी हैं. हालांकि, Androidify के लिए स्पेशल लेआउट बनाने के लिए, हमने इन मुख्य एलिमेंट का इस्तेमाल किया है.

XR डेवलपमेंट शुरू करना

चलिए, प्रोजेक्ट सेटअप करने से शुरुआत करते हैं. हमने Jetpack XR Compose डिपेंडेंसी जोड़ी है. इसे Jetpack XR डिपेंडेंसी पेज पर देखा जा सकता है.

हमने एक बटन के लिए कोड जोड़ा है, जो उपयोगकर्ता को फ़ुल स्पेस में ले जाता है. इसके लिए, सबसे पहले यह पता लगाया जाता है कि ऐसा किया जा सकता है या नहीं:

@Composable
fun couldRequestFullSpace(): Boolean =
   LocalSpatialConfiguration.current.hasXrSpatialFeature && 
   !LocalSpatialCapabilities.current.isSpatialUiEnabled
}

इसके बाद, हमने एक नया बटन कॉम्पोनेंट बनाया. इसमें हमने अपने मौजूदा लेआउट के लिए, कॉन्टेंट बड़ा करने वाले आइकॉन का इस्तेमाल किया. साथ ही, हमने इसे onClick व्यवहार दिया:

@Composable

fun RequestFullSpaceIconButton() {
   if (!couldRequestFullSpace()) return
   val session = LocalSession.current ?: return

   IconButton(
       onClick = {
           session.scene.requestFullSpaceMode()
       },
   ) {
       Icon(
           imageVector =  
               vectorResource(R.drawable.expand_content_24px),
           contentDescription = 
               stringResource("To Full Space"),
       )
   }
}

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

@Composable

fun HomeScreenContents(layoutType: HomeScreenLayoutType) {
   val layoutType = when {
      LocalSpatialCapabilities.current.isSpatialUiEnabled -> 
          HomeScreenLayoutType.Spatial
      isAtLeastMedium() -> HomeScreenLayoutType.Medium
      else -> HomeScreenLayoutType.Compact
   }

   when (layoutType) {
      HomeScreenLayoutType.Compact ->
          HomeScreenCompactPager(...)

      HomeScreenLayoutType.Medium ->
          HomeScreenMediumContents(...)

      HomeScreenLayoutType.Spatial ->
          HomeScreenContentsSpatial(...)
   }
}

होम स्क्रीन के लिए डिज़ाइन लागू करना

आइए, फ़ुल स्पेस में होम स्क्रीन के लिए स्पैटियल डिज़ाइन पर वापस जाते हैं, ताकि यह समझा जा सके कि इसे कैसे लागू किया गया था.

customize_3.png

यहां हमने दो SpatialPanel एलिमेंट की पहचान की है: एक पैनल, जिसमें दाईं ओर वीडियो कार्ड मौजूद है और दूसरा, जिसमें मुख्य यूज़र इंटरफ़ेस (यूआई) मौजूद है. आखिर में, सबसे ऊपर एक ऑर्बिटर लगा है. चलिए, वीडियो प्लेयर पैनल से शुरुआत करते हैं:

@Composable
fun HomeScreenContentsSpatial(...) {
   Subspace {
      SpatialPanel(SubspaceModifier
                   .fillMaxWidth(0.2f)
                   .fillMaxHeight(0.8f)
                   .aspectRatio(0.77f)
                   .rotate(0f, 0f, 5f),
      ) {
          VideoPlayer(videoLink)
      }
   }
}

हमने सामान्य लेआउट से 2D VideoPlayer कॉम्पोनेंट को SpatialPanel में फिर से इस्तेमाल किया है. इसमें कोई अन्य बदलाव नहीं किया गया है! यहां बताया गया है कि यह स्टैंडअलोन कैसा दिखता है:

bluetiel.png

मुख्य कॉन्टेंट पैनल में भी वही कहानी दिखाई गई थी: हमने SpatialPanel में मीडियम पैनल के कॉन्टेंट का फिर से इस्तेमाल किया.

SpatialPanel(SubspaceModifier.fillMaxSize(),
             resizePolicy = ResizePolicy(
                 shouldMaintainAspectRatio = true
             ),
             dragPolicy = MovePolicy()
) {
    Box {
        FillBackground(R.drawable.squiggle_full)
        HomeScreenSpatialMainContent(...)
    }
}

हमने इस पैनल को ResizePolicy दिया है. इससे पैनल के किनारों पर कुछ हैंडल मिलते हैं. इनकी मदद से उपयोगकर्ता, पैनल का साइज़ बदल सकता है. इसमें MovePolicy भी है, जिसकी मदद से उपयोगकर्ता इसे चारों ओर खींच सकता है.

customize_4.png

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

@Composable
fun HomeScreenContentsSpatial(...) {
   Subspace {
       SpatialPanel(SubspaceModifier..., resizePolicy, dragPolicy) {
           Box {
               FillBackground(R.drawable.squiggle_full)
               HomeScreenSpatialMainContent(...)
           }
           Subspace {
              SpatialPanel(SubspaceModifier...) {
                  VideoPlayer(videoLink)
              }
           }
       }
   }
}

हमने पहली स्क्रीन इसी तरह बनाई है!

दूसरी स्क्रीन पर जाना

मैं कुछ अन्य स्क्रीन के बारे में भी कम शब्दों में बताऊंगी. साथ ही, हर स्क्रीन के लिए ध्यान रखने वाली खास बातों के बारे में भी बताऊंगी.

fullspace.png
फ़ुल स्पेस में कॉन्टेंट बनाने की स्क्रीन

यहां हमने SpatialRow और SpatialColumn कंपोज़ेबल का इस्तेमाल करके, देखने के लिए सुझाए गए स्पेस के हिसाब से लेआउट बनाया है. साथ ही, Medium लेआउट के कॉम्पोनेंट को फिर से इस्तेमाल किया है.

fullspace_2.png

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


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

Google Play Store पर पब्लिश करना

अब ऐप्लिकेशन, स्पेसियल लेआउट के साथ एक्सआर के लिए तैयार है. इसलिए, हमने इसे Play Store पर रिलीज़ कर दिया. हमने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में एक और अहम बदलाव किया है:

<!-- Androidify can use XR features if they're available; they're not required. -->
<uses-feature android:name="android.software.xr.api.spatial" 
              android:required="false" />

इससे Play Store को पता चलता है कि इस ऐप्लिकेशन में एक्सआर की अलग-अलग सुविधाएं हैं. इससे एक बैज दिखता है, जिससे लोगों को पता चलता है कि ऐप्लिकेशन को एक्सआर को ध्यान में रखकर बनाया गया है:

androidify2.png
Android XR पर Google Play Store में दिखाए गए Androidify ऐप्लिकेशन का लोगो


रिलीज़ अपलोड करते समय, हमें XR के लिए रिलीज़ करने के लिए किसी खास चरण की ज़रूरत नहीं होती: मोबाइल ट्रैक पर मौजूद उपयोगकर्ताओं के लिए, उसी ऐप्लिकेशन को सामान्य तरीके से डिस्ट्रिब्यूट किया जाता है जिस ऐप्लिकेशन को XR डिवाइस पर मौजूद उपयोगकर्ताओं के लिए डिस्ट्रिब्यूट किया जाता है! हालांकि, आपके पास अपने ऐप्लिकेशन के एक्सआर-विशिष्ट स्क्रीनशॉट जोड़ने का विकल्प होता है. इसके अलावा, स्पेशल वीडियो ऐसेट का इस्तेमाल करके, अपने ऐप्लिकेशन की इमर्सिव झलक भी अपलोड की जा सकती है. Android XR डिवाइसों पर, Play Store इसे अपने-आप इमर्सिव 3D प्रीव्यू के तौर पर दिखाता है. इससे लोग, ऐप्लिकेशन इंस्टॉल करने से पहले ही आपके कॉन्टेंट की गहराई और स्केल का अनुभव कर पाते हैं.

आज ही अपने हिसाब से अनुभव तैयार करना शुरू करें

Androidify, मौजूदा 2D Jetpack Compose ऐप्लिकेशन को स्पेशलाइज़ करने का एक बेहतरीन उदाहरण है. आज हमने Androidify के लिए स्पेशल यूज़र इंटरफ़ेस (यूआई) डेवलप करने की पूरी प्रोसेस दिखाई. इसमें डिज़ाइन से लेकर कोड और पब्लिश करने तक की जानकारी शामिल है. हमने मौजूदा डिज़ाइन में बदलाव करके, उन्हें स्पेशल पैराडाइम के साथ काम करने लायक बनाया. साथ ही, SpatialPanel और Orbiter कंपोज़ेबल का इस्तेमाल करके, स्पेशल लेआउट बनाए. ये लेआउट तब दिखते हैं, जब उपयोगकर्ता फ़ुल स्पेस में जाता है. इसके बाद, हमने ऐप्लिकेशन का नया वर्शन Play Store पर रिलीज़ किया.

हमें उम्मीद है कि इस ब्लॉग पोस्ट से आपको यह समझने में मदद मिली होगी कि Android XR पर अपने ऐप्लिकेशन कैसे लाए जा सकते हैं! यहां कुछ और लिंक दिए गए हैं जिनसे आपको मदद मिल सकती है:

इसे लिखा है:

पढ़ना जारी रखें