Jetpack XR के लिए ARCore

असल दुनिया में डिजिटल कॉन्टेंट को देखने की सुविधा.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
07 अक्टूबर, 2026 - 1.0.0-rc02 - -

डिपेंडेंसी का एलान करना

Jetpack XR के लिए ARCore पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.

अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:

ग्रूवी

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

Kotlin

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

डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव/राय दें या शिकायत करें

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.

नई समस्या दर्ज करने का तरीका

ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.

संस्करण 1.0

वर्शन 1.0.0-rc02

07 अक्टूबर, 2026

androidx.xr.arcore:arcore-*:1.0.0-rc02 रिलीज़ हो गया है. वर्शन 1.0.0-rc02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • संवर्धित इमेज ट्रैकिंग की सुविधा काम न करने पर, OpenXrRuntime के सेशन को कॉन्फ़िगर न कर पाने की समस्या को ठीक किया गया है. (I8b9759)
  • कई समस्याएं ठीक की गई हैं. जैसे: applicationContext का इस्तेमाल करके XrInstanceManager में मेमोरी मैनेजमेंट को बेहतर बनाया गया है, Session और Scene के कैश मेमोरी में सेव करने के तरीके को आसान बनाकर, लाइफ़साइकल से जुड़ी संभावित समस्याओं को हल किया गया है, और थ्रेड-सेफ़ क्लीनअप रजिस्ट्रेशन और साफ़ तौर पर डिस्पोज़ल को पक्का करने के लिए, ReferenceCleaner को बेहतर बनाया गया है. (Id0b76c)

वर्शन 1.0.0-rc01

09 सितंबर, 2026

androidx.xr.arcore:arcore-*:1.0.0-rc01 रिलीज़ हो गया है. वर्शन 1.0.0-rc01 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-beta02

12 अगस्त, 2026

androidx.xr.arcore:arcore-*:1.0.0-beta02 रिलीज़ हो गया है. वर्शन 1.0.0-beta02 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • OpenXR ऐंकर परसिस्टेंस में, एक साथ कई अनुरोध करने से जुड़ी समस्या को ठीक किया गया है. (I15c8b)
  • डीबग करने के लिए, ज़्यादा क्लास में toString() लागू किया गया. (I587e8)

वर्शन 1.0.0-beta01

15 जुलाई, 2026

androidx.xr.arcore:arcore-*:1.0.0-beta01 रिलीज़ हो गया है. वर्शन 1.0.0-beta01 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • रीसाइज़ किए जा सकने वाले मॉडिफ़ायर को अपडेट किया गया है, ताकि दो मॉडिफ़ायर (I7fb0f, b/496257436, b/519672992) के बजाय ResizePolicy का इस्तेमाल किया जा सके
  • movePolicy पैरामीटर के साथ, मूव किए जा सकने वाले ओवरलोड को जोड़ा गया. साथ ही, transformingMovable और movable को बंद किया गया (Ic88c1, b/481781189)
  • सार्वजनिक एपीआई से TrackingState.TRACKING_DEGRADED को हटा दिया गया है. साथ ही, मैप के रनटाइम में ट्रैकिंग की सुविधा के काम न करने की स्थितियों को PAUSED पर मैप किया गया है. स्ट्रिंग कन्वर्ज़न और रनटाइम कन्वर्ज़न के लिए, int वैल्यू के बजाय enum का इस्तेमाल करने के लिए, TrackingState अपडेट करें. (I3eb5b, b/524326338)
  • Session.create को suspend फ़ंक्शन में बदल दिया गया है. (I5d27f)
  • ProjectedPermissionsResultContract (I141d5, b/515699436) को बंद कर दिया गया है
  • AnchorEntity को AnchorSpace (Ifa95e, b/513619219) के तौर पर अपडेट किया गया

वर्शन 1.0.0-alpha15

