Session fournit l'interface principale de la fonctionnalité spatialisée de votre application. Chaque Activity spatialisé doit créer et conserver une instance de Session. Une fois que votre application a créé une session, elle peut utiliser les interfaces Session pour créer des entités de contenu spatialisées telles que des panneaux ou des modèles 3D, ainsi que pour définir un environnement spatial, identifier la position de l'utilisateur et ancrer le contenu dans le monde réel.
Accéder à une session depuis Jetpack Compose pour XR
Lorsque vous utilisez Jetpack Compose pour XR, la session est créée pour vous et est accessible à l'aide de LocalSession.current. Consultez l'exemple suivant :
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Accéder à une session à partir de l'environnement d'exécution Jetpack XR
Si vous créez des entités spatialisées à partir de la bibliothèque Jetpack SceneCore, vous devez créer une session.
Pour créer une session, transmettez un Context à la méthode create(). Ce Context peut être un Activity sur des appareils XR immersifs ou des appareils mobiles, ou un contexte projeté sur des lunettes connectées.
La création d'une session ARCore peut être une tâche coûteuse et doit être traitée en arrière-plan, comme illustré dans l'exemple suivant :
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
La fonction create() peut utiliser un paramètre LifecycleOwner facultatif, qui permet de gérer le cycle de vie de la session par un autre LifecycleOwner. Le cycle de vie de LifecycleOwner doit commencer et se terminer dans le champ d'application du contexte fourni. Sinon, Session peut être sujet à des fuites.
Voir aussi
- Vérifier les fonctionnalités spatiales
- Passer de la gestion de l'espace de stockage par l'établissement à la gestion de l'espace de stockage par la famille
- Ajouter des environnements spatiaux à votre application
- Ajouter des modèles 3D à votre application