स्पेशलाइज़्ड यूज़र इंटरफ़ेस (यूआई) और इकाइयां बनाने के लिए किसी सेशन को ऐक्सेस करना

इस्तेमाल किए जा सकने वाले XR डिवाइस
इन दिशा-निर्देशों से आपको इस तरह के एक्सआर डिवाइसों के लिए अनुभव तैयार करने में मदद मिलती है.
एक्सआर हेडसेट
वायर वाले एक्सआर स्मार्ट ग्लास

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

Jetpack Compose for XR से सेशन ऐक्सेस करना

एक्सआर के लिए Jetpack Compose का इस्तेमाल करने पर, आपके लिए सेशन बनाया जाता है. इसे LocalSession.current का इस्तेमाल करके ऐक्सेस किया जा सकता है. यह उदाहरण देखें:

@Composable
fun ComposableUsingSession() {
    val session = LocalSession.current
}

Jetpack XR Runtime से कोई सेशन ऐक्सेस करना

अगर Jetpack SceneCore लाइब्रेरी से स्पेशलाइज़्ड इकाइयां बनाई जा रही हैं, तो आपको एक सेशन बनाना होगा.

सेशन बनाने के लिए, create() तरीके में Context पास करें. यह Context, इमर्सिव एक्सआर डिवाइसों या मोबाइल डिवाइसों पर Activity या इंटेलिजेंट आईवियर पर प्रोजेक्ट किया गया कॉन्टेक्स्ट हो सकता है.

ARCore सेशन बनाना एक मुश्किल काम हो सकता है. इसलिए, इसे बैकग्राउंड में प्रोसेस किया जाना चाहिए, जैसा कि इस उदाहरण में दिखाया गया है:

lifecycleScope.launch {
    when (val result = Session.create(context)) {
        is SessionCreateSuccess -> {
            val xrSession = result.session
            // ...
        }
        else ->
            TODO(/* A different unhandled exception was thrown. */)
    }
}

create() फ़ंक्शन, वैकल्पिक LifecycleOwner पैरामीटर का इस्तेमाल कर सकता है. इससे सेशन की लाइफ़साइकल को किसी दूसरे LifecycleOwner से मैनेज किया जा सकता है. LifecycleOwner को अपनी लाइफ़साइकल, दिए गए कॉन्टेक्स्ट के दायरे में ही शुरू और खत्म करनी चाहिए. ऐसा न होने पर, Session लीक हो सकता है.

इन्हें भी देखें