17 जून, 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha15 रिलीज़ हो गया है. वर्शन 1.0.0-alpha15 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • HitResult.createAnchor हटाया गया. अगर नतीजे का ट्रैक किया जा सकने वाला हिस्सा Anchorable है, तो डेवलपर HitResult को दिखाने वाला ऐंकर बना सकते हैं. इसके लिए, उन्हें Anchorable के createAnchor फ़ंक्शन को हिट की पोज़िशन देनी होगी. (Ia851e)
  • AnchorUnsupportedObject हटाया गया. अब इसे JXR ARCore रनटाइम से नहीं भेजा जाता. (Ia851e)
  • androidx.xr.arcore.Anchor और androidx.xr.arcore.ArDevice अब androidx.xr.arcore.Trackable लागू करें. (I57b65)
  • Depth.left, Depth.right, और Depth.mono अब नल नहीं हो सकते (I1fc5e)
  • Face.getUserFace अब नॉन-नलेबल है (I0eac1)
  • RenderViewpoint.left, RenderViewpoint.right, RenderViewpoint.mono अब नल नहीं हो सकते (Icf7fa)
  • Hand.left और Hand.right को शून्य पर सेट नहीं किया जा सकता (Icef37)
  • QrCode एपीआई (Ia0bbe) जोड़ा गया

वर्शन 1.0.0-alpha14

19 मई, 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha14 रिलीज़ हो गया है. वर्शन 1.0.0-alpha14 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • GeospatialMode.VPS_AND_GPS को बंद करके GeospatialMode.SPATIAL को चालू किया गया है. साथ ही, बैटरी की कम खपत करने वाला नया ट्रैकिंग मोड, GeospatialMode.INERTIAL लॉन्च किया गया है. यह सिर्फ़ आईएमयू और जीपीएस का इस्तेमाल करता है. (I1e6cd)
  • कस्टम ऐंकर के अपवाद वाली क्लास: AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException, और AnchorUnsupportedObjectException अब RuntimeException इंस्टेंस हैं. इन्हें जांचने के लिए नहीं बनाया गया है. (I9356e)
  • ArCoreTestRule API जोड़ा गया. इसमें TestArDevice, TestAugmentableObject, TestDepthMap, TestEye, TestFace, TestGeospatial, TestHand, TestPlane, TestRenderViewpoint, और TestTrackable शामिल हैं (I0ad3c)
  • AnchorLoadInvalidUuid, AnchorCreateUnsupportedObject, AnchorCreateUnsupportedLocation, और AnchorCreateNotAuthorized को हटाता है. ये सभी गड़बड़ियां अब रनटाइम में अपवाद हैं. AnchorCreateIllegalState को हटाता है. ज़्यादातर मामलों में, इसे AnchorCreateTrackingUnavailable से बदल दिया गया है. AnchorException और इससे मिली क्लास AnchorInvalidUuidException, AnchorNotAuthorizedException, AnchorUnsupportedLocationException, AnchorRuntimeFailureException, और AnchorUnsupportedObjectException को जोड़ता है. (I4c4dd)

बाहरी योगदान

  • कस्टम मार्कर ट्रैकिंग के लिए AugmentedImage एपीआई जोड़ा गया (I0cf09)

वर्शन 1.0.0-alpha13

