‫ARCore برای Jetpack XR

با قابلیت‌های ادراکی، محتوای دیجیتال را به دنیای واقعی بیاورید.
جدیدترین به‌روزرسانی نسخه پایدار نامزد انتشار انتشار نسخه بتا نسخه آلفا
۷ اکتبر ۲۰۲۶ - 1.0.0-rc02 - -

اعلام وابستگی‌ها

برای افزودن وابستگی به ARCore برای Jetpack XR، باید مخزن Google Maven را به پروژه‌تان اضافه کنید. برای اطلاعات بیشتر، مخزن Maven در Google را بخوانید.

وابستگی‌های آرتیفکت‌های موردنیازتان را در فایل build.gradle برای برنامه یا واحدتان اضافه کنید:

Groovy

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

Kotlin

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

برای اطلاعات بیشتر درباره وابستگی‌ها، افزودن وابستگی‌های ساخت را ببینید.

بازخورد

بازخوردتان به بهبود Jetpack کمک می‌کند. اگر مشکلات جدیدی پیدا کردید یا ایده‌هایی برای بهبود این کتابخانه دارید، به ما اطلاع دهید. لطفاً قبل‌از ایجاد کتابخانه جدید، مشکلات موجود در این کتابخانه را بررسی کنید. با کلیک کردن روی دکمه ستاره می‌توانید رأی خود را به یک مشکل موجود اضافه کنید.

ایجاد مشکل جدید

برای کسب اطلاعات بیشتر، به مستندات «پیگیری مسائل» مراجعه کنید.

نسخه 1.0

نسخه 1.0.0-rc02

۷ اکتبر ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0-rc02 منتشر شد. نسخه 1.0.0-rc02 شامل این تعهدات است.

رفع اشکال‌ها

  • رفع مشکلی که باعث می‌شد وقتی ردیابی تصویر افزوده پشتیبانی نمی‌شود، OpenXrRuntime نتواند جلسه را پیکربندی کند. (I8b9759)
  • چندین مشکل برطرف شد، ازجمله: مدیریت حافظه در XrInstanceManager بااستفاده از applicationContext بهبود یافت، مشکلات احتمالی مربوط به چرخه حیات با ساده‌سازی سازوکارهای ذخیره در حافظه نهان Session و Scene برطرف شد، و ReferenceCleaner بهبود یافت تا ثبت پاک‌سازی‌های ایمن برای رشته و دفع صریح تضمین شود. (Id0b76c)

نسخه 1.0.0-rc01

۹ سپتامبر ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0-rc01 منتشر شد. نسخه 1.0.0-rc01 شامل این تعهدها است.

نسخه 1.0.0-beta02

‫۱۲ اوت ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0-beta02 منتشر شد. نسخه 1.0.0-beta02 شامل این تعهدها است.

رفع اشکال‌ها

  • رفع مشکل هم‌زمان بودن در ماندگاری لنگر OpenXR. (I15c8b)
  • ‫toString() در کلاس‌های بیشتری برای اشکال‌زدایی پیاده‌سازی شد. (I587e8)

نسخه 1.0.0-beta01

‫۱۵ ژوئیه ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0-beta01 منتشر شد. نسخه 1.0.0-beta01 حاوی این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • اصلاح‌گر تغییر اندازه به‌روز شد تا به‌جای دو اصلاح‌گر از ResizePolicy استفاده کند (I7fb0f، b/496257436، b/519672992)
  • سربار متحرک با movePolicy پارامتر اضافه شد و transformingMovable و movable منسوخ شد (Ic88c1، b/481781189)
  • ‫TRACKING_DEGRADED‏ TrackingState را از سطح API عمومی برداشتیم و وضعیت‌های تنزل زمان اجرای نقشه را به‌جای آن به PAUSED نگاشتیم. ‫TrackingState را به‌روز کنید تا به‌جای مقادیر صحیح برای تبدیل رشته و تبدیل زمان اجرا از شمارش استفاده کند. (I3eb5b، b/524326338)
  • ‫Session.create به تابع تعلیق تبدیل شد. (I5d27f)
  • ‫ProjectedPermissionsResultContract منسوخ شد (I141d5،‏ b/515699436)
  • ‫AnchorEntity به‌روز شد تا AnchorSpace نامیده شود (Ifa95e، b/513619219)

