Jetpack XR için ARCore

Algılama özellikleriyle dijital içerikleri 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ü
7 Ekim 2026 - 1.0.0-rc02 - -

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 deposu başlıklı makaleyi inceleyin.

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-rc02"
}

Kotlin

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

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 varsa lütfen bize bildirin. Lütfen yeni bir tane oluşturmadan önce 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 Issue Tracker belgelerine bakın.

Sürüm 1.0

Sürüm 1.0.0-rc02

7 Ekim 2026

androidx.xr.arcore:arcore-*:1.0.0-rc02 yayınlandı. 1.0.0-rc02 sürümü bu commit'leri içerir.

Hata düzeltmeleri

  • Artırılmış görüntü izleme desteklenmediğinde OpenXrRuntime'nın oturumu yapılandıramamasına neden olan sorun düzeltildi. (I8b9759)
  • Aşağıdakiler de dahil olmak üzere çeşitli sorunlar düzeltildi: XrInstanceManager içinde applicationContext kullanılarak bellek yönetimi iyileştirildi, Session ve Scene önbelleğe alma mekanizmaları basitleştirilerek yaşam döngüsüyle ilgili olası sorunlar çözüldü ve ileti dizisi güvenli temizleme kayıtları ile açıkça silme işlemlerini sağlamak için ReferenceCleaner geliştirildi. (Id0b76c)

Sürüm 1.0.0-rc01

9 Eylül 2026

androidx.xr.arcore:arcore-*:1.0.0-rc01 yayınlandı. 1.0.0-rc01 sürümü bu commit'leri içerir.

Sürüm 1.0.0-beta02

12 Ağustos 2026

androidx.xr.arcore:arcore-*:1.0.0-beta02 yayınlandı. 1.0.0-beta02 sürümü bu commit'leri içerir.

Hata düzeltmeleri

  • OpenXR bağlantı noktası kalıcılığındaki eşzamanlılık sorununu düzeltir. (I15c8b)
  • Hata ayıklama için toString() daha fazla sınıfta uygulandı. (I587e8)

Sürüm 1.0.0-beta01

15 Temmuz 2026

androidx.xr.arcore:arcore-*:1.0.0-beta01 yayınlandı. 1.0.0-beta01 sürümü bu commit'leri içerir.

API değişiklikleri

  • Yeniden boyutlandırılabilir değiştirici, iki değiştirici (I7fb0f, b/496257436, b/519672992) yerine ResizePolicy kullanacak şekilde güncellendi.
  • movePolicy parametresiyle taşınabilir aşırı yükleme eklendi ve transformingMovable ile movable desteği sonlandırıldı (Ic88c1, b/481781189)
  • TrackingState.TRACKING_DEGRADED, genel API yüzeyinden kaldırıldı ve bunun yerine çalışma zamanı düşürülmüş durumları PAUSED olarak eşlendi. Dize dönüşümü ve çalışma zamanı dönüşümü için int değerleri yerine enum'ları kullanmak üzere TrackingState öğesini güncelleyin. (I3eb5b, b/524326338)
  • Converted Session.create to a suspend function. (I5d27f)
  • ProjectedPermissionsResultContract kullanımdan kaldırıldı (I141d5, b/515699436)
  • AnchorEntity, AnchorSpace olarak güncellendi (Ifa95e, b/513619219)

Sürüm 1.0.0-alpha15

17 Haziran 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha15 yayınlandı. 1.0.0-alpha15 sürümü bu commit'leri içerir.

API değişiklikleri

  • HitResult.createAnchor kaldırıldı. Geliştiriciler, sonuç izlenebilir öğesi bir Anchorable ise createAnchor işlevinin Anchorable öğesine isabet konumunu sağlayarak HitResult öğesini temsil eden bir bağlantı oluşturabilir. (Ia851e)
  • AnchorUnsupportedObject kaldırıldı. Artık JXR ARCore çalışma zamanı tarafından atılmıyor. (Ia851e)
  • androidx.xr.arcore.Anchor ve androidx.xr.arcore.ArDevice artık androidx.xr.arcore.Trackable'yi uyguluyor. (I57b65)
  • Depth.left, Depth.right ve Depth.mono artık boş değer atanamaz (I1fc5e)
  • Face.getUserFace artık boş değer atanamaz (I0eac1)
  • RenderViewpoint.left, RenderViewpoint.right, RenderViewpoint.mono artık boş değer olamaz (Icf7fa)
  • Hand.left ve Hand.right, boş değer atanamaz (Icef37)
  • QrCode API'si eklendi (Ia0bbe)

Sürüm 1.0.0-alpha14

19 Mayıs 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha14 yayınlandı. 1.0.0-alpha14 sürümü bu commit'leri içerir.