6 मई, 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha13 रिलीज़ हो गया है. वर्शन 1.0.0-alpha13 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • TrackingState और VpsAvailabilityResult को androidx.xr.arcore package में ले जाया गया है. साथ ही, androidx.xr.runtime में मौजूद टाइप अब इस्तेमाल नहीं किए जा सकते. (Ic7930, b/480462213)
  • Plane.Type का नाम बदलकर PlaneType कर दिया गया है. (I8c90c, b/482675376)
  • Hand.HandSide का नाम बदलकर HandSide कर दिया गया है. (Ica562, b/482675376)
  • Plane.Label का नाम बदलकर PlaneLabel कर दिया गया है. (Ic6b67, b/482675376)
  • Geospatial.Surface का नाम बदलकर GeospatialSurface कर दिया गया है. (I1a8be, b/482675376)
  • Geospatial.State का नाम बदलकर GeospatialState कर दिया गया. (I203fa, b/482675376)
  • NativeData एपीआई को xr:runtime:runtime लाइब्रेरी में ले जाया गया. (I87954, b/494251500)
  • Session.create और Session.configure अब पूरी तरह से काम नहीं करते. इसलिए, when स्टेटमेंट में else क्लॉज़ की ज़रूरत होती है. (I9885e, b/495805998, b/495805998)
  • androidx.xr.runtime.FieldOfView का अब इस्तेमाल नहीं किया जा सकता. इसके बजाय, androidx.xr.runtime.math.FieldOfView का इस्तेमाल करें. (Ia01a0, b/480233045)
  • Orbiter में, position, offset, offsetType, alignment, और elevation के बजाय OrbiterAnchorPoint + VolumeOffset या OrbiterPoseProvider का इस्तेमाल किया गया है. shouldRenderInNonSpatial पैरामीटर को भी हटा दिया गया है. अगर डेवलपर को ऑर्बिटर को नॉन-स्पेशल में रेंडर नहीं करना है, तो उसे ऑर्बिटर को if स्टेटमेंट में रैप करना चाहिए और SpatialCapabilities की जांच करनी चाहिए. (I9fbb3, b/462428503)
  • हटाए जा सकने वाले मॉडिफ़ायर जोड़े गए. फ़िलहाल, ये मॉडिफ़ायर SpatialPanels और SpatialExternalSurface के लिए सही तरीके से काम करते हैं. ये जल्द ही SpatialGltfModels के लिए भी उपलब्ध होंगे. हालांकि, हमारा मकसद यह है कि ये सुविधाएं सभी SubspaceComposables के लिए अच्छी तरह से काम करें. (I9a3cd, b/479530787, b/478935063, b/478935063)
  • डेवलपर को ArDevice.state फ़्लो का पालन करना चाहिए, ताकि वे State.trackingState की निगरानी कर सकें. साथ ही, ट्रैकिंग की सटीक जानकारी के आधार पर, अपने ऐप्लिकेशन की रेंडरिंग या चेतावनियों को अडजस्ट कर सकें. (Ic00f0, b/445466590)
  • HandJointType एट्रिब्यूट की enum वैल्यू का नाम बदला गया. (Ifbc83, b/482670596)
  • FaceConfidenceRegion कॉन्सटेंट का नाम बदला गया. (Ia62d5, b/482670596)
  • FaceBlendShapeType कॉन्सटेंट का नाम बदला गया. (I33b8b, b/482670596)
  • CreatePoseFromGeospatialPoseErrorInternal और CreateGeospatialPoseFromPoseErrorInternal को जोड़ा गया. (I4bcf1, b/482666615)
  • DeviceTrackingMode.LAST_KNOWN का नाम बदलकर SPATIAL_LAST_KNOWN कर दिया गया (इसमें अब काम न करने वाला फ़ॉलबैक शामिल है). साथ ही, 3DoF ट्रैकिंग के लिए INERTIAL_LAST_KNOWN जोड़ा गया है. इसके अलावा, TRACKING_DEGRADED को TrackingState में जोड़ा गया है. (Ie661c, b/445466590)
  • GroupEntity अब काम नहीं करता. अगर आपको सिर्फ़ बुनियादी Entity फ़ंक्शन वाली Entity चाहिए, तो Entity.create को कॉल करें. इससे आपको Entity इंटरफ़ेस मिलेगा. (I4c450, b/473867483)
  • XrLog एपीआई जोड़ा गया. JetpackXR में लॉगिंग की सुविधा चालू करने के लिए, XrLog.isEnabled को true पर सेट करें. साथ ही, लॉग लेवल सेट करने के लिए XrLog.Level का इस्तेमाल करें. (I76a1f, b/463460895, b/487378441)

