Session, uygulamanız için uzamsallaştırılmış işlevlere yönelik birincil arayüzü sağlar. Her uzamsallaştırılmış Activity, Session örneği oluşturup tutmalıdır. Uygulamanız bir oturum oluşturduktan sonra, paneller veya 3D modeller gibi uzamsallaştırılmış içerik öğeleri oluşturmak için Session arayüzlerini kullanabilir. Ayrıca, uzamsal bir ortam ayarlayabilir, kullanıcı konumunu belirleyebilir ve içeriği gerçek dünyaya sabitleyebilir.
Jetpack Compose for XR'daki bir oturuma erişme
XR için Jetpack Compose'u kullanırken oturum sizin için oluşturulur ve LocalSession.current kullanılarak erişilebilir. Aşağıdaki örneğe bakın:
@Composable fun ComposableUsingSession() { val session = LocalSession.current }
Jetpack XR Runtime'dan oturuma erişme
Jetpack SceneCore kitaplığından uzamsallaştırılmış öğeler oluşturuyorsanız oturum oluşturmanız gerekir.
Oturum oluşturmak için create() yöntemine [Context] iletin. Bu Context, Immersive XR cihazlarda veya mobil cihazlarda Activity ya da yansıtılan bir bağlam olabilir.
ARCore oturumu oluşturmak maliyetli bir görev olabilir ve aşağıdaki örnekte gösterildiği gibi arka planda işlenmelidir:
lifecycleScope.launch { when (val result = Session.create(context)) { is SessionCreateSuccess -> { val xrSession = result.session // ... } else -> TODO(/* A different unhandled exception was thrown. */) } }
Bir oturumun etkinliği yok edildiğinde, bu oturumla ilişkili tüm uzamsal kullanıcı arayüzü ve 3D içerik yok edilir ve oturum artık geçerli olmaz.
Aşağıdaki kaynakları da incelemenizi öneririz:
- Uzamsal özellikleri kontrol etme
- HSM ile FSM arasında geçiş yapma
- Uygulamanıza uzamsal ortamlar ekleme
- Uygulamanıza 3D modeller ekleme