API değişiklikleri

  • GeospatialMode.VPS_AND_GPS yerine GeospatialMode.SPATIAL'nin desteği sonlandırıldı ve yalnızca IMU ile GPS kullanan yeni bir düşük güçte izleme modu olan GeospatialMode.INERTIAL kullanıma sunuldu. (I1e6cd)
  • Özel bağlantı istisnası sınıfları: AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException ve AnchorUnsupportedObjectException artık RuntimeException örnekleridir ve kontrol edilmek üzere tasarlanmamıştır. (I9356e)
  • TestArDevice, TestAugmentableObject, TestDepthMap, TestEye, TestFace, TestGeospatial, TestHand, TestPlane, TestRenderViewpoint ve TestTrackable dahil olmak üzere ArCoreTestRule API'si eklendi (I0ad3c)
  • AnchorLoadInvalidUuid, AnchorCreateUnsupportedObject, AnchorCreateUnsupportedLocation ve AnchorCreateNotAuthorized öğelerini kaldırır. Bu hataların tümü artık çalışma zamanında istisna olarak değerlendiriliyor. AnchorCreateIllegalState öğesini kaldırır. Bu, çoğu durumda AnchorCreateTrackingUnavailable ile değiştirildi. AnchorException ve türetilmiş sınıflar AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException ve AnchorUnsupportedObjectException eklenir. (I4c4dd)

Harici Katkı

  • Özel işaretçi izleme için AugmentedImage API'si eklendi (I0cf09).

Sürüm 1.0.0-alpha13

6 Mayıs 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha13 yayınlandı. 1.0.0-alpha13 sürümü bu commit'leri içerir.

API değişiklikleri

  • TrackingState ve VpsAvailabilityResult, androidx.xr.arcore package'ye taşındı. androidx.xr.runtime'deki türler artık kullanımdan kaldırıldı. (Ic7930, b/480462213)
  • Plane.Type, PlaneType olarak yeniden adlandırıldı. (I8c90c, b/482675376)
  • Hand.HandSide, HandSide olarak yeniden adlandırıldı. (Ica562, b/482675376)
  • Plane.Label, PlaneLabel olarak yeniden adlandırıldı. (Ic6b67, b/482675376)
  • Geospatial.Surface, GeospatialSurface olarak yeniden adlandırıldı. (I1a8be, b/482675376)
  • Geospatial.State, GeospatialState olarak yeniden adlandırıldı. (I203fa, b/482675376)
  • NativeData API'si xr:runtime:runtime kitaplığına taşındı. (I87954, b/494251500)
  • Session.create ve Session.configure artık kapsamlı değildir ve when ifadelerinde else ifadeleri gerektirir. (I9885e, b/495805998, b/495805998)
  • androidx.xr.runtime.FieldOfView desteği sonlandırıldı. Bunun yerine androidx.xr.runtime.math.FieldOfView kullanın. (Ia01a0, b/480233045)
  • Orbiter'ın konum, uzaklık, uzaklık türü, hizalama ve yükseklik yerine OrbiterAnchorPoint + VolumeOffset veya OrbiterPoseProvider kullanması sağlandı. Ayrıca shouldRenderInNonSpatial parametresi de kaldırıldı. Geliştirici, orbiter'ın uzamsal olmayan şekilde oluşturulmasını istemiyorsa orbiter'ı bir if ifadesiyle sarmalı ve SpatialCapabilities işaretini kontrol etmelidir. (I9fbb3, b/462428503)
  • Taşınabilir değiştiriciler eklendi. Bu değiştiriciler şu anda SpatialPanels ve SpatialExternalSurface için iyi sonuçlar veriyor. Çok yakında SpatialGltfModels için de desteklenecekler. Ancak bu özelliklerin tüm SubspaceComposables için iyi bir şekilde desteklenmesi amaçlanmaktadır. (I9a3cd, b/479530787, b/478935063, b/478935063)
  • Geliştiricilerin, ArDevice.state İzleme akışını State.trackingState gözlemlemesi ve uygulamasının oluşturma veya uyarılarını izleme doğruluğuna göre ayarlaması beklenir. (Ic00f0, b/445466590)
  • HandJointType enum değerleri yeniden adlandırıldı. (Ifbc83, b/482670596)
  • FaceConfidenceRegion sabitleri yeniden adlandırıldı. (Ia62d5, b/482670596)
  • FaceBlendShapeType sabitleri yeniden adlandırıldı. (I33b8b, b/482670596)
  • CreatePoseFromGeospatialPoseErrorInternal ve CreateGeospatialPoseFromPoseErrorInternal eklendi. (I4bcf1, b/482666615)
  • DeviceTrackingMode.LAST_KNOWN, SPATIAL_LAST_KNOWN olarak yeniden adlandırıldı (kullanımdan kaldırılmış bir geri dönüşle), 3DoF izleme için INERTIAL_LAST_KNOWN eklendi ve TRACKING_DEGRADED, TrackingState'ye eklendi. (Ie661c, b/445466590)
  • GroupEntity desteği sonlandırıldı. Yalnızca temel Entity işlevine sahip bir Entity'ye sahip olmak için Entity.create işlevini çağırın. Bu işlev, bir Entity arayüzü döndürür. (I4c450, b/473867483)
  • XrLog API'si eklendi. JetpackXR'de günlük kaydını etkinleştirmek için XrLog.isEnabled değerini true olarak ayarlayın ve günlük düzeyini ayarlamak için XrLog.Level değerini kullanın. (I76a1f, b/463460895, b/487378441)

