तरीका जानें
Jetpack XR SDK की मदद से, Androidify को एक्सआर डिवाइसों पर उपलब्ध कराना
नौ मिनट में पढ़ें
Samsung Galaxy XR अब उपलब्ध है, जो Android XR पर काम करता है! यह ब्लॉग पोस्ट, हमारी Android XR Spotlight Week का हिस्सा है. इसमें हम संसाधन उपलब्ध कराते हैं. जैसे, ब्लॉग पोस्ट, वीडियो, सैंपल कोड वगैरह. इन सभी को इस तरह डिज़ाइन किया गया है, ताकि आपको Android XR के लिए ऐप्लिकेशन बनाने और उन्हें तैयार करने के बारे में जानकारी मिल सके.
Samsung Galaxy XR लॉन्च हो गया है. यह पहला डिवाइस है जो Android XR पर काम करता है. अब लोग Play Store पर मौजूद अपने पसंदीदा कई ऐप्लिकेशन को एक नए डाइमेंशन में इस्तेमाल कर सकते हैं. यह डाइमेंशन है: तीसरा डाइमेंशन!
तीसरा डाइमेंशन काफ़ी बड़ा है. इसमें आपके ऐप्लिकेशन के लिए भी काफ़ी जगह है. अपने ऐप्लिकेशन के लिए काम करने वाले टूल का इस्तेमाल करके, आज ही शुरुआत करें. उदाहरण के लिए, Kotlin और Compose जैसे Android के मॉडर्न डेवलपमेंट टूल का इस्तेमाल करके, इमर्सिव एक्सआर अनुभव बनाने के लिए, Jetpack XR SDK का इस्तेमाल किया जा सकता है.
इस ब्लॉग पोस्ट में, हम आपको अपने अनुभव के बारे में बताएंगे. इसमें हम यह भी बताएंगे कि हमने अपने पसंदीदा Androidify ऐप्लिकेशन को एक्सआर डिवाइसों पर कैसे उपलब्ध कराया. इसके अलावा, हम आपको यह भी बताएंगे कि आपके ऐप्लिकेशन को एक्सआर डिवाइसों पर उपलब्ध कराने के लिए, किन बुनियादी बातों का ध्यान रखना होगा.
Androidify के बारे में जानकारी
Androidify एक ओपन सोर्स ऐप्लिकेशन है. इसकी मदद से, Android बॉट बनाए जा सकते हैं. इसके लिए, Gemini, CameraX, Navigation 3, और Jetpack Compose जैसी नई टेक्नोलॉजी का इस्तेमाल किया जाता है. Androidify को शुरुआत में, अडैप्टिव लेआउट बनाकर फ़ोन, फ़ोल्ड किए जा सकने वाले डिवाइसों, और टैबलेट पर बेहतर दिखने के लिए डिज़ाइन किया गया था.
Androidify, अलग-अलग साइज़, डाइमेंशन या कॉन्फ़िगरेशन वाले डिवाइसों पर बेहतर दिखता है
अडैप्टिव लेआउट का एक अहम हिस्सा, दोबारा इस्तेमाल किए जा सकने वाले कंपोज़ेबल होते हैं. Jetpack Compose की मदद से, यूज़र इंटरफ़ेस (यूआई) के छोटे-छोटे कॉम्पोनेंट बनाए जा सकते हैं. इन्हें अलग-अलग तरीकों से लेआउट किया जा सकता है, ताकि उपयोगकर्ता को बेहतर अनुभव मिल सके. इससे कोई फ़र्क़ नहीं पड़ता कि उपयोगकर्ता किस तरह का डिवाइस इस्तेमाल कर रहा है. असल में, Androidify, Android XR के साथ काम करता है. इसके लिए, ऐप्लिकेशन में कोई बदलाव नहीं करना पड़ता!
Androidify, बड़े स्क्रीन वाले डिवाइसों के लिए बनाए गए रिस्पॉन्सिव लेआउट का इस्तेमाल करके, एक्सआर डिवाइसों के हिसाब से काम करता है. इसके लिए, कोड में कोई बदलाव नहीं करना पड़ता
जिन ऐप्लिकेशन को Android XR के लिए खास तौर पर नहीं बनाया गया है उन्हें सही साइज़ वाली विंडो में मल्टी-टास्क किया जा सकता है. ये ऐप्लिकेशन, बड़ी स्क्रीन वाले डिवाइसों पर भी उसी तरह काम करते हैं. इस वजह से, Androidify, Android XR पर बिना किसी अतिरिक्त काम के पूरी तरह से काम करता है! हालांकि, हम यहीं नहीं रुकना चाहते थे. इसलिए, हमने एक्सआर डिवाइसों के लिए खास तौर पर एक ऐप्लिकेशन बनाया है, ताकि एक्सआर डिवाइसों के उपयोगकर्ताओं को बेहतर अनुभव मिल सके.
एक्सआर डिवाइसों पर काम करने के बारे में जानकारी
आइए, Android XR के लिए बुनियादी कॉन्सेप्ट के बारे में जानते हैं. सबसे पहले, हम उन दो मोड के बारे में जानेंगे जिनमें ऐप्लिकेशन चलाए जा सकते हैं: होम स्पेस और फ़ुल स्पेस.
होम स्पेस में, एक साथ कई ऐप्लिकेशन चलाए जा सकते हैं. इससे उपयोगकर्ता अलग-अलग विंडो में मल्टीटास्क कर सकते हैं. इस मामले में, यह बड़ी स्क्रीन वाले Android डिवाइस पर डेस्कटॉप विंडो की तरह काम करता है. हालांकि, यह वर्चुअल स्पेस में होता है!
फ़ुल स्पेस में, ऐप्लिकेशन के लिए कोई स्पेस बाउंड्री नहीं होती. साथ ही, यह Android XR की सभी स्पेशल सुविधाओं का इस्तेमाल कर सकता है. जैसे, स्पेशल यूज़र इंटरफ़ेस (यूआई) और वर्चुअल एनवायरमेंट को कंट्रोल करना.
ऐसा हो सकता है कि आपको अपना ऐप्लिकेशन सिर्फ़ फ़ुल स्पेस में चलाने का मन करे. हालांकि, आपके उपयोगकर्ता आपके ऐप्लिकेशन के साथ मल्टी-टास्क करना चाहें. इसलिए, दोनों मोड में ऐप्लिकेशन चलाने की सुविधा देने से, उपयोगकर्ता को बेहतर अनुभव मिलता है.
Androidify के नए डाइमेंशन के लिए डिज़ाइन करना
किसी ऐप्लिकेशन को बेहतर बनाने के लिए, उसका डिज़ाइन अच्छा होना चाहिए. Android DevRel में सीनियर डिज़ाइन एडवोकेट, Ivy Knight ने Androidify के मौजूदा डिज़ाइन को एक्सआर डिवाइसों के लिए नए डिज़ाइन में बदलने का काम किया. Ivy, अब आप इस बारे में जानकारी दें!
एक्सआर डिवाइसों के लिए डिज़ाइन करने के लिए, एक अलग तरीके की ज़रूरत होती है. हालांकि, इसमें मोबाइल के डिज़ाइन से काफ़ी समानताएं हैं. हमने कंटेनमेंट के बारे में सोचकर शुरुआत की. इसका मतलब है कि सबस्पेस में अपने यूज़र इंटरफ़ेस (यूआई) एलिमेंट को कैसे व्यवस्थित और ग्रुप किया जाए. इसके लिए, बाउंड्री साफ़ तौर पर दिखाई जा सकती हैं या उन्हें हल्के तौर पर दिखाया जा सकता है. हमने स्पेशल यूज़र इंटरफ़ेस (यूआई) एलिमेंट के अलग-अलग साइज़ का इस्तेमाल करना भी सीखा. ये एलिमेंट, उपयोगकर्ता के हिसाब से अडजस्ट और मूव होते हैं. Androidify की तरह, अडैप्टिव लेआउट का इस्तेमाल करके ऐप्लिकेशन बनाएं, ताकि स्पेशल यूज़र इंटरफ़ेस (यूआई) के लिए अपने लेआउट को हिस्सों में बांटा जा सके.
होम स्पेस के लिए डिज़ाइन करना
अच्छी बात यह है कि Android XR में, होम स्पेस के लिए अपने ऐप्लिकेशन को मौजूदा डिज़ाइन में ही इस्तेमाल किया जा सकता है. इसलिए, हमने सिर्फ़ विंडो टूलबार और फ़ुल स्पेस ट्रांज़िशन बटन जोड़कर, एक्सआर डिवाइसों के लिए डिज़ाइन को बड़ा किया.
हमने हार्डवेयर की संभावित सुविधाओं और उपयोगकर्ता के साथ उनके इंटरैक्ट करने के तरीके के बारे में भी सोचा. Androidify के मोबाइल लेआउट, अलग-अलग पोज़, क्लास साइज़, और कैमरों की संख्या के हिसाब से अडैप्ट होते हैं, ताकि फ़ोटो के ज़्यादा विकल्प मिल सकें. इसी मॉडल के हिसाब से, हमें हेडसेट डिवाइसों के लिए कैमरा लेआउट को भी अडैप्ट करना पड़ा. हमें टेक्स्ट के लिए भी बदलाव करने पड़े, ताकि उपयोगकर्ता के पास होने पर यूज़र इंटरफ़ेस (यूआई) ठीक से काम करे.
फ़ुल स्पेस के लिए डिज़ाइन करना
फ़ुल स्पेस के लिए डिज़ाइन में सबसे ज़्यादा बदलाव करने पड़े. हालांकि, इससे हमें अपने डिज़ाइन को अडैप्ट करने के लिए सबसे ज़्यादा क्रिएटिव स्पेस मिला.
Androidify, विज़ुअल कंटेनमेंट या पैन का इस्तेमाल करके, सुविधाओं को ग्रुप करता है. इसके लिए, बैकग्राउंड और आउटलाइन का इस्तेमाल किया जाता है. जैसे, "फ़ोटो लें या चुनें" पैन. हमने अन्य पैन को फ़्रेम करके, नैचुरल कंटेनमेंट बनाने के लिए, टॉप ऐप्लिकेशन बार जैसे कॉम्पोनेंट का भी इस्तेमाल किया. आखिर में, इंट्रिंसिक कंटेनमेंट का सुझाव, कुछ एलिमेंट के पास मौजूद अन्य एलिमेंट से मिलता है. जैसे, "ट्रांसफ़ॉर्मेशन शुरू करें" बटन, जो "मेरे बॉट का रंग चुनें" पैन के पास है.
स्पेशल पैनल को आसानी से अलग किया जा सकता है. स्पेशल पैनल के लिए, मोबाइल के डिज़ाइन को अडैप्ट करने का तरीका जानने के लिए, सबसे पीछे वाली सतह से शुरू करके, सतहों को हटाने की कोशिश करें. इसके बाद, आगे बढ़ें. देखें कि कितने बैकग्राउंड हटाए जा सकते हैं और क्या बाकी रहता है. Androidify के लिए यह तरीका आज़माने के बाद, बड़ा हरा Android स्क्विगल बाकी रहा. स्क्विगल ने न सिर्फ़ ब्रैंडिंग मोमेंट और बैकग्राउंड के तौर पर काम किया, बल्कि 3D स्पेस में कॉन्टेंट के लिए ऐंकर के तौर पर भी काम किया.
इस ऐंकर को सेट अप करने से, यह समझना आसान हो गया कि एलिमेंट इसके आस-पास कैसे मूव कर सकते हैं. साथ ही, हम उपयोगकर्ता अनुभव के बाकी हिस्सों को बेहतर बनाने और उनका अनुवाद करने के लिए, प्रॉक्सिमिटी का इस्तेमाल कैसे कर सकते हैं.
अपने ऐप्लिकेशन को स्पेशल बनाने के लिए, डिज़ाइन से जुड़े अन्य सुझाव
- एलिमेंट को अनकंटेन करें: कॉम्पोनेंट को अलग करें और उन्हें कुछ असली (स्पेशल) स्पेस दें. अब उन यूज़र इंटरफ़ेस (यूआई) एलिमेंट को कुछ स्पेस दें.
- सतहों को हटाएं: बैकग्राउंड छिपाएं और देखें कि इससे आपके डिज़ाइन पर क्या असर पड़ता है.
- मोशन का इस्तेमाल करके, उपयोगकर्ताओं को ऐप्लिकेशन इस्तेमाल करने के लिए प्रेरित करें: अपने ऐप्लिकेशन में ट्रांज़िशन का इस्तेमाल कैसे किया जा रहा है? उस कैरेक्टर का इस्तेमाल करके, अपने ऐप्लिकेशन को वीआर में लाने के बारे में सोचें.
- कोई ऐंकर चुनें: स्पेस में अपने उपयोगकर्ताओं को न खोएं. कोई ऐसा एलिमेंट रखें जो यूज़र इंटरफ़ेस (यूआई) को इकट्ठा करने या ग्राउंड करने में मदद करे.
एक्सआर डिवाइसों के लिए यूज़र इंटरफ़ेस (यूआई) डिज़ाइन पैटर्न के बारे में ज़्यादा जानने के लिए, Android Developers पर Android XR के लिए डिज़ाइन देखें.
स्पेशल यूज़र इंटरफ़ेस (यूआई) की बुनियादी बातें
अब हमने Ivy के अनुभव के बारे में जान लिया है. इसमें बताया गया है कि उसने Androidify को एक्सआर डिवाइसों के लिए डिज़ाइन करते समय, अपनी सोच को कैसे अडैप्ट किया. अब हम स्पेशल यूज़र इंटरफ़ेस (यूआई) डेवलप करने के बारे में बात करेंगे. अगर आपको Android के मॉडर्न टूल और लाइब्रेरी के साथ काम करने की आदत है, तो Jetpack XR SDK की मदद से स्पेशल यूज़र इंटरफ़ेस (यूआई) डेवलप करना आसान लगेगा. आपको ऐसे कॉन्सेप्ट मिलेंगे जिनसे आप पहले से परिचित हैं. जैसे, Compose की मदद से लेआउट बनाना. असल में, स्पेशल लेआउट, पंक्तियों, कॉलम, और स्पेसर का इस्तेमाल करके बनाए गए 2D लेआउट से काफ़ी मिलते-जुलते हैं:
इन एलिमेंट को SpatialRows और SpatialColumns में व्यवस्थित किया गया है
यहां दिखाए गए स्पेशल एलिमेंट, SpatialPanel कंपोज़ेबल हैं. इनकी मदद से, टेक्स्ट, बटन, और वीडियो जैसे 2D कॉन्टेंट दिखाए जा सकते हैं.
Subspace {
SpatialPanel(
SubspaceModifier
.height(824.dp)
.width(1400.dp)
) {
Text("I'm a panel!")
}
}
SpatialPanel, सबस्पेस कंपोज़ेबल होता है. सबस्पेस कंपोज़ेबल को सबस्पेस में शामिल किया जाना चाहिए. साथ ही, इन्हें SubspaceModifier ऑब्जेक्ट से बदला जाता है. सबस्पेस को आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) की किसी भी जगह पर रखा जा सकता है. साथ ही, इनमें सिर्फ़ सबस्पेस कंपोज़ेबल शामिल किए जा सकते हैं.SubspaceModifier ऑब्जेक्ट भी Modifier ऑब्जेक्ट से काफ़ी मिलते-जुलते हैं. ये साइज़िंग और पोज़िशनिंग जैसे पैरामीटर को कंट्रोल करते हैं.
किसी Orbiter को SpatialPanelसे जोड़ा जा सकता है. साथ ही, यह उस कॉन्टेंट के साथ मूव हो सकता है जिससे इसे जोड़ा गया है. इनका इस्तेमाल अक्सर, उस कॉन्टेंट के बारे में कॉन्टेक्चुअल कंट्रोल देने के लिए किया जाता है जिससे इन्हें जोड़ा गया है. इससे कॉन्टेंट पर मुख्य फ़ोकस मिलता है. इन्हें कॉन्टेंट के चारों ओर, किसी भी जगह पर रखा जा सकता है. साथ ही, इन्हें कॉन्फ़िगर की जा सकने वाली दूरी पर रखा जा सकता है.
स्पेशल यूज़र इंटरफ़ेस (यूआई) के कई और एलिमेंट भी हैं. हालांकि, Androidify के लिए स्पेशल लेआउट बनाने के लिए, हमने इनमें से मुख्य एलिमेंट का इस्तेमाल किया.
एक्सआर डिवाइसों के लिए ऐप्लिकेशन डेवलप करना शुरू करना
आइए, प्रोजेक्ट सेटअप से शुरुआत करते हैं. हमने 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(...)
}
}
होम स्क्रीन के लिए डिज़ाइन लागू करना
आइए, फ़ुल स्पेस में होम स्क्रीन के लिए स्पेशल डिज़ाइन पर वापस जाते हैं, ताकि यह समझा जा सके कि इसे कैसे लागू किया गया.
यहां हमने दो SpatialPanel एलिमेंट की पहचान की है: एक पैनल, जिसमें दाईं ओर वीडियो कार्ड है. दूसरा पैनल, जिसमें मुख्य यूज़र इंटरफ़ेस (यूआई) है. आखिर में, सबसे ऊपर एक Orbiter जोड़ा गया है. आइए, वीडियो प्लेयर पैनल से शुरुआत करते हैं:
@Composable
fun HomeScreenContentsSpatial(...) {
Subspace {
SpatialPanel(SubspaceModifier
.fillMaxWidth(0.2f)
.fillMaxHeight(0.8f)
.aspectRatio(0.77f)
.rotate(0f, 0f, 5f),
) {
VideoPlayer(videoLink)
}
}
}
हमने सामान्य लेआउट से 2D VideoPlayer कॉम्पोनेंट को बिना किसी बदलाव के, SpatialPanel में फिर से इस्तेमाल किया! यहां बताया गया है कि यह स्टैंडअलोन कैसा दिखता है:
मुख्य कॉन्टेंट पैनल के लिए भी यही तरीका अपनाया गया. हमने SpatialPanel में मीडियम पैनल कॉन्टेंट को फिर से इस्तेमाल किया.
SpatialPanel(SubspaceModifier.fillMaxSize(),
resizePolicy = ResizePolicy(
shouldMaintainAspectRatio = true
),
dragPolicy = MovePolicy()
) {
Box {
FillBackground(R.drawable.squiggle_full)
HomeScreenSpatialMainContent(...)
}
}
हमने इस पैनल को ResizePolicy दिया है. इससे पैनल के किनारों के पास कुछ हैंडल मिलते हैं. इनकी मदद से, उपयोगकर्ता पैनल का साइज़ बदल सकता है. इसमें MovePolicy भी है. इसकी मदद से, उपयोगकर्ता इसे ड्रैग कर सकता है.
इन्हें एक ही सबस्पेस में रखने से, ये एक-दूसरे से अलग हो जाते हैं. इसलिए, हमने VideoPlayer पैनल को मुख्य कॉन्टेंट पैनल का चाइल्ड बनाया. इससे, मुख्य कॉन्टेंट पैनल को ड्रैग करने पर, VideoPlayer पैनल भी मूव होता है. ऐसा पैरंट-चाइल्ड रिलेशनशिप की वजह से होता है.
@Composable
fun HomeScreenContentsSpatial(...) {
Subspace {
SpatialPanel(SubspaceModifier..., resizePolicy, dragPolicy) {
Box {
FillBackground(R.drawable.squiggle_full)
HomeScreenSpatialMainContent(...)
}
Subspace {
SpatialPanel(SubspaceModifier...) {
VideoPlayer(videoLink)
}
}
}
}
}
हमने पहली स्क्रीन इसी तरह बनाई!
अब अन्य स्क्रीन के बारे में जानते हैं
मैं अन्य स्क्रीन के बारे में भी संक्षेप में बताऊंगी. साथ ही, हर स्क्रीन के लिए किए गए खास बदलावों को हाइलाइट करूंगी.
यहां हमने SpatialRow और SpatialColumn कंपोज़ेबल का इस्तेमाल करके, ऐसा लेआउट बनाया है जो सुझाए गए व्यूइंग स्पेस के हिसाब से हो. इसके लिए, हमने मीडियम लेआउट से कॉम्पोनेंट को फिर से इस्तेमाल किया है.
फ़ुल स्पेस में नतीजों वाली स्क्रीन: प्रॉम्प्ट की मदद से जनरेट किया गया बॉट: लाल रंग की बेसबॉल कैप, एविएटर सनग्लासेस, हल्के नीले रंग की टी-शर्ट, लाल और सफ़ेद रंग के चेकर्ड शॉर्ट्स, हरे रंग की फ़्लिप-फ़्लॉप, और टेनिस रैकेट पकड़ा हुआ है.
नतीजों वाली स्क्रीन पर, फ़ेदरिंग इफ़ेक्ट का इस्तेमाल करके, कॉम्प्लिमेंट्री कोट दिखाए जाते हैं. इससे वे स्क्रीन के किनारों के पास फ़ेड आउट हो जाते हैं. इसमें इस्तेमाल किए गए इनपुट को देखने के लिए, असल 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 को पता चलता है कि इस ऐप्लिकेशन में एक्सआर डिवाइसों के लिए खास सुविधाएं हैं. साथ ही, एक बैज दिखता है. इससे उपयोगकर्ताओं को पता चलता है कि ऐप्लिकेशन को एक्सआर डिवाइसों को ध्यान में रखकर बनाया गया है:
रिलीज़ अपलोड करते समय, हमें एक्सआर डिवाइसों के लिए रिलीज़ करने के लिए किसी खास चरण की ज़रूरत नहीं होती. मोबाइल ट्रैक पर उपयोगकर्ताओं के लिए, उसी ऐप्लिकेशन को सामान्य तरीके से डिस्ट्रिब्यूट किया जाता है जैसे एक्सआर डिवाइसों पर उपयोगकर्ताओं के लिए! हालांकि, आपके पास अपने ऐप्लिकेशन के एक्सआर डिवाइसों के लिए खास स्क्रीनशॉट जोड़ने का विकल्प होता है. इसके अलावा, स्पेशल वीडियो ऐसेट का इस्तेमाल करके, अपने ऐप्लिकेशन का इमर्सिव प्रीव्यू भी अपलोड किया जा सकता है. Android XR डिवाइसों पर, Play Store इसे इमर्सिव 3D प्रीव्यू के तौर पर अपने-आप दिखाता है. इससे उपयोगकर्ता, ऐप्लिकेशन इंस्टॉल करने से पहले, आपके कॉन्टेंट की डेप्थ और स्केल का अनुभव कर सकते हैं.
आज ही अपने अनुभव बनाना शुरू करें
Androidify, मौजूदा 2D Jetpack Compose ऐप्लिकेशन को स्पेशल बनाने का एक बेहतरीन उदाहरण है. आज हमने Androidify के लिए स्पेशल यूज़र इंटरफ़ेस (यूआई) डेवलप करने की पूरी प्रोसेस दिखाई. इसमें डिज़ाइन से लेकर कोडिंग और पब्लिश करने तक की जानकारी शामिल है. हमने मौजूदा डिज़ाइन में बदलाव करके, उन्हें स्पेशल पैराडाइम के साथ काम करने के लिए तैयार किया. साथ ही, SpatialPanel और Orbiter कंपोज़ेबल का इस्तेमाल करके, स्पेशल लेआउट बनाए. ये लेआउट, उपयोगकर्ता के फ़ुल स्पेस में जाने पर दिखते हैं. आखिर में, हमने ऐप्लिकेशन का नया वर्शन Play Store पर रिलीज़ किया.
हमें उम्मीद है कि इस ब्लॉग पोस्ट से, आपको यह समझने में मदद मिली होगी कि अपने ऐप्लिकेशन को Android XR पर कैसे उपलब्ध कराया जा सकता है! यहां कुछ और लिंक दिए गए हैं, जिनसे आपको मदद मिल सकती है:
- Androidify का सोर्स कोड देखें और Google Play पर Androidify का इस्तेमाल करके, अपना बॉट बनाएं.
- हमारे डेवलपर दस्तावेज़ों का इस्तेमाल शुरू करें और एक्सआर डिवाइसों के लिए Jetpack Compose के बारे में ज़्यादा जानें.
- Android XR एम्युलेटर डाउनलोड करें और अपने ऐप्लिकेशन को आज़माएं!
पढ़ना जारी रखें
-
तरीका जानें
चाहे आप Android Studio में Gemini, Gemini CLI, Antigravity या Claude Code या Codex जैसे तीसरे पक्ष के एजेंट का इस्तेमाल कर रहे हों, हमारा मकसद यह पक्का करना है कि हर जगह, Android के लिए बेहतर क्वालिटी वाले ऐप्लिकेशन बनाए जा सकें.
Adarsh Fernando, Esteban de la Canal • चार मिनट में पढ़ें
-
तरीका जानें
Google को पता है कि Android उपयोगकर्ताओं के लिए, बैटरी का ज़्यादा खर्च होना एक अहम समस्या है. इसलिए, Google ने डेवलपर को ज़्यादा पावर-एफ़िशिएंट ऐप्लिकेशन बनाने में मदद करने के लिए, कई अहम कदम उठाए हैं.
Alice Yuan • आठ मिनट में पढ़ें
-
तरीका जानें
हम आपको डिवाइस पर और क्लाउड मॉडल, दोनों का इस्तेमाल करके, एआई की सुविधाओं के उदाहरण देना चाहते थे. साथ ही, हम आपको अपने उपयोगकर्ताओं के लिए बेहतर अनुभव बनाने के लिए प्रेरित करना चाहते थे.
Thomas Ezan, Ivy Knight • दो मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई जानकारी हर हफ़्ते अपने इनबॉक्स में पाएं.