دسترسی به جلسه‌ای برای ایجاد واسط کاربر و نهادهای فضایی

دستگاه‌های XR واجدشرایط
این راهنمایی به شما کمک می‌کند برای این نوع دستگاه‌های واقعیت گسترده تجربه بسازید.
هدست‌های واقعیت گسترده
عینک واقعیت گسترده سیمی

Session میانای اصلی را برای عملکرد فضایی‌شده برنامه شما ارائه می‌دهد. هر Activity فضایی‌شده باید یک نمونه از Session ایجاد و نگهداری کند. پس‌از اینکه برنامه‌تان جلسه‌ای ایجاد کرد، می‌تواند از رابط‌های Session برای ایجاد نهادهای محتوای فضایی‌شده مانند پانل‌ها یا مدل‌های سه‌بعدی، و همچنین تنظیم محیط فضایی، شناسایی موقعیت دستگاه، و لنگر انداختن محتوا در دنیای واقعی استفاده کند.

دسترسی به جلسه از Jetpack Compose برای واقعیت گسترده

هنگام استفاده از Jetpack Compose برای XR، جلسه برای شما ایجاد می‌شود و می‌توان بااستفاده از LocalSession.current به آن دسترسی پیدا کرد. مثال زیر را ببینید:

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

دسترسی به جلسه از Jetpack XR Runtime

اگر درحال ایجاد کردن موجودیت‌های فضایی‌شده از کتابخانه Jetpack SceneCore هستید، باید جلسه‌ای ایجاد کنید.

برای ایجاد جلسه، Context را به روش create() ارسال کنید. این Context می‌تواند Activity در دستگاه‌های XR فراگیر یا دستگاه‌های همراه، یا بافت پیش‌بینی‌شده در «افزاردید هوشمند» باشد.

ایجاد جلسه 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 ممکن است مستعد نشت باشد.

همچنین مراجعه کنید به