Hata düzeltmeleri

Sürüm 1.0.0-alpha12

25 Mart 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha12 yayınlandı. 1.0.0-alpha12 sürümü bu commit'leri içerir.

API değişiklikleri

  • Config.augmentedObjectCategories, Liste'den Küme'ye değiştirildi. (I25a64, b/487376359)
  • androidx.xr.arcore.Eye ve androidx.xr.arcore.Hand türleri. (I42438, b/449032900)
  • Kaynak kapsamı belirleme için Android bağlamının iletilmesine izin vermek üzere Session.create aşırı yüklemesi eklendi. (I7d3fe, b/415805990, b/477386334)
  • FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMIT öğesini FakeRuntimeAnchor.anchorResourceLimit olarak değiştirir. (I90841, b/431992235)
  • TiltGesture API'nin deneysel olarak işaretlenmesi. Bu API gelecekte değiştirilebilir veya kaldırılabilir. Bu API'yi kullanmak için @ExperimentalGesturesApi'i (Ic9858) etkinleştirin.
  • Yapılandırmada (I1f6e4, b/480220930) AugmentedObject izleme için kategoriler ayarlama özelliği eklendi.

Hata düzeltmeleri

  • META-INF/services/ dosyasını PerceptionRuntimeFactory konumunun gerçek konumuyla güncelleyerek Chrome'un derlemesi düzeltildi. (I7a801, b/481288291)

Sürüm 1.0.0-alpha11

25 Şubat 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha11 yayınlandı. 1.0.0-alpha11 sürümü bu commit'leri içerir.

Sürüm 1.0.0-alpha10

28 Ocak 2026

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

Yeni Özellikler

  • TiltGesture API'yi kullanıma sunar. Bu API, geçiş ilerleme durumuyla birlikte cihazın eğim (YUKARI/AŞAĞI) durumunun kararlı bir şekilde algılanması için reaktif bir Flow sağlar. (Ic269f, b/448152779)
  • Jetpack XR için ARCore artık XR Çalışma Zamanı Kaydı mekanizmasını kullanıyor. Daha fazla bilgi için androidx.xr.runtime.Log sayfasına bakı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 yayınlandı. 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 yayınlandı. 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 yayınlandı. 1.0.0-alpha07 sürümü bu commit'leri içerir.

Hata düzeltmeleri

  • :xr:arcore:arcore-openxr, :xr:arcore:arcore'ye 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 yayınlandı. 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 konumundan xr:arcore:arcore konumuna taşındı. (Iadb9c, b/409058039)
  • Hand.State artık performans odaklı 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 yayınlandı. 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.
  • VPS kullanılabilirliği için jeo-uzaysal kontrol API'si ekleyin (I58573)
  • checkVpsAvailability için ARCore API'sini ekleyin (Idbded)
  • 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ı eş zamansız API'ler içerecek. 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çerir. Java geliştiriciler, uyumlu API'lere erişmek için xr:arcore:arcore-guava kitaplığını kullanabilir. (Iffcb4, b/422773524)
  • Java geliştiricilerin kullanabilmesi için Anchor.persistAsync(), AnchorGuava'ye eklendi. (I4af1c, b/425984631)
  • Java geliştiricilerin kullanabilmesi 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 içindeki 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 yayınlandı. 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 yayınlandı. 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 simgelerini 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 ölümcül 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 yayınlandı.

İ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 Runtime'ı kullanır. Çoğu ARCore for Jetpack XR API'siyle etkileşim kurmak için bir oturum kullanırsınız. Bu nedenle, lütfen oturumun dokümanlarına göz atın.

  • Plane: Çevrenizdeki dünyayı anlamak için düzlemleri kullanın. Her düzlem, semantik olarak onu tanımlayan bir Label içerir. En son tespit edilen uçaklar hakkında bildirim almak için subscribe, belirli bir uçakta yapılan değişiklikler hakkında bildirim almak için ise state simgesini kullanabilirsiniz.

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

    • Sabitleyiciler oturumlar arasında yeniden kullanılabilir. Bunları depolamak için persist, numaralandırmak için getPersistedAnchorUuids ve almak için load kullanabilirsiniz. Artık kullanılmadıklarında unpersist emin olun.

    • Sabitleyiciler, Jetpack XR için ARCore ile Jetpack SceneCore arasında birlikte çalışabilir. Sabit nokta kullanarak AnchorEntity oluşturabilir veya mevcut bir AnchorEntity'niz varsa getAnchor kullanarak destekleyici sabit noktasını 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ı düşünün.

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. Çok fazla 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 "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.