गड़बड़ियां ठीक की गईं

  • OpenXR डिवाइसों में, डिवाइस की ट्रैकिंग की स्थिति की जानकारी देने की सुविधा जोड़ी गई है. (I91485, b/445466590)

वर्शन 1.0.0-alpha12

25 मार्च, 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha12 रिलीज़ हो गया है. वर्शन 1.0.0-alpha12 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Config.augmentedObjectCategories को सूची से बदलकर सेट किया गया. (I25a64, b/487376359)
  • टाइप androidx.xr.arcore.Eye और androidx.xr.arcore.Hand. (I42438, b/449032900)
  • Session.create ओवरलोड जोड़ा गया है, ताकि संसाधन के दायरे के लिए Android Context पास किया जा सके. (I7d3fe, b/415805990, b/477386334)
  • FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMIT को FakeRuntimeAnchor.anchorResourceLimit में बदलता है. (I90841, b/431992235)
  • TiltGesture API को एक्सपेरिमेंट के तौर पर उपलब्ध कराया जा रहा है. ऐसा इसलिए, क्योंकि आने वाले समय में इसमें बदलाव किया जा सकता है या इसे हटाया जा सकता है. इस एपीआई का इस्तेमाल करने के लिए, @ExperimentalGesturesApi (Ic9858) में ऑप्ट इन करें
  • कॉन्फ़िगरेशन में AugmentedObject ट्रैकिंग के लिए कैटगरी सेट करने की सुविधा जोड़ी गई (I1f6e4, b/480220930)

गड़बड़ियां ठीक की गईं

  • META-INF/services/ फ़ाइल को PerceptionRuntimeFactory की मौजूदा जगह की जानकारी के साथ अपडेट करके, Chrome के बिल्ड को ठीक किया गया. (I7a801, b/481288291)

वर्शन 1.0.0-alpha11

25 फ़रवरी, 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha11 रिलीज़ हो गया है. वर्शन 1.0.0-alpha11 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-alpha10

28 जनवरी, 2026

androidx.xr.arcore:arcore-*:1.0.0-alpha10 रिलीज़ हो गया है. वर्शन 1.0.0-alpha10 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • TiltGesture एपीआई लॉन्च किया गया है. यह डिवाइस के झुकाव (ऊपर/नीचे) की स्थिति का पता लगाने के लिए, ट्रांज़िशन प्रोग्रेस के साथ एक रिएक्टिव Flow उपलब्ध कराता है. (Ic269f, b/448152779)
  • Jetpack XR के लिए ARCore, अब XR Runtime Logging मेकेनिज़्म का इस्तेमाल करता है. ज़्यादा जानकारी के लिए androidx.xr.runtime.Log देखें. (l52735, b/448697662)

एपीआई में हुए बदलाव

  • Geospatial.createPoseFromGeospatialPose अब OpenXR की सुविधा वाले डिवाइसों पर काम करता है. (l362c6)

वर्शन 1.0.0-alpha09

03 दिसंबर, 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha09 रिलीज़ हो गया है. वर्शन 1.0.0-alpha09 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-alpha08

19 नवंबर, 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha08 रिलीज़ हो गया है. वर्शन 1.0.0-alpha08 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • ARCore अब उन डिवाइसों के साथ काम करता है जिन पर Google Play Services for AR उपलब्ध है.
  • VPS की उपलब्धता और पोज़ कन्वर्ज़न के लिए, Geospatial API जोड़े गए (I144dc)

वर्शन 1.0.0-alpha07

22 अक्टूबर, 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.

गड़बड़ियां ठीक की गईं

  • :xr:arcore:arcore-openxr को :xr:arcore:arcore (I47315, b/446999229) में लागू करने की ज़रूरी शर्त के तौर पर जोड़ा गया है

वर्शन 1.0.0-alpha06

24 सितंबर, 2025