نسخه 1.0.0-alpha15

‫۱۷ ژوئن ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0-alpha15 منتشر شد. نسخه 1.0.0-alpha15 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • HitResult.createAnchor حذف شد. توسعه‌دهندگان می‌توانند با ارائه موقعیت ضربه به تابع createAnchor در Anchorable، لنگری ایجاد کنند که HitResult را نشان دهد اگر عنصر قابل‌ردیابی نتیجه Anchorable باشد. (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

‫۱۹ مه ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0-alpha14 منتشر شد. نسخه 1.0.0-alpha14 شامل این تعهدات است.

تغییرات میانای برنامه‌سازی کاربردی

  • ‫GeospatialMode.VPS_AND_GPS را به‌نفع GeospatialMode.SPATIAL منسوخ می‌کنیم و حالت ردیابی جدیدی با توان کمتر، GeospatialMode.INERTIAL، معرفی می‌کنیم که فقط از IMU و GPS استفاده می‌کند. (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 API برای ردیابی نشانگر سفارشی اضافه شد (I0cf09)

نسخه 1.0.0-alpha13

۶ مه ۲۰۲۶

‫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 API به کتابخانه 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)
  • توسعه‌دهندگان باید «جریان ArDevice.state» را برای نظارت بر State.trackingState رعایت کنند و براساس دقت ردیابی، پردازش یا هشدارهای برنامه خود را متناسب با آن تنظیم کنند. (Ic00f0، b/445466590)
  • نام HandJointType مقدار شمارشی تغییر کرد. (Ifbc83، b/482670596)
  • نام FaceConfidenceRegion ثابت تغییر کرد. (Ia62d5،‏ b/482670596)
  • نام FaceBlendShapeType ثابت تغییر کرد. ‫(I33b8b، b/482670596)
  • ‫CreatePoseFromGeospatialPoseErrorInternal و CreateGeospatialPoseFromPoseErrorInternal اضافه شدند. (I4bcf1، b/482666615)
  • نام DeviceTrackingMode.LAST_KNOWN به SPATIAL_LAST_KNOWN تغییر کرد (با یک برگشت منسوخ)، INERTIAL_LAST_KNOWN برای ردیابی 3DoF اضافه شد، و TRACKING_DEGRADED به TrackingState اضافه شد. (Ie661c، b/445466590)
  • ‫GroupEntity منسوخ شده است. برای داشتن «نهاد» با عملکرد فقط «نهاد پایه»، Entity.create را فراخوانی کنید که رابط «نهاد» را برمی‌گرداند. (I4c450، b/473867483)
  • ‫XrLog API اضافه شد. برای فعال کردن گزارش‌گیری در JetpackXR، مقدار XrLog.isEnabled را روی true تنظیم کنید و برای تنظیم سطح گزارش از XrLog.Level استفاده کنید. (I76a1f،‏ b/463460895،‏ b/487378441)

رفع اشکال‌ها

  • پشتیبانی از وضعیت ردیابی دستگاه را به دستگاه‌های openxr اضافه کنید. (I91485، b/445466590)

نسخه 1.0.0-alpha12

۲۵ مارس ۲۰۲۶

‫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 API آزمایشی می‌شود زیرا ممکن است در آینده تغییر کند یا برداشته شود. برای استفاده از این api، با @ExperimentalGesturesApi (Ic9858) موافقت کنید
  • امکان تنظیم دسته‌ها برای ردیابی AugmentedObject در «پیکربندی» اضافه شد (I1f6e4،‏ b/480220930)

رفع اشکال‌ها

  • ساخت Chrome با به‌روز کردن فایل META-INF/services/ با مکان واقعی PerceptionRuntimeFactory اصلاح شد. (I7a801، b/481288291)

نسخه 1.0.0-alpha11

۲۵ فوریه ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0-alpha11 منتشر شد. نسخه 1.0.0-alpha11 شامل این تعهدات است.

نسخه 1.0.0-alpha10

‫۲۸ ژانویه ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0-alpha10 منتشر شد. نسخه 1.0.0-alpha10 شامل این تعهدات است.

ویژگی‌های جدید

  • TiltGesture API را معرفی می‌کند که Flow واکنشی برای تشخیص پایدار وضعیت کج شدن دستگاه (بالا/پایین) با پیشرفت انتقال ارائه می‌دهد. (Ic269f، b/448152779)
  • ‫ARCore برای Jetpack XR اکنون از سازوکار «ثبت گزارش زمان اجرای XR» استفاده می‌کند. برای اطلاعات بیشتر، به androidx.xr.runtime.Log مراجعه کنید. (l52735، b/448697662)

تغییرات میانای برنامه‌سازی کاربردی

  • ‫Geospatial.createPoseFromGeospatialPose اکنون در دستگاه‌های دارای OpenXR کار می‌کند. (l362c6)

نسخه 1.0.0-alpha09

۳ دسامبر ۲۰۲۵

‫androidx.xr.arcore:arcore-*:1.0.0-alpha09 منتشر شد. نسخه 1.0.0-alpha09 شامل این تغییرات است.

نسخه 1.0.0-alpha08

‫۱۹ نوامبر ۲۰۲۵

‫androidx.xr.arcore:arcore-*:1.0.0-alpha08 منتشر شد. نسخه 1.0.0-alpha08 شامل این تعهدها است.

ویژگی‌های جدید

  • ‫ARCore برای Jetpack XR اکنون از دستگاه‌هایی که «خدمات Google Play ویژه واقعیت افزوده» در آن‌ها دردسترس است پشتیبانی می‌کند.
  • ‫Geospatial APIs برای «دسترسی به VPS» و تبدیل وضعیت اضافه شد (I144dc)

نسخه 1.0.0-alpha07

‫۲۲ اکتبر ۲۰۲۵

‫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

‫۲۴ سپتامبر ۲۰۲۵

‫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

۳۰ ژوئیه ۲۰۲۵

‫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)
  • افزودن API دردسترس بودن VPS بررسی زمین‌مکانی (I58573)
  • افزودن ARCore API برای checkVpsAvailability (Idbded)
  • ‫stateFlowable تابع افزونه به :xr:arcore:arcore-rxjava3 برای استفاده توسعه‌دهندگان جاوا اضافه شد. (I083aa،‏ b/427247794)

