স্পেশিয়ালাইজড UI ও এন্টিটি তৈরি করার জন্য সেশন অ্যাক্সেস করা

প্রযোজ্য XR ডিভাইস
এই নির্দেশিকা আপনাকে এই ধরনের XR ডিভাইসের জন্য অভিজ্ঞতা তৈরি করতে সাহায্য করে।
XR হেডসেট
তারযুক্ত XR গ্লাস

Session আপনার অ্যাপের জন্য স্পেশিয়ালাইজড কার্যকারিতার প্রাথমিক ইন্টারফেস প্রদান করে। প্রতিটি স্পেশিয়ালাইজড Activity-কে অবশ্যই Session-এর একটি ইনস্ট্যান্স তৈরি করতে এবং ধরে রাখতে হবে। আপনার অ্যাপ সেশন তৈরি করার পরে, এটি প্যানেল বা 3D মডেলের মতো স্পেশিয়ালাইজড কন্টেন্ট এন্টিটি তৈরি করতে Session ইন্টারফেস ব্যবহার করতে পারে, এর পাশাপাশি স্পেশিয়াল এনভায়রনমেন্ট সেট করতে, ব্যবহারকারীর পজিশন শনাক্ত করতে এবং বাস্তব জগতে কন্টেন্ট অ্যাঙ্কর করতে পারে।

Jetpack Compose for XR থেকে সেশন অ্যাক্সেস করা

XR-এর জন্য Jetpack Compose ব্যবহার করার সময়, আপনার জন্য সেশন তৈরি করা হয় এবং LocalSession.current ব্যবহার করে অ্যাক্সেস করা যায়। নিচের উদাহরণটি দেখুন:

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

Jetpack XR রানটাইম থেকে সেশন অ্যাক্সেস করুন

আপনি Jetpack SceneCore লাইব্রেরি থেকে স্পেশিয়ালাইজড এন্টিটি তৈরি করলে, আপনাকে একটি সেশন তৈরি করতে হবে।

সেশন তৈরি করতে, create() পদ্ধতিতে Context পাস করুন। এই Context, ইমারসিভ XR ডিভাইস বা মোবাইল ডিভাইসে 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-এর লিক হওয়ার সম্ভাবনা থাকতে পারে।

এছাড়াও দেখুন