androidx.xr.arcore:arcore-*:1.0.0-alpha06 रिलीज़ हो गया है. वर्शन 1.0.0-alpha06 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • ARCore के लिए टेस्टिंग की सुविधा, xr:arcore:arcore-testing मॉड्यूल पर माइग्रेट कर दी गई है. (I25469)
  • ऐप्लिकेशन को डिवाइस की पोज़ और डिसप्ले कॉन्फ़िगरेशन को रेंडर करने के लिए, ArDevice और RenderViewpoint को जोड़ा गया है. (Ib7e3f)
  • HandJointType प्रीफ़िक्स के साथ HAND_JOINT_TYPE_ enum का नाम बदलें. (I3f7cd)
  • HandJointType को xr:runtime:runtime से xr:arcore:arcore में ले जाया गया है. (Iadb9c, b/409058039)
  • Hand.State अब java.nio.FloatBuffer को ऐसे फ़ॉर्मैट में दिखाता है जिसमें जॉइंट पोज़ होते हैं. इससे परफ़ॉर्मेंस पर फ़ोकस करने वाले ऐप्लिकेशन को आसानी से ऐक्सेस किया जा सकता है. (I55e27)

वर्शन 1.0.0-alpha05

30 जुलाई, 2025

androidx.xr.arcore:arcore:1.0.0-alpha05, androidx.xr.arcore:arcore-guava:1.0.0-alpha05, और androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha05 रिलीज़ किए गए हैं. वर्शन 1.0.0-alpha05 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • डेवलपर को दाईं ओर की जानकारी (I270bd) मिल सके, इसके लिए getPrimaryHandSide जोड़ें
  • जियोस्पेशल चेक वीपीएस की उपलब्धता वाला एपीआई (I58573) जोड़ें
  • checkVpsAvailability (Idbded) के लिए ARCore API जोड़ा गया
  • Java डेवलपर के इस्तेमाल के लिए, :xr:arcore:arcore-rxjava3 में stateFlowable एक्सटेंशन फ़ंक्शन जोड़े गए. (I083aa, b/427247794)

एपीआई में हुए बदलाव

  • Config *Mode वैल्यू के नाम बदल दिए गए हैं, ताकि उनके काम करने के तरीके के बारे में पता चल सके. (I6d247, b/414648065)
  • ARCore के मुख्य आर्टफ़ैक्ट (xr:arcore:arcore) में सिर्फ़ Kotlin-स्टाइल वाले एसिंक एपीआई शामिल होंगे. Java डेवलपर, xr:arcore:arcore-rxjava3 लाइब्रेरी का इस्तेमाल करके, काम करने वाले एपीआई को ऐक्सेस कर सकते हैं. (Ia525e, b/422794329)
  • मुख्य ARCore आर्टफ़ैक्ट (xr:scenecore:scenecore) में सिर्फ़ Kotlin-स्टाइल वाले एसिंक एपीआई शामिल होंगे. Java डेवलपर, xr:arcore:arcore-guava लाइब्रेरी का इस्तेमाल करके, काम करने वाले एपीआई को ऐक्सेस कर सकते हैं. (Iffcb4, b/422773524)
  • Java डेवलपर के इस्तेमाल के लिए, Anchor.persistAsync() को AnchorGuava में जोड़ा गया. (I4af1c, b/425984631)
  • Java डेवलपर के इस्तेमाल के लिए, Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface) को EarthGuava में जोड़ा गया. (I66357, b/425992992)
  • Java डेवलपर, GltfModel.kt में GltfModel.createAsync के लिए एक्सटेंशन फ़ंक्शन का इस्तेमाल करेंगे. GltfModel में मौजूद एसिंक फ़ंक्शन मिटा दिए जाएंगे. (I0af60)
  • यह लाइब्रेरी अब JSpecify के nullness एनोटेशन का इस्तेमाल करती है. ये एनोटेशन, टाइप-यूज़ होते हैं. Kotlin डेवलपर को सही तरीके से इस्तेमाल करने के लिए, कंपाइलर के इस आर्ग्युमेंट का इस्तेमाल करना चाहिए: -Xjspecify-annotations=strict (यह Kotlin कंपाइलर के 2.1.0 वर्शन से डिफ़ॉल्ट रूप से शुरू होता है) (Ia8420, b/326456246)
  • Java डेवलपर के इस्तेमाल के लिए, :xr:arcore:arcore-rxjava3 में subscribeAsFlowable एक्सटेंशन फ़ंक्शन जोड़े गए. (Id3e49, b/427277298)

