Session menyediakan antarmuka utama ke fungsi spasial
untuk aplikasi Anda. Setiap Activity spasial harus membuat dan menyimpan instance
Session. Setelah membuat sesi, aplikasi Anda dapat menggunakan antarmuka Session
untuk membuat entity konten spasial seperti panel atau model 3D, serta
menetapkan lingkungan spasial, mengidentifikasi posisi pengguna, dan menambatkan
konten ke dunia nyata.
Mengakses sesi dari Jetpack Compose untuk XR
Saat menggunakan Jetpack Compose untuk XR, sesi akan dibuat untuk Anda dan dapat
diakses menggunakan LocalSession.current. Lihat contoh berikut:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Mengakses sesi dari Jetpack XR Runtime
Jika Anda membuat entity spasial dari library Jetpack SceneCore, Anda harus membuat sesi.
Untuk membuat sesi, teruskan Context ke
metode create(). Context ini dapat berupa Activity di perangkat XR imersif atau perangkat seluler, atau konteks yang diproyeksikan di kacamata AI.
Membuat sesi ARCore dapat menjadi tugas yang mahal, dan harus diproses di latar belakang, seperti yang ditunjukkan dalam contoh berikut:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Fungsi create() dapat menggunakan parameter
LifecycleOwner opsional, yang memungkinkan
siklus proses sesi dikelola oleh LifecycleOwner yang berbeda. LifecycleOwner harus memulai dan mengakhiri siklus prosesnya dalam cakupan konteks yang disediakan, jika tidak, Session mungkin rentan terhadap kebocoran.
Lihat juga
- Memeriksa kemampuan spasial
- Transisi antara HSM dan FSM
- Menambahkan lingkungan spasial ke aplikasi Anda
- Menambahkan model 3D ke aplikasi Anda