El Session proporciona la interfaz principal para la funcionalidad espacializada
de tu app. Cada Activity espacializada debe crear y contener una instancia de
Session. Después de que tu app crea una sesión, puede usar las interfaces Session
para crear entidades de contenido espacializadas, como paneles o modelos 3D, así como
establecer un entorno espacial, identificar la posición del usuario y anclar
contenido al mundo real.
Accede a una sesión desde Jetpack Compose para realidad extendida
Cuando usas Jetpack Compose para realidad extendida, la sesión se crea automáticamente y se puede
acceder a ella con LocalSession.current. Consulta el siguiente ejemplo:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Accede a una sesión desde Jetpack XR Runtime
Si creas entidades espacializadas desde la biblioteca de Jetpack SceneCore, deberás crear una sesión.
Para crear una sesión, pasa un Context al
create() método. Este Context puede ser un Activity en
dispositivos de realidad extendida inmersiva o dispositivos móviles, o un
contexto proyectado.
Crear una sesión de ARCore puede ser una tarea costosa y debe procesarse 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. */) } }
Cuando se destruye la actividad de una sesión, se destruyen toda la IU espacial y el contenido 3D asociados con esa sesión, y la sesión ya no es válida.
Consulta también
- Verifica las capacidades espaciales
- Transición entre HSM y FSM
- Agrega entornos espaciales a tu app
- Agrega modelos 3D a tu app