Jetpack XR के लिए ARCore
| नया अपडेट | अच्छी तरह काम करने वाला वर्शन | रिलीज़ कैंडिडेट | बीटा वर्शन | ऐल्फ़ा वर्शन |
|---|---|---|---|---|
| 6 मई, 2026 | - | - | - | 1.0.0-alpha13 |
डिपेंडेंसी की जानकारी देना
Jetpack XR के लिए ARCore पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी के बारे में पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha13" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha13" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha13") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha13") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha13") }
डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker से जुड़ा दस्तावेज़ देखें.
वर्शन 1.0
वर्शन 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)- ऑर्बिटर को अब पोज़िशन, ऑफ़सेट, ऑफ़सेट टाइप, अलाइनमेंट, और एलिवेशन के बजाय,
OrbiterAnchorPoint + VolumeOffsetयाOrbiterPoseProviderका इस्तेमाल करने के लिए बदला गया है. साथ ही,shouldRenderInNonSpatialपैरामीटर को भी हटा दिया गया है. अगर डेवलपर नहीं चाहते कि ऑर्बिटर, नॉन-स्पेशल में रेंडर हो, तो उन्हें ऑर्बिटर को if स्टेटमेंट में रैप करना चाहिए औरSpatialCapabilitiesकी जांच करनी चाहिए. (I9fbb3, b/462428503) - मूवेबल मॉडिफ़ायर जोड़े गए. फ़िलहाल, ये मॉडिफ़ायर
SpatialPanelsऔरSpatialExternalSurfaceके लिए अच्छी तरह काम करते हैं. जल्द ही, इन्हेंSpatialGltfModelsके लिए भी इस्तेमाल किया जा सकेगा. हालांकि, हमारा मकसद है कि ये सभीSubspaceComposablesके लिए अच्छी तरह काम करें. (I9a3cd, b/479530787, b/478935063, b/478935063) - डेवलपर से उम्मीद की जाती है कि वे
State.trackingStateको मॉनिटर करने के लिए,ArDevice.stateफ़्लो को देखें. साथ ही, ट्रैकिंग की फ़िडेलिटी के आधार पर, अपने ऐप्लिकेशन की रेंडरिंग या चेतावनियों को अडजस्ट करें. (Ic00f0, b/445466590) HandJointTypeenum वैल्यू के नाम बदले गए. (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जोड़ा गया है. साथ ही,TrackingStateमेंTRACKING_DEGRADEDजोड़ा गया है. (Ie661c, b/445466590)GroupEntityअब काम नहीं करता. सिर्फ़ बेस एंटिटी की सुविधा वाली एंटिटी पाने के लिए,Entity.createको कॉल करें. इससे एंटिटी इंटरफ़ेस मिलेगा. (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)- संसाधन-स्कोपिंग के लिए, Android कॉन्टेक्स्ट पास करने की अनुमति देने के लिए,
Session.createओवरलोड जोड़ा गया. (I7d3fe, b/415805990, b/477386334) FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITको बदलकरFakeRuntimeAnchor.anchorResourceLimitकिया गया. (I90841, b/431992235)TiltGestureएपीआई को एक्सपेरिमेंटल बनाया गया है, क्योंकि इसे आने वाले समय में बदला या हटाया जा सकता है. इस एपीआई का इस्तेमाल करने के लिए,@ExperimentalGesturesApiको ऑप्ट-इन करें (Ic9858)- कॉन्फ़िगरेशन में,
AugmentedObjectट्रैकिंग के लिए कैटगरी सेट करने की सुविधा जोड़ी गई (I1f6e4, b/480220930)
गड़बड़ियां ठीक की गईं
PerceptionRuntimeFactoryकी असल जगह की जानकारी के साथ META-INF/services/ फ़ाइल को अपडेट करके, 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 लॉगिंग के तरीके का इस्तेमाल करता है. ज़्यादा जानकारी के लिए,
androidx.xr.runtime.Logदेखें. (l52735, b/448697662)
एपीआई में किए गए बदलाव
Geospatial.createPoseFromGeospatialPoseअब OpenXR की सुविधा वाले डिवाइसों पर काम करता है. (l362c6)
वर्शन 1.0.0-alpha09
3 दिसंबर, 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 में ये बदलाव शामिल हैं.
नई सुविधाएं
- Jetpack XR के लिए
ARCoreअब उन डिवाइसों के साथ काम करता है जिन पर Google Play Services for AR उपलब्ध है. - वीपीएस की उपलब्धता और पोज़ कन्वर्ज़न के लिए, Geospatial API जोड़े गए (I144dc)
वर्शन 1.0.0-alpha07
22 अक्टूबर, 2025
androidx.xr.arcore:arcore-*:1.0.0-alpha07 रिलीज़ हो गया है. वर्शन 1.0.0-alpha07 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
:xr:arcore:arcoreमें,:xr:arcore:arcore-openxrको लागू करने के लिए डिपेंडेंसी के तौर पर जोड़ा गया (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)HandJointTypeenum के नाम बदलकर, उनमेंHAND_JOINT_TYPE_प्रीफ़िक्स जोड़ा गया. (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 में ये बदलाव शामिल हैं.
नई सुविधाएं
getPrimaryHandSideजोड़ा गया, ताकि डेवलपर को हाथ की साइड की जानकारी मिल सके (I270bd)- वीपीएस की उपलब्धता की जांच करने के लिए, Geospatial API जोड़ा गया (I58573)
checkVpsAvailabilityके लिए, ARCore API जोड़ा गया (Idbded)- Java डेवलपर के इस्तेमाल के लिए,
:xr:arcore:arcore-rxjava3मेंstateFlowableएक्सटेंशन फ़ंक्शन जोड़े गए. (I083aa, b/427247794)
एपीआई में किए गए बदलाव
- कॉन्फ़िगरेशन
*Modevals के नाम बदलकर, उनके काम करने के तरीके के हिसाब से रखे गए हैं. (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 डेवलपर के इस्तेमाल के लिए,
AnchorGuavaमेंAnchor.persistAsync()जोड़ा गया. (I4af1c, b/425984631) - Java डेवलपर के इस्तेमाल के लिए,
EarthGuavaमेंEarth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)जोड़ा गया. (I66357, b/425992992) - Java डेवलपर,
GltfModel.ktमेंGltfModel.createAsyncके लिए, एक्सटेंशन फ़ंक्शन का इस्तेमाल करेंगे.GltfModelमें मौजूद एसिंक फ़ंक्शन मिटा दिए जाएंगे. (I0af60) - इस लाइब्रेरी में अब JSpecify की नलनेस एनोटेशन का इस्तेमाल किया जाता है. ये टाइप-यूज़ एनोटेशन हैं. 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 लाइब्रेरी से प्रेरणा लेकर, Jetpack XR के लिए ARCore लाइब्रेरी, डिजिटल कॉन्टेंट को असल दुनिया के साथ ब्लेंड करने की सुविधाएं उपलब्ध कराती है. इस लाइब्रेरी में मोशन ट्रैकिंग, परसिस्टेंट ऐंकर, हिट टेस्टिंग, और सिमेंटिक लेबलिंग (उदाहरण के लिए, फ़्लोर, दीवारें, और टेबलटॉप) के साथ प्लेन की पहचान करने की सुविधाएं शामिल हैं. Jetpack XR के लिए ARCore के साथ काम करने के बारे में ज़्यादा जानने के लिए, डेवलपर गाइड देखें.
Session: Jetpack XR के लिए ARCore, अपनी सुविधाओं को बेहतर बनाने के लिए, बैकग्राउंड में Jetpack XR Runtime का इस्तेमाल करता है. Jetpack XR के लिए ARCore के ज़्यादातर एपीआई के साथ इंटरैक्ट करने के लिए, आपको सेशन का इस्तेमाल करना होगा. इसलिए, कृपया इसका दस्तावेज़ देखें.Plane: अपने आस-पास की दुनिया को समझने के लिए, प्लेन का इस्तेमाल करें. हर प्लेन में एकLabelहोता है, जो सिमेंटिक तौर पर उसका ब्यौरा देता है. हाल ही में पता लगाए गए प्लेन के बारे में सूचना पाने के लिए,subscribeका इस्तेमाल किया जा सकता है. वहीं, किसी खास प्लेन में किए गए बदलावों के बारे में सूचना पाने के लिए,stateका इस्तेमाल किया जा सकता है.Anchor: वर्चुअल ऑब्जेक्ट और असल दुनिया की जगह के बीच का लिंक. एंकर को स्पेस में किसी खास जगह (createका इस्तेमाल करके) याTrackable(createAnchorका इस्तेमाल करके) से जोड़ा जा सकता है.एंकर का फिर से इस्तेमाल किया जा सकता है. इन्हें सेव करने के लिए
persist, इनकी गिनती करने के लिएgetPersistedAnchorUuids, और इन्हें वापस पाने के लिएloadका इस्तेमाल किया जा सकता है. पक्का करें कि इस्तेमाल में न होने पर, इन्हेंunpersistकर दिया जाए.एंकर, Jetpack XR के लिए ARCore और Jetpack SceneCore के बीच इंटरऑपरेबल होते हैं. एंकर का इस्तेमाल करके,
AnchorEntityबनाया जा सकता है. इसके अलावा, अगर आपके पास पहले से कोई AnchorEntity है, तो इसके बैकअप ऐंकर को वापस पाने के लिए,getAnchorका इस्तेमाल किया जा सकता है.hitTestका इस्तेमाल करके, उपयोगकर्ता के साथ स्वाभाविक इंटरैक्शन उपलब्ध कराएं. hitTest,Rayका इस्तेमाल करके यह पता लगाता है कि यह किन कॉन्टेंट को इंटरसेक्ट करता है. साथ ही, उस जगह सेAnchorबनाता है.InputEventसे hitTest करने पर विचार करें.
पहले से मालूम समस्याएं
unpersistको कॉल करने औरgetPersistedAnchorUuidsसे मिले नतीजों से इसके यूयूआईडी को हटाने के बीच कुछ समय लग सकता है.createयह पुष्टि नहीं करेगा कि सिस्टम के पास नए ऐंकर वापस पाने के लिए, पर्याप्त संसाधन हैं. बहुत ज़्यादा ऐंकर बनाने पर, ऐप्लिकेशन क्रैश हो सकता है.फ़िलहाल, पहले से सेव किए गए और फिर अनसेव किए गए ऐंकर को फिर से सेव करने की सुविधा उपलब्ध नहीं है.
एम्युलेटर में इस्तेमाल करने की सुविधा उपलब्ध है, लेकिन हो सकता है कि यह असल डिवाइस पर रन करने जितना स्टेबल न हो. खास तौर पर,
createको कॉल करने पर, नेटिव कोड की गड़बड़ी हो सकती है और गतिविधि तुरंत खत्म हो सकती है.कुछ मामलों में,
RuntimeExceptionको “ऐंकर सेव नहीं किया गया” मैसेज के साथ कॉल करने पर, गड़बड़ी सेpersistथ्रो हो सकता है. हालांकि, इन मामलों में भी फ़ंक्शन काम करेगा और ऐंकर सेव हो जाएगा. हमारा सुझाव है कि वर्कअराउंड के तौर पर,persistको कॉल करने के लिएtryब्लॉक का इस्तेमाल करें.