Mengakses sesi untuk membuat UI dan entitas yang dispatialisasi

Perangkat XR yang kompatibel
Panduan ini membantu Anda membangun pengalaman untuk jenis perangkat XR ini.
Headset XR
Kacamata XR Berkabel

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