वर्शन 1.0.0-alpha04

7 मई, 2025

androidx.xr.arcore:arcore:1.0.0-alpha04 रिलीज़ हो गया है. वर्शन 1.0.0-alpha04 में ये बदलाव शामिल हैं.

एपीआई में हुए बदलाव

  • Kotlin 2.0 के साथ रिलीज़ किए गए प्रोजेक्ट का इस्तेमाल करने के लिए, KGP 2.0.0 या इसके बाद के वर्शन की ज़रूरत होती है. (Idb6b5)
  • TrackingState और HandJointType को ARCore से Runtime में ट्रांसफ़र कर दिया गया है.
  • Hand.State.isActive (boolean) को बदलकर Hand.State.trackingState (androidx.xr.runtime.TrackingState) कर दिया गया है.
  • अगर यूयूआईडी अमान्य है, तो Anchor.load, Anchor.AnchorLoadInvalidUuid दिखाता है.

वर्शन 1.0.0-alpha03

26 फ़रवरी, 2025

androidx.xr.arcore:arcore:1.0.0-alpha03 को पिछले ऐल्फ़ा वर्शन के बाद से बिना किसी खास बदलाव के रिलीज़ किया गया है. वर्शन 1.0.0-alpha03 में ये बदलाव शामिल हैं.

वर्शन 1.0.0-alpha02

12 फ़रवरी, 2025

androidx.xr.arcore:arcore:1.0.0-alpha02 रिलीज़ हो गया है. वर्शन 1.0.0-alpha02 में ये बदलाव शामिल हैं.

नई सुविधाएं

  • हाथ ट्रैक करने की सुविधा जोड़ी गई. ट्रैकिंग की जानकारी ऐक्सेस करने के लिए, Hand.left और Hand.right का इस्तेमाल करें.
  • एंकर जनरेट करने वाले एपीआई (Anchor.create, Anchor.load, Plane.createAnchor) अब सभी AnchorCreateResult दिखाते हैं और AnchorCreateResourcesExhausted को सही तरीके से लागू करते हैं.

गड़बड़ियां ठीक की गईं

  • Anchor.detach अब सेशन अपडेट थ्रेड के साथ रेस कंडीशन की वजह से, गंभीर क्रैश की समस्या पैदा नहीं करता.
  • Anchor.create एम्युलेटर पर ज़्यादा बेहतर तरीके से काम करता है

वर्शन 1.0.0-alpha01

12 दिसंबर, 2024

androidx.xr.arcore:arcore-* 1.0.0-alpha01 रिलीज़ हो गया है.

शुरुआती रिलीज़ की सुविधाएं

