Jetpack XR için ARCore

Algılama özellikleriyle dijital içeriği gerçek dünyaya taşıyın.
Son Güncelleme Kararlı Sürüm Sürüm Adayı Beta Sürümü Alfa Sürümü
28 Ocak 2026 - - - 1.0.0-alpha10

Bağımlılıkları bildirme

Jetpack XR için ARCore'a bağımlılık eklemek istiyorsanız Google Maven deposunu projenize eklemeniz gerekir. Daha fazla bilgi için Google'ın Maven deposunu okuyun.

Uygulamanız veya modülünüz için build.gradle dosyasına ihtiyacınız olan yapılarla ilgili bağımlılıkları ekleyin:

Eski

dependencies {
    implementation "androidx.xr.arcore:arcore:1.0.0-alpha10"

    // Optional dependencies for asynchronous conversions
    implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha10"
    implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha10"
}

Kotlin

dependencies {
    implementation("androidx.xr.arcore:arcore:1.0.0-alpha10")

    // Optional dependencies for asynchronous conversions
    implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha10")
    implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha10")
}

Bağımlılıklar hakkında daha fazla bilgi için Derleme bağımlılıkları ekleme başlıklı makaleyi inceleyin.

Geri bildirim

Geri bildiriminiz Jetpack'in iyileştirilmesine yardımcı olur. Yeni sorunlar keşfederseniz veya bu kitaplığı iyileştirmeye yönelik fikirleriniz olursa lütfen bize bildirin. Yeni bir sorun oluşturmadan önce lütfen bu kitaplıktaki mevcut sorunlara göz atın. Yıldız düğmesini tıklayarak mevcut bir soruna oyunuzu ekleyebilirsiniz.

Yeni sorun oluşturma

Daha fazla bilgi için Sorun İzleyici belgelerini inceleyin.

Sürüm 1.0

Sürüm 1.0.0-alpha10

28 Ocak 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha10 iptal edilir. 1.0.0-alpha10 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Cihazın eğim (YUKARI/AŞAĞI) durumunun geçiş ilerlemesiyle birlikte kararlı bir şekilde algılanması için reaktif bir Flow sağlayan TiltGesture API'sini kullanıma sunar. (Ic269f, b/448152779)
  • Jetpack XR için ARCore artık XR Runtime Logging mekanizmasını kullanıyor. Daha fazla bilgi için androidx.xr.runtime.Log sayfasına göz atın. (l52735, b/448697662)

API Değişiklikleri

  • Geospatial.createPoseFromGeospatialPose artık OpenXR özellikli cihazlarda çalışıyor. (l362c6)

Sürüm 1.0.0-alpha09

3 Aralık 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha09 iptal edilir. 1.0.0-alpha09 sürümü bu commit'leri içerir.

Sürüm 1.0.0-alpha08

19 Kasım 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha08 iptal edilir. 1.0.0-alpha08 sürümü bu commit'leri içerir.

Yeni Özellikler

  • ARCore for Jetpack XR artık AR için Google Play Hizmetleri'nin kullanılabildiği cihazları destekliyor.
  • VPS kullanılabilirliği ve duruş dönüştürme için Geospatial API'ler eklendi (I144dc).

Sürüm 1.0.0-alpha07

22 Ekim 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha07 iptal edilir. 1.0.0-alpha07 sürümü bu commit'leri içerir.

Hata Düzeltmeleri

  • :xr:arcore:arcore-openxr, :xr:arcore:arcore için uygulama bağımlılığı olarak eklendi (I47315, b/446999229)

Sürüm 1.0.0-alpha06

24 Eylül 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha06 iptal edilir. 1.0.0-alpha06 sürümü bu commit'leri içerir.

API Değişiklikleri

  • ARCore için test desteği xr:arcore:arcore-testing modülüne taşındı. (I25469)
  • Uygulamaların, oluşturma amacıyla cihazın duruşunu ve ekran yapılandırmasını almasına izin vermek için ArDevice ve RenderViewpoint eklendi. (Ib7e3f)
  • HandJointType numaralandırmalarını HAND_JOINT_TYPE_ önekiyle yeniden adlandırın. (I3f7cd)
  • HandJointType, xr:runtime:runtime kuruluş biriminden xr:arcore:arcore kuruluş birimine taşındı. (Iadb9c, b/409058039)
  • Hand.State artık performansa yönelik uygulamalara kolay erişim sağlayan bir biçimde ortak pozları içeren bir java.nio.FloatBuffer sunuyor. (I55e27)

