Accede a una sesión para crear entidades y una IU espacializadas

Dispositivos de realidad extendida correspondientes
Esta guía te ayuda a crear experiencias para estos tipos de dispositivos de realidad extendida.
Visores de realidad extendida
Lentes de realidad extendida con cable

Session proporciona la interfaz principal para la funcionalidad espacializada de tu app. Cada Activity espacializado debe crear y contener una instancia de Session. Después de que tu app cree una sesión, podrá usar las interfaces de Session para crear entidades de contenido espacializado, como paneles o modelos 3D, así como establecer un entorno espacial, identificar la posición del usuario y fijar contenido al mundo real.

Cómo acceder a una sesión desde Jetpack Compose para RE

Cuando usas Jetpack Compose para XR, la sesión se crea por ti y se puede acceder a ella con LocalSession.current. Consulta el siguiente ejemplo:

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

Cómo acceder a una sesión desde el entorno de ejecución de Jetpack XR

Si creas entidades espacializadas desde la biblioteca de SceneCore de Jetpack, deberás crear una sesión.

Para crear una sesión, pasa un Context al método create(). Este Context puede ser un Activity en dispositivos de RE envolventes o dispositivos móviles, o un contexto proyectado en lentes inteligentes.

Crear una sesión de ARCore puede ser una tarea costosa y se debe procesar en segundo plano, como se muestra en el siguiente ejemplo:

lifecycleScope.launch {
    when (val result = Session.create(context)) {
        is SessionCreateSuccess -> {
            val xrSession = result.session
            // ...
        }
        else ->
            TODO(/* A different unhandled exception was thrown. */)
    }
}

La función create() puede usar un parámetro LifecycleOwner opcional, que permite que el ciclo de vida de la sesión se administre con un LifecycleOwner diferente. El LifecycleOwner debe comenzar y finalizar su ciclo de vida dentro del alcance del contexto proporcionado; de lo contrario, el Session puede ser propenso a pérdidas.

Consulta también