Jetpack XR के लिए ARCore
| नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
|---|---|---|---|---|
| 06 मई, 2026 | - | - | - | 1.0.0-alpha13 |
डिपेंडेंसी का एलान करना
Jetpack XR के लिए ARCore पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha13" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha13") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव/राय दें या शिकायत करें
आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या आपके पास इस लाइब्रेरी को बेहतर बनाने के लिए सुझाव हैं, तो हमें बताएं. कृपया नई समस्या सबमिट करने से पहले, इस लाइब्रेरी में शामिल मौजूदा समस्याओं को देखें. स्टार बटन पर क्लिक करके, किसी मौजूदा समस्या के लिए वोट किया जा सकता है.
ज़्यादा जानकारी के लिए, Issue Tracker का दस्तावेज़ देखें.
संस्करण 1.0
वर्शन 1.0.0-alpha13
06 मई, 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) HandJointTypeenum वैल्यू का नाम बदला गया. (Ifbc83, b/482670596)FaceConfidenceRegionकॉन्सटेंट का नाम बदला गया. (Ia62d5, b/482670596)FaceBlendShapeTypeकॉन्सटेंट का नाम बदला गया. (I33b8b, b/482670596)CreatePoseFromGeospatialPoseErrorInternalऔरCreateGeospatialPoseFromPoseErrorInternalको जोड़ा गया. (I4bcf1, b/482666615)DeviceTrackingMode.LAST_KNOWNका नाम बदलकरSPATIAL_LAST_KNOWNकर दिया गया है. हालांकि, अब भीDeviceTrackingMode.LAST_KNOWNका इस्तेमाल किया जा सकता है. साथ ही, 3DoF ट्रैकिंग के लिएINERTIAL_LAST_KNOWNजोड़ा गया है. इसके अलावा,TRACKING_DEGRADEDकोTrackingStateमें जोड़ा गया है. (Ie661c, b/445466590)GroupEntityअब काम नहीं करता. अगर आपको सिर्फ़ बुनियादी Entity फ़ंक्शन वाली Entity चाहिए, तोEntity.createको कॉल करें. इससे Entity इंटरफ़ेस वापस आ जाएगा. (I4c450, b/473867483)XrLogAPI जोड़ा गया. 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 Context को पास करने की अनुमति देने के लिए,
Session.createओवरलोड जोड़ा गया. (I7d3fe, b/415805990, b/477386334) FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITकोFakeRuntimeAnchor.anchorResourceLimitमें बदलता है. (I90841, b/431992235)TiltGestureAPI को एक्सपेरिमेंट के तौर पर उपलब्ध कराया जा रहा है, क्योंकि आने वाले समय में इसमें बदलाव किया जा सकता है या इसे हटाया जा सकता है. इस एपीआई का इस्तेमाल करने के लिए,@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 की उपलब्धता और पोज़ कन्वर्ज़न (I144dc) के लिए, Geospatial API जोड़े गए
वर्शन 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प्रीफ़िक्स के साथ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 में ये बदलाव शामिल हैं.
नई सुविधाएं
- डेवलपर को दाईं ओर की जानकारी (I270bd) मिल सके, इसके लिए
getPrimaryHandSideजोड़ें - जियोस्पेशल जांच के लिए, वीपीएस की उपलब्धता की जानकारी देने वाला एपीआई (I58573) जोड़ें
checkVpsAvailability(Idbded) के लिए ARCore API जोड़ें- Java डेवलपर के इस्तेमाल के लिए,
:xr:arcore:arcore-rxjava3मेंstateFlowableएक्सटेंशन फ़ंक्शन जोड़े गए. (I083aa, b/427247794)
एपीआई में हुए बदलाव
- कॉन्फ़िगरेशन
*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 डेवलपर के इस्तेमाल के लिए,
AnchorGuavaकोAnchorGuavaमें जोड़ा गया.Anchor.persistAsync()(I4af1c, b/425984631) - Java डेवलपर के इस्तेमाल के लिए,
EarthGuavaकोEarthGuavaमें जोड़ा गया.Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)(I66357, b/425992992) - Java डेवलपर,
GltfModel.ktमेंGltfModel.ktके लिए एक्सटेंशन फ़ंक्शन का इस्तेमाल करेंगे.GltfModel.createAsyncGltfModelमें मौजूद एसिंक फ़ंक्शन मिटा दिए जाएंगे. (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: ARCore for Jetpack XR, 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से हिटटेस्ट करें.
मौजूदा समस्याएं
unpersistको कॉल करने औरgetPersistedAnchorUuidsसे मिले नतीजों से इसके यूयूआईडी को हटाने में कुछ समय लग सकता है.createयह पुष्टि नहीं करेगा कि सिस्टम के पास नए ऐंकर वापस लाने के लिए ज़रूरी संसाधन हैं या नहीं. बहुत ज़्यादा ऐंकर बनाने से, ऐप्लिकेशन क्रैश हो सकता है.फ़िलहाल, ऐसे ऐंकर को सेव करने की सुविधा उपलब्ध नहीं है जिसे पहले सेव किया गया था और फिर सेव नहीं किया गया था.
एम्युलेटर में इसका इस्तेमाल किया जा सकता है. हालांकि, हो सकता है कि यह किसी असली डिवाइस पर इस्तेमाल करने जितना स्थिर न हो. खास तौर पर,
createको कॉल करने पर, नेटिव कोड की गड़बड़ी हो सकती है और गतिविधि तुरंत बंद हो सकती है.कुछ मामलों में,
persistको कॉल करते समय, “ऐंकर सेव नहीं किया गया” मैसेज के साथRuntimeExceptionगड़बड़ी दिख सकती है. हालांकि, ऐसे मामलों में फ़ंक्शन अब भी काम करेगा और ऐंकर सेव हो जाएगा. हमारा सुझाव है कि इस समस्या को हल करने के लिए,persistकोtryब्लॉक में रैप करें.