Sürüm 1.0.0-alpha05

30 Temmuz 2025

androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05 ve androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 özellikleri kullanıma sunulur. 1.0.0-alpha05 sürümü bu commit'leri içerir.

Yeni Özellikler

  • Geliştiricinin el tarafı bilgilerini (I270bd) alabilmesi için getPrimaryHandSide ekleyin.
  • Coğrafi alan kontrolü VPS kullanılabilirliği API'si ekleyin (I58573)
  • checkVpsAvailability (Idbded) için ARCore API'yi ekleyin
  • Java geliştiricilerin kullanabilmesi için :xr:arcore:arcore-rxjava3'ye stateFlowable uzantı işlevleri eklendi. (I083aa, b/427247794)

API Değişiklikleri

  • Yapılandırma *Mode değerleri, davranışlarını yansıtacak şekilde yeniden adlandırıldı. (I6d247, b/414648065)
  • Ana ARCore yapısı (xr:arcore:arcore) yalnızca Kotlin tarzı asenkron API'ler içerecektir. Java geliştiriciler, uyumlu API'lere erişmek için xr:arcore:arcore-rxjava3 kitaplığını kullanabilir. (Ia525e, b/422794329)
  • Ana ARCore yapısı (xr:scenecore:scenecore) yalnızca Kotlin tarzı eş zamansız API'ler içerecektir. Java geliştiriciler, uyumlu API'lere erişmek için xr:arcore:arcore-guava kitaplığını kullanabilir. (Iffcb4, b/422773524)
  • Java geliştiricilerin kullanımı için Anchor.persistAsync(), AnchorGuava'ye eklendi. (I4af1c, b/425984631)
  • Java geliştiricilerin kullanımı için Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface), EarthGuava'ye eklendi. (I66357, b/425992992)
  • Java geliştiriciler, GltfModel.kt içinde GltfModel.createAsync için uzantı işlevlerini kullanır. GltfModel'daki asenkron işlevler silinecek. (I0af60)
  • Bu kitaplık artık tür kullanımı olan JSpecify nullness ek açıklamalarını kullanıyor. Kotlin geliştiricileri, doğru kullanımı zorunlu kılmak için şu derleyici bağımsız değişkenini kullanmalıdır: -Xjspecify-annotations=strict (Bu, Kotlin derleyicisinin 2.1.0 sürümünden itibaren varsayılan değerdir) (Ia8420, b/326456246)
  • Java geliştiricilerin kullanabilmesi için :xr:arcore:arcore-rxjava3'ye subscribeAsFlowable uzantı işlevleri eklendi. (Id3e49, b/427277298)

Sürüm 1.0.0-alpha04

7 Mayıs 2025

androidx.xr.arcore:arcore:1.0.0-alpha04 iptal edilir. 1.0.0-alpha04 sürümü bu commit'leri içerir.

API Değişiklikleri

  • Kotlin 2.0 ile yayınlanan projelerin kullanılabilmesi için KGP 2.0.0 veya daha yeni bir sürüm gerekir. (Idb6b5)
  • TrackingState ve HandJointType, ARCore'dan Runtime'a taşındı.
  • Hand.State.isActive (boolean), Hand.State.trackingState (androidx.xr.runtime.TrackingState) olarak değiştirildi.
  • UUID geçersizse Anchor.load, Anchor.AnchorLoadInvalidUuid değerini döndürür.

Sürüm 1.0.0-alpha03

26 Şubat 2025

androidx.xr.arcore:arcore:1.0.0-alpha03, son alfa sürümünden bu yana önemli bir değişiklik yapılmadan yayınlandı. 1.0.0-alpha03 sürümü bu commit'leri içerir.

Sürüm 1.0.0-alpha02

12 Şubat 2025

androidx.xr.arcore:arcore:1.0.0-alpha02 iptal edilir. 1.0.0-alpha02 sürümü bu commit'leri içerir.

