Jetpack XR için ARCore ile çalışma

Jetpack XR için ARCore, uygulamaların düşük düzeyli sahne anlama primitifleri ve hareket izlemeyi kullanarak temel artırılmış gerçeklik (AR) kavramlarıyla çalışmasını sağlar. AR deneyimleri oluştururken ve düzlemsel verileri kullanmanız veya içeriği uzayda sabit bir konuma sabitlemeniz gerektiğinde Jetpack XR için ARCore'u kullanın.

Session yaşam döngüsünü anlama

Jetpack XR için ARCore tarafından izlenen tüm nesnelere Session üzerinden erişilmelidir. Etkinliklerin yaşam döngüsüne benzer şekilde, Session nesnelerinin de yaşam döngüsü vardır. Bu yaşam döngüsü, uygulamanızın Session nesnesi özelliklerini kullanımına göre sürdürülmelidir. Uygulamanız tek bir XR etkinliği içeriyorsa Session'ün yaşam döngüsünü yaşam döngüsü bilincine sahip bir bileşen kullanarak yönetmeyi düşünebilirsiniz.

Session erişimi

Jetpack XR için ARCore kullanırken Session oluşturulmalıdır.

XR için Jetpack Compose'u kullanırken sizin için oluşturulan oturuma erişmek üzere LocalSession simgesini kullanın.

Oturumu devam ettirme

Bir oturumu devam ettirmek için uygulamanız, Jetpack XR için ARCore'dan gelen durum değişikliklerini işlemeye hazır olmalıdır. Bu işlem çoğu durumda etkinliğinizin onResume() geri çağırma işlevinde yapılır ancak uygulamanız, işlemeyi kullanıcı etkileşimine kadar ertelemek isteyebilir.

Aşağıdaki kod snippet'inde, oturumun devam ettirilmesiyle ilgili bir örnek gösterilmektedir.

when (val result = session.resume()) {
    is SessionResumeSuccess -> {
        // Session has been created successfully.
        // Attach any successful handlers here.
    }

    is SessionResumePermissionsNotGranted -> {
        // Request permissions in `result.permissions`.
    }
}

Session'ın devam edememe nedenleri için SessionResumeResult bölümüne bakın.

Oturumu duraklatma

Etkinliğiniz arka plana geçtiğinde [Session.pause()][Session.pause] kullanarak Session'ü duraklatın. Bir oturum duraklatıldığında, algılama sisteminin durumu korunarak oturum devam ettirilene kadar izleme geçici olarak durdurulur.

Oturumları silme

Bir Session'i kalıcı olarak silmek için [Session.destroy()][Session.destroy] işlevini kullanın. Bu işlem, oturum tarafından kullanılan kaynakları serbest bırakır ve tüm oturum durumlarını yok eder.

Ayrıca bkz.