ARCore for Jetpack XR
| آخر خبر | الإصدار المستقر | إصدار محتمل | الإصدار التجريبي | الإصدار الأولي |
|---|---|---|---|---|
| 25 مارس 2026 | - | - | - | 1.0.0-alpha12 |
تحديد الاعتماديات
لإضافة اعتمادية على ARCore for Jetpack XR، يجب تضمين مستودع Google Maven في مشروعك. اطّلِع على مستودع Maven من Google لمزيد من المعلومات.
أضِف الاعتماديات الخاصة بالعناصر التي تحتاج إليها في ملف build.gradle لتطبيقك أو وحدتك:
Groovy
dependencies { implementation "androidx.xr.arcore:arcore:1.0.0-alpha12" // Optional dependencies for asynchronous conversions implementation "androidx.xr.arcore:arcore-guava:1.0.0-alpha12" implementation "androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12" }
Kotlin
dependencies { implementation("androidx.xr.arcore:arcore:1.0.0-alpha12") // Optional dependencies for asynchronous conversions implementation("androidx.xr.arcore:arcore-guava:1.0.0-alpha12") implementation("androidx.xr.arcore:arcore-rxjava3:1.0.0-alpha12") }
لمزيد من المعلومات حول الاعتماديات، يُرجى الاطّلاع على إضافة اعتماديات الإصدار.
الملاحظات
تساعدنا ملاحظاتك في تحسين Jetpack. يُرجى إعلامنا إذا اكتشفت مشاكل جديدة أو كانت لديك أفكار لتحسين هذه المكتبة. يُرجى إلقاء نظرة على الـ مشاكل الحالية في هذه المكتبة قبل إنشاء مشكلة جديدة. يمكنك إضافة صوتك إلى مشكلة حالية من خلال النقر على زر النجمة.
يُرجى الاطّلاع على مستندات أداة تتبُّع المشاكل لمزيد من المعلومات.
الإصدار 1.0
الإصدار 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 لتحديد نطاق الموارد. (I7d3fe, b/415805990, b/477386334) - تم تغيير
FakeRuntimeAnchor.ANCHOR_RESOURCE_LIMITإلىFakeRuntimeAnchor.anchorResourceLimit. (I90841, b/431992235) - تمت إضافة واجهة برمجة التطبيقات
TiltGestureالتجريبية لأنّه قد يتم تغييرها أو إزالتها في المستقبل. لاستخدام واجهة برمجة التطبيقات هذه، يجب الموافقة على استخدام@ExperimentalGesturesApi(Ic9858) - تمت إضافة إمكانية ضبط الفئات لتتبُّع
AugmentedObjectفي الإعدادات (I1f6e4، b/480220930)
إصلاح الأخطاء
- تم إصلاح إصدار Chrome من خلال تعديل ملف META-INF/services/ باستخدام الموقع الجغرافي الفعلي لـ
PerceptionRuntimeFactory. (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) - تستخدم مكتبة ARCore for Jetpack XR الآن آلية تسجيل وقت تشغيل XR. يُرجى الاطّلاع على
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 هذه التعديلات.
الميزات الجديدة
- تتوافق مكتبة
ARCorefor Jetpack XR الآن مع الأجهزة التي تتوفّر عليها "خدمات Google Play للواقع المعزّز". - تمت إضافة واجهات برمجة التطبيقات الجغرافية المكانية لتوفُّر نظام تحديد المواقع المرئية وتحويل الوضع (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_. (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) - تمت إضافة واجهة برمجة التطبيقات الجغرافية المكانية للتحقّق من توفُّر نظام تحديد المواقع المرئية (I58573)
- تمت إضافة واجهة برمجة تطبيقات ARCore لـ
checkVpsAvailability (Idbded) - تمت إضافة دوال الإضافة
stateFlowableإلى:xr:arcore:arcore-rxjava3ليستخدمها مطوّرو Java. (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) - تمت إضافة
Anchor.persistAsync()إلىAnchorGuavaليستخدمها مطوّرو Java. (I4af1c, b/425984631) - تمت إضافة
Earth.createAnchorOnSurfaceAsync(Session, Double, Double, Double, Quaternion, Surface)إلىEarthGuavaليستخدمها مطوّرو Java. (I66357, b/425992992) - سيستخدم مطوّرو Java دوال الإضافة لـ
GltfModel.createAsyncفيGltfModel.kt. سيتم حذف الدوال غير المتزامنة فيGltfModel. (I0af60) - تستخدم هذه المكتبة الآن تعليقات JSpecify التوضيحية بشأن القيم الخالية، وهي تعليقات توضيحية بشأن استخدام النوع. على مطوّري Kotlin استخدام وسيط المترجم التالي لفرض الاستخدام الصحيح:
-Xjspecify-annotations=strict(هذا هو الإعداد التلقائي بدءًا من الإصدار 2.1.0 من مترجم Kotlin) (Ia8420, b/326456246) - تمت إضافة دوال الإضافة
subscribeAsFlowableإلى:xr:arcore:arcore-rxjava3ليستخدمها مطوّرو Java. (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 إلى وقت التشغيل. - تم تغيير
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 إمكانات لدمج المحتوى الرقمي مع العالم الحقيقي. تتضمّن هذه المكتبة تتبُّع الحركة والارتساءات الثابتة واختبارات النتائج وتحديد المستوى باستخدام التصنيف الدلالي (على سبيل المثال، الأرضيات والجدران وأسطح الطاولات). يُرجى الاطّلاع على دليل المطوّرين لمزيد من المعلومات حول استخدام ARCore for Jetpack XR.
Session: تستخدم مكتبة ARCore for Jetpack XR وقت تشغيل Jetpack XR في الخلفية لتشغيل وظائفها. ستستخدم `Session` للتفاعل مع معظم واجهات برمجة تطبيقات ARCore for Jetpack XR، لذا يُرجى الاطّلاع على مستنداتها.Plane: استخدِم المستويات لفهم العالم من حولك. يحتوي كل مستوى علىLabelيصفه دلاليًا. يمكنك استخدامsubscribeلتلقّي إشعارات بشأن أحدث المستويات التي تم رصدها أوstateلتلقّي إشعارات بشأن التغييرات التي تطرأ على مستوى معيّن.Anchor: هو رابط بين كائن افتراضي وموقع جغرافي في العالم الحقيقي. يمكن ربط الارتساءات بموقع جغرافي معيّن في المساحة (باستخدامcreate) أوTrackable(باستخدامcreateAnchor).يمكن إعادة استخدام الارتساءات في جميع الجلسات. يمكنك استخدام
persistلتخزينها وgetPersistedAnchorUuidsلتعدادها وloadلاستردادها. تأكَّد من استخدامunpersistلإزالتها من الذاكرة بعد عدم استخدامها.تتسم الارتساءات بالتوافق التشغيلي بين ARCore for Jetpack XR وJetpack SceneCore. يمكنك إنشاء
AnchorEntityباستخدام ارتساء أو، إذا كان لديك AnchorEntity حالي، يمكنك استخدامgetAnchorلاسترداد الارتساء الأساسي.يمكنك توفير تفاعلات طبيعية للمستخدمين باستخدام
hitTest. يستخدم `hitTest` Rayلتحديد المحتوى الذي يتقاطع معه وإنشاءAnchorمن هذا الموقع الجغرافي. ننصحك بإجراء `hitTest` منInputEvent.
المشاكل المعروفة
قد يحدث تأخير بين استدعاء
unpersistوإزالة المعرّف الفريد العالمي من النتائج التي تعرضهاgetPersistedAnchorUuids.createلن تتحقّق من توفُّر موارد كافية في النظام لعرض ارتساءات جديدة. قد يؤدي إنشاء عدد كبير جدًا من الارتساءات إلى حدوث تعطّل.لا يمكن حاليًا حفظ ارتساء تم حفظه سابقًا ثم إزالته من الذاكرة.
يمكن استخدام المحاكي، ولكن قد لا يكون السلوك مستقرًا كما هو الحال عند التشغيل على جهاز فعلي. على وجه الخصوص، قد تتعذّر عمليات استدعاء
createبسبب حدوث خطأ في الرمز البرمجي الأصلي ويتم إنهاء النشاط على الفور.في ظروف معيّنة، قد يتم طرح
RuntimeExceptionبشكل غير صحيح عند استدعاءpersistمع الرسالة "لم يتم حفظ الارتساء". وفي هذه الظروف، ستظل الدالة ناجحة وسيتم حفظ الارتساء. ننصحك بتضمين استدعاءpersistفي كتلةtryكحل بديل.