تغییرات میانای برنامه‌سازی کاربردی

  • نام مقادیر پیکربندی *Mode تغییر کرده است تا رفتارش را نشان دهد. (I6d247، b/414648065)
  • عنصر اصلی ARCore (xr:arcore:arcore) فقط حاوی میاناهای برنامه‌سازی کاربردی ناهم‌زمان به سبک Kotlin خواهد بود. توسعه‌دهندگان Java می‌توانند برای دسترسی به میاناهای برنامه‌سازی کاربردی سازگار به کتابخانه xr:arcore:arcore-rxjava3 تکیه کنند. (Ia525e, b/422794329)
  • عنصر اصلی ARCore (xr:scenecore:scenecore) فقط شامل APIهای ناهمگام به سبک 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)
  • توسعه‌دهندگان جاوا از توابع افزونه برای GltfModel.createAsync در GltfModel.kt استفاده خواهند کرد. توابع غیرهمگام در GltfModel حذف خواهد شد. (I0af60)
  • این کتابخانه اکنون از JSpecify nullness annotations استفاده می‌کند که نوع استفاده است. توسعه‌دهندگان Kotlin باید از استدلال کامپایلر زیر برای اعمال استفاده صحیح استفاده کنند: -Xjspecify-annotations=strict (این استدلال از نسخه ۲.۱.۰ کامپایلر Kotlin به‌صورت پیش‌فرض شروع می‌شود) (Ia8420، b/326456246)
  • ‫subscribeAsFlowable تابع افزونه به :xr:arcore:arcore-rxjava3 برای استفاده توسعه‌دهندگان جاوا اضافه شد. (Id3e49, b/427277298)

نسخه 1.0.0-alpha04

۷ مه ۲۰۲۵

‫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) تغییر کرد.
  • اگر UUID نامعتبر باشد، Anchor.load مقدار Anchor.AnchorLoadInvalidUuid را برمی‌گرداند.

نسخه 1.0.0-alpha03

‫۲۶ فوریه ۲۰۲۵

‫androidx.xr.arcore:arcore:1.0.0-alpha03 بدون تغییرات قابل‌توجهی نسبت به آخرین نسخه آلفا منتشر شده است. نسخه 1.0.0-alpha03 شامل این تعهدها است.

نسخه 1.0.0-alpha02