Yeni Özellikler

  • El takibi desteği eklendi. İzleme bilgilerine erişmek için Hand.left ve Hand.right öğelerini kullanın.
  • Çapa oluşturan API'ler (Anchor.create, Anchor.load, Plane.createAnchor) artık AnchorCreateResult döndürüyor ve AnchorCreateResourcesExhausted'yi düzgün şekilde uyguluyor.

Hata düzeltmeleri

  • Anchor.detach, oturum güncelleme iş parçacığıyla yarış durumu nedeniyle artık kritik bir kilitlenmeye neden olmuyor.
  • Anchor.create, emülatörde çalışırken daha kararlıdır

Sürüm 1.0.0-alpha01

12 Aralık 2024

androidx.xr.arcore:arcore-* 1.0.0-alpha01 iptal edilir.

İlk sürümdeki özellikler

Mevcut ARCore kitaplığından ilham alan Jetpack XR için ARCore kitaplığı, dijital içeriği gerçek dünyayla harmanlama özellikleri sunar. Bu kitaplıkta hareket izleme, kalıcı bağlantılar, isabet testi ve semantik etiketleme (ör. zemin, duvarlar ve masa üstleri) ile düzlem tanımlama yer alır. Jetpack XR için ARCore ile çalışma hakkında daha fazla bilgi edinmek üzere geliştirici kılavuzunu inceleyin.

  • Session: Jetpack XR için ARCore, işlevselliğini sağlamak üzere Jetpack XR Çalışma Zamanı'nı kullanır. Jetpack XR için ARCore API'lerinin çoğuyla etkileşim kurmak için Oturum kullanacağınızdan lütfen dokümanlarına göz atın.

  • Plane: Çevrenizdeki dünyayı anlamak için düzlemleri kullanın. Her düzlem, semantik olarak kendisini tanımlayan bir Label öğesine sahiptir. En son tespit edilen uçaklarla ilgili bildirim almak için subscribe, belirli bir uçakta yapılan değişikliklerle ilgili bildirim almak için ise state simgesini kullanabilirsiniz.

  • Anchor: Sanal bir nesne ile gerçek dünyadaki bir konum arasındaki bağlantı. Sabitleyiciler, create kullanılarak uzayda belirli bir konuma veya Trackable kullanılarak createAnchor'a eklenebilir.

    • Bağlantılar oturumlar arasında yeniden kullanılabilir. Bunları depolamak için persist, numaralandırmak için getPersistedAnchorUuids ve almak için load kullanabilirsiniz. Kullanılmadıklarında bunları unpersist.

    • Sabitleyiciler, Jetpack XR için ARCore ile Jetpack SceneCore arasında birlikte çalışabilir. Sabit kullanarak AnchorEntity oluşturabilir veya mevcut bir AnchorEntity'niz varsa getAnchor kullanarak destekleyici sabitini alabilirsiniz.

    • hitTest kullanarak doğal kullanıcı etkileşimleri sunun. Bir hitTest, hangi içeriklerle kesiştiğini belirlemek ve bu konumdan bir Anchor oluşturmak için Ray kullanır. InputEvent öğesinden hitTest yapmayı deneyin.

Bilinen Sorunlar

  • unpersist numarası arandığında ve UUID'sinin getPersistedAnchorUuids tarafından döndürülen sonuçlardan kaldırıldığında gecikme olabilir.

  • create, sistemin yeni bağlantılar döndürmek için yeterli kaynağa sahip olduğunu doğrulamayacaktır. Aşırı sayıda bağlantı oluşturmak kilitlenmeye neden olabilir.

  • Daha önce kalıcı hale getirilmiş ve kalıcı hale getirilmemiş bir sabitleme noktasını kalıcı hale getirme şu anda desteklenmemektedir.

  • Emülatörde kullanım desteklenir ancak davranış, gerçek bir cihazda çalıştırıldığında olduğu kadar kararlı olmayabilir. Özellikle create çağrıları, yerel kod hatasıyla başarısız olabilir ve etkinliği hemen sonlandırabilir.

  • Bazı durumlarda, persist işlevi "Anchor was not persisted" (Sabitleme kalıcı hale getirilmedi) mesajıyla çağrıldığında RuntimeException yanlışlıkla oluşturulabilir. Bu durumlarda işlev yine de başarılı olur ve sabitleme kalıcı hale getirilir. Geçici çözüm olarak persist çağrısını try bloğuyla sarmalamanızı öneririz.