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

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

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

Cuando usas Jetpack Compose para XR, la sesión se crea automáticamente y puedes 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 a partir de la biblioteca de Jetpack SceneCore, 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 XR inmersivos o dispositivos móviles, o un contexto proyectado.

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:

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

Cuando se destruye la actividad de una sesión, se destruyen toda la IU espacial y el contenido 3D asociados a esa sesión, y la sesión deja de ser válida.

Consulta también