‫۱۲ فوریه ۲۰۲۵

‫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

‫۱۲ دسامبر ۲۰۲۴

‫androidx.xr.arcore:arcore-* 1.0.0-alpha01 منتشر شد.

ویژگی‌های نسخه اولیه

کتابخانه ARCore for Jetpack XR با الهام از کتابخانه ARCore موجود، قابلیت‌هایی برای ترکیب محتوای دیجیتال با دنیای واقعی ارائه می‌دهد. این کتابخانه شامل ردیابی حرکت، لنگرهای ماندگار، آزمایش برخورد، و شناسایی صفحه با برچسب‌گذاری معنایی (برای مثال، کف، دیوار، و روی میز) است. برای کسب اطلاعات بیشتر درباره کار با ARCore برای Jetpack XR، راهنمای توسعه‌دهنده را مشاهده کنید.

  • Session: ARCore for Jetpack XR از Jetpack XR Runtime در زیر لایه برای تقویت عملکرد خود استفاده می‌کند. برای تعامل با اکثر «میاناهای برنامه‌سازی کاربردی ARCore برای Jetpack XR»، از «جلسه» استفاده خواهید کرد، بنابراین لطفاً مستندات آن را ببینید.

  • Plane: از هواپیماها برای درک دنیای اطراف خود استفاده کنید. هر هواپیما یک Label دارد که آن را ازنظر معنایی توصیف می‌کند. می‌توانید از subscribe برای دریافت اعلان درباره جدیدترین هواپیماهای شناسایی‌شده یا از state برای دریافت اعلان درباره تغییرات هواپیمای خاصی استفاده کنید.

  • Anchor: پیوندی بین یک شیء مجازی و یک مکان واقعی. لنگرها را می‌توان به مکان خاصی در فضا (بااستفاده از create) یا به Trackable (بااستفاده از createAnchor) متصل کرد.

    • می‌توان از لنگرها در جلسات مختلف استفاده کرد. می‌توانید از persist برای ذخیره کردن آن‌ها، از getPersistedAnchorUuids برای فهرست کردن آن‌ها، و از load برای بازیابی کردن آن‌ها استفاده کنید. مطمئن شوید که وقتی دیگر از آن‌ها استفاده نمی‌شود، آن‌ها را unpersist کنید.

    • لنگرها بین ARCore برای Jetpack XR و Jetpack SceneCore قابلیت عملکرد متقابل دارند. می‌توانید بااستفاده از یک لنگر، AnchorEntity ایجاد کنید یا اگر AnchorEntity موجودی دارید، می‌توانید از getAnchor برای بازیابی لنگر پشتیبان آن استفاده کنید.

    • بااستفاده از hitTest، تعامل‌های طبیعی کاربر ارائه دهید. ‫hitTest از Ray برای تعیین اینکه با کدام محتواها تلاقی دارد و برای ایجاد Anchor از آن مکان استفاده می‌کند. ‫hitTest را از InputEvent اجرا کنید.

مشکلات شناخته‌شده

  • ممکن است بین فراخوانی unpersist و برداشته شدن UUID آن از نتایج برگردانده‌شده توسط getPersistedAnchorUuids تأخیر وجود داشته باشد.

  • create تأیید نمی‌کند که سیستم منابع کافی برای برگرداندن لنگرهای جدید داشته باشد. ایجاد تعداد بیش‌ازحد لنگر ممکن است منجر به خرابی شود.

  • درحال‌حاضر از ماندگار کردن «لنگری» که قبلاً ماندگار و ناماندگار شده است پشتیبانی نمی‌شود.

  • استفاده در شبیه‌ساز پشتیبانی می‌شود، اما عملکرد ممکن است به اندازه اجرای آن در یک دستگاه واقعی پایدار نباشد. به‌ویژه، تماس با create ممکن است با خطای کد بومی ناموفق باشد و فعالیت را بلافاصله خاتمه دهد.

  • در شرایط خاص، هنگام فراخوانی persist با پیام «نقطه اتکا حفظ نشد»، ممکن است به‌اشتباه RuntimeException پرتاب شود. در این شرایط، عملکرد همچنان موفق خواهد بود و نقطه اتکا حفظ خواهد شد. توصیه می‌کنیم برای دور زدن این مشکل، تماس با persist را با یک بلوک try بپیچید.