Jetpack XR के लिए ARCore की मदद से, ऐप्लिकेशन बेहतर वर्चुअल रिएलिटी (एआर) के बुनियादी कॉन्सेप्ट के साथ काम कर सकते हैं. इसके लिए, वे कम लेवल के सीन समझने वाले प्राइमिटिव और मोशन ट्रैकिंग का इस्तेमाल करते हैं. AR अनुभव बनाते समय, ARCore for Jetpack XR का इस्तेमाल करें. साथ ही, आपको प्लैनर डेटा का इस्तेमाल करना हो या कॉन्टेंट को स्पेस में किसी तय जगह पर ऐंकर करना हो.
Session
के लाइफ़साइकल के बारे में जानकारी
Jetpack XR के लिए ARCore की मदद से ट्रैक किए गए सभी ऑब्जेक्ट को Session
के ज़रिए ऐक्सेस किया जाना चाहिए. ऐक्टिविटी के लाइफ़साइकल की तरह ही, Session
ऑब्जेक्ट का भी लाइफ़साइकल होता है. इसे आपके ऐप्लिकेशन के Session
ऑब्जेक्ट की सुविधाओं के इस्तेमाल के हिसाब से बनाए रखा जाना चाहिए. अगर आपके ऐप्लिकेशन में XR की सुविधा वाली एक ही ऐक्टिविटी है, तो लाइफ़साइकल के बारे में जानकारी रखने वाले कॉम्पोनेंट का इस्तेमाल करके, Session
के लाइफ़साइकल को मैनेज करें.
Session
को ऐक्सेस करना
Jetpack XR के लिए ARCore का इस्तेमाल करते समय, Session
बनाना ज़रूरी है.
XR के लिए Jetpack Compose का इस्तेमाल करते समय, आपके लिए बनाया गया सेशन ऐक्सेस करने के लिए, LocalSession
का इस्तेमाल करें.
सेशन फिर से शुरू करना
किसी सेशन को फिर से शुरू करने का फ़ैसला तब लिया जाना चाहिए, जब आपका ऐप्लिकेशन, Jetpack XR के लिए ARCore से होने वाले स्टेटस में बदलावों को मैनेज करने के लिए तैयार हो. ज़्यादातर मामलों में, ऐसा आपकी गतिविधि के onResume()
कॉलबैक में किया जाता है. हालांकि, हो सकता है कि आपका ऐप्लिकेशन, उपयोगकर्ता के इंटरैक्शन तक प्रोसेसिंग में देरी करना चाहे.
नीचे दिया गया कोड स्निपेट, सेशन को फिर से शुरू करने का उदाहरण दिखाता है.
when (val result = session.resume()) { is SessionResumeSuccess -> { // Session has been created successfully. // Attach any successful handlers here. } is SessionResumePermissionsNotGranted -> { // Request permissions in `result.permissions`. } }
Session
फिर से शुरू न हो पाने की वजहें जानने के लिए, SessionResumeResult
देखें.
सेशन रोकना
जब आपकी गतिविधि बैकग्राउंड में चल रही हो, तो [Session.pause()
][Session.pause] का इस्तेमाल करके Session
को रोकें. किसी सेशन को रोकने पर, ट्रैकिंग कुछ समय के लिए रुक जाती है. ऐसा तब तक होता है, जब तक सेशन फिर से शुरू नहीं हो जाता. इस दौरान, परसेप्शन सिस्टम की स्थिति में कोई बदलाव नहीं होता.
सेशन मिटाना
किसी Session
को हमेशा के लिए हटाने के लिए,
[Session.destroy()
][Session.destroy] का इस्तेमाल करें. इससे, सेशन के इस्तेमाल में लगे संसाधन खाली हो जाते हैं और सेशन की सभी स्थितियां खत्म हो जाती हैं.
यह भी देखें:
- Jetpack XR के लिए ARCore का इस्तेमाल करके, ऐंकर के साथ काम करना
- Jetpack XR के लिए ARCore का इस्तेमाल करके, प्लेन के साथ काम करना
- Jetpack XR के लिए ARCore का इस्तेमाल करके, हाथों से काम करना