ARCore की मौजूदा लाइब्रेरी से प्रेरणा लेकर, ARCore for Jetpack XR लाइब्रेरी बनाई गई है. यह लाइब्रेरी, डिजिटल कॉन्टेंट को असल दुनिया के साथ ब्लेंड करने की सुविधाएं उपलब्ध कराती है. इस लाइब्रेरी में मोशन ट्रैकिंग, परसिस्टेंट ऐंकर, हिट टेस्टिंग, और सिमैंटिक लेबलिंग के साथ-साथ प्लेन आइडेंटिफ़िकेशन की सुविधा शामिल है. जैसे, फ़र्श, दीवारें, और टेबलटॉप. Jetpack XR के लिए ARCore का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, डेवलपर गाइड देखें.

  • Session: Jetpack XR के लिए ARCore, अपनी सुविधाओं को चालू करने के लिए, Jetpack XR Runtime का इस्तेमाल करता है. आपको Jetpack XR के ज़्यादातर ARCore API के साथ इंटरैक्ट करने के लिए, सेशन का इस्तेमाल करना होगा. इसलिए, कृपया इसके दस्तावेज़ देखें.

  • Plane: अपने आस-पास की दुनिया को समझने के लिए, प्लेन का इस्तेमाल करें. हर प्लैन में एक Label होता है, जो उसके बारे में बताता है. subscribe का इस्तेमाल करके, हाल ही में पता लगाए गए विमानों के बारे में सूचनाएं पाई जा सकती हैं. इसके अलावा, state का इस्तेमाल करके, किसी विमान में हुए बदलावों के बारे में सूचनाएं पाई जा सकती हैं.

  • Anchor: वर्चुअल ऑब्जेक्ट और असल दुनिया की जगह के बीच का लिंक. ऐंकर को स्पेस में किसी खास जगह (create का इस्तेमाल करके) या Trackable (createAnchor का इस्तेमाल करके) से जोड़ा जा सकता है.

    • एंकर का इस्तेमाल, सभी सेशन में फिर से किया जा सकता है. इन्हें सेव करने के लिए persist, इनकी गिनती करने के लिए getPersistedAnchorUuids, और इन्हें वापस पाने के लिए load का इस्तेमाल किया जा सकता है. जब इनका इस्तेमाल न हो रहा हो, तब इन्हें unpersist करना न भूलें.

    • ऐंकर, ARCore for Jetpack XR और Jetpack SceneCore के बीच इंटरऑपरेबल होते हैं. ऐंकर का इस्तेमाल करके, AnchorEntity बनाया जा सकता है. इसके अलावा, अगर आपके पास कोई मौजूदा AnchorEntity है, तो getAnchor का इस्तेमाल करके, उसके साथ जुड़ा ऐंकर वापस पाया जा सकता है.

    • hitTest का इस्तेमाल करके, उपयोगकर्ताओं को स्वाभाविक इंटरैक्शन का अनुभव दें. हिटटेस्ट, Ray का इस्तेमाल करके यह पता लगाता है कि वह किस कॉन्टेंट से इंटरसेक्ट करता है. साथ ही, उस जगह से Anchor बनाता है. InputEvent से hitTest करें.

आम समस्याएं

  • unpersist को कॉल करने और getPersistedAnchorUuids से मिले नतीजों से इसके यूयूआईडी को हटाने में कुछ समय लग सकता है.

  • create यह पुष्टि नहीं करेगा कि सिस्टम के पास नए ऐंकर वापस लाने के लिए ज़रूरी संसाधन हैं. बहुत ज़्यादा ऐंकर बनाने से, ऐप्लिकेशन क्रैश हो सकता है.

  • फ़िलहाल, पहले से सेव किए गए और फिर हटाए गए ऐंकर को फिर से सेव करने की सुविधा उपलब्ध नहीं है.

  • एम्युलेटर में इसका इस्तेमाल किया जा सकता है. हालांकि, हो सकता है कि यह किसी असली डिवाइस पर इस्तेमाल करने जितना स्थिर न हो. खास तौर पर, create को किए गए कॉल, नेटिव कोड की गड़बड़ी की वजह से पूरे नहीं हो सकते. साथ ही, गतिविधि तुरंत बंद हो सकती है.

  • कुछ मामलों में, persist को कॉल करते समय, “ऐंकर सेव नहीं किया गया” मैसेज के साथ RuntimeException गड़बड़ी का मैसेज दिख सकता है. हालांकि, ऐसे मामलों में फ़ंक्शन अब भी काम करेगा और ऐंकर सेव हो जाएगा. हमारा सुझाव है कि persist को कॉल करने के लिए, try ब्लॉक का इस्तेमाल करें.