ARCore pour Jetpack XR permet aux applications de travailler avec les concepts de base de la réalité augmentée (RA), à l'aide de primitives de compréhension de scène de bas niveau et de suivi des mouvements. Utilisez ARCore pour Jetpack XR lorsque vous créez des expériences de RA et que vous devez utiliser des données planaires ou ancrer le contenu à un emplacement fixe dans l'espace.
Comprendre le cycle de vie d'un Session
Tous les objets suivis par ARCore pour Jetpack XR doivent être accessibles via un Session
. Comme pour le cycle de vie d'une activité, les objets Session
ont également un cycle de vie qui doit être géré en fonction de l'utilisation des fonctionnalités d'un objet Session
par votre application. Si votre application ne contient qu'une seule activité compatible avec la RA, envisagez de gérer le cycle de vie de Session
à l'aide d'un composant compatible avec le cycle de vie.
Accéder à un Session
Un Session
doit être créé lorsque vous utilisez ARCore pour Jetpack XR.
Lorsque vous utilisez Jetpack Compose pour XR, utilisez LocalSession
pour accéder à la session créée pour vous.
Reprendre une session
La reprise d'une session doit être effectuée lorsque votre application est prête à gérer les changements d'état d'ARCore pour Jetpack XR. Dans de nombreux cas, cela se fait dans le rappel onResume()
de votre activité, mais votre application peut vouloir retarder le traitement jusqu'à l'interaction de l'utilisateur.
L'extrait de code suivant présente un exemple de reprise d'une session.
when (val result = session.resume()) { is SessionResumeSuccess -> { // Session has been created successfully. // Attach any successful handlers here. } is SessionResumePermissionsNotGranted -> { // Request permissions in `result.permissions`. } }
Consultez SessionResumeResult
pour connaître les raisons pour lesquelles la reprise d'un Session
peut échouer.
Suspendre une session
Lorsque votre activité passe en arrière-plan, suspendez la Session
à l'aide de [Session.pause()
][Session.pause]. La suspension d'une session interrompt temporairement le suivi jusqu'à ce que la session soit reprise, ce qui permet de conserver l'état du système de perception.
Détruire une session
Pour supprimer définitivement un Session
, utilisez [Session.destroy()
][Session.destroy]. Cela libère les ressources utilisées par la session et détruit tous les états de session.
Voir aussi
- Utiliser des ancrages avec ARCore pour Jetpack XR
- Utiliser des plans avec ARCore pour Jetpack XR
- Utiliser les mains avec ARCore pour Jetpack XR