Jetpack XR-এর জন্য ARCore-এর সাথে কাজ করুন

Jetpack XR-এর জন্য ARCore অ্যাপগুলিকে নিম্ন-স্তরের দৃশ্য বোঝার আদিম এবং গতি ট্র্যাকিং ব্যবহার করে অগমেন্টেড রিয়েলিটি (AR) এর মৌলিক ধারণাগুলির সাথে কাজ করার অনুমতি দেয়। AR অভিজ্ঞতা তৈরি করার সময় Jetpack XR-এর জন্য ARCore ব্যবহার করুন এবং আপনাকে স্থানের একটি নির্দিষ্ট স্থানে প্ল্যানার ডেটা বা অ্যাঙ্কর সামগ্রী ব্যবহার করতে হবে।

একটি Session জীবনচক্র বুঝুন

জেটপ্যাক এক্সআর-এর জন্য ARCore দ্বারা ট্র্যাক করা সমস্ত বস্তু একটি Session মাধ্যমে অ্যাক্সেস করতে হবে। একটি কার্যকলাপের জীবনচক্রের মতো, Session অবজেক্টেরও একটি জীবনচক্র থাকে যা আপনার অ্যাপের একটি Session অবজেক্টের বৈশিষ্ট্যগুলির ব্যবহার অনুযায়ী বজায় রাখতে হবে৷ যদি আপনার অ্যাপে একটি একক XR-সক্ষম কার্যকলাপ থাকে, তাহলে লাইফসাইকেল-সচেতন উপাদান ব্যবহার করে Session জীবনচক্র পরিচালনা করার কথা বিবেচনা করুন।

একটি Session অ্যাক্সেস করুন

Jetpack XR-এর জন্য ARCore ব্যবহার করার সময় একটি Session তৈরি করতে হবে।

XR-এর জন্য Jetpack Compose ব্যবহার করার সময়, আপনার জন্য তৈরি করা সেশন অ্যাক্সেস করতে LocalSession ব্যবহার করুন।

একটি অধিবেশন পুনরায় শুরু করুন

আপনার অ্যাপ জেটপ্যাক 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] ব্যবহার করুন। এটি সেশনের দ্বারা ব্যবহৃত সংস্থানগুলিকে মুক্ত করে এবং সমস্ত সেশনের অবস্থাকে ধ্বংস করে।

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