ARCore برای Jetpack XR

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

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

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

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

شیک

dependencies {
    implementation "androidx.xr.arcore:arcore:1.1.0-alpha01"
}

کاتلین

dependencies {
    implementation("androidx.xr.arcore:arcore:1.1.0-alpha01")
}

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

بازخورد

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

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

برای اطلاعات بیشتر، سند Issue Tracker را ببینید.

نسخه ۱.۱

نسخه 1.1.0-alpha01

‫۲۱ اکتبر ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.1.0-alpha01 منتشر شده است. نسخه 1.1.0-alpha01 حاوی این ارسال‌ها است.

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

  • SpatialAnnotation API را برای ردیابی هندسه‌ها و اشیای فیزیکی سه‌بعدی معرفی کردیم. ‫SpatialAnnotationTrackingOptions و الگوی سازنده مربوط به آن برای پیکربندی ردیابی فضایی ازطریق میان‌گیرهای تصویر دوربین اضافه شد. (I918ce)
  • ‫SpatialAnnotation و SpatialAnnotationTrackingMode به Jetpack XR ARCore معرفی شدند تا توسعه‌دهندگان بتوانند هندسه‌های چهارضلعی سه‌بعدی محدود دلخواه (Quad) را که محیط‌های فضایی فیزیکی دنیای واقعی را هدف قرار می‌دهند پیکربندی و ردیابی کنند. (I880e4)
  • TestSpatialAnnotation اضافه شد تا شبیه‌سازی برنامه‌ای حاشیه‌نویسی‌های فضایی در آزمایش‌های خودکار امکان‌پذیر شود. (If2335)
  • ‫geospatialPose، horizontalAccuracy، verticalAccuracy، و orientationYawAccuracy به‌عنوان APIهای جدید اضافه شدند تا اطلاعات بیشتری در وضعیت Geospatial ارائه دهند. (If28f8)

رفع اشکال‌ها

  • وابستگی androidx.lifecycle:lifecycle-runtime به نسخه ۲.۱۰.۰ به‌روز شد. این نسخه برای اجرای بررسی‌های lint زمان اجرای چرخه حیات بسته‌بندی‌شده با AGP نسخه 9.5.0-alpha04 یا جدیدتر لازم است. (I99bfd, b/556807521)
  • هنگام پیکربندی AugmentedImage، حداکثر تعداد تصویر ۰ بررسی شد و به‌جای شکست غیرمنتظره، UnsupportedOperationException نشان داده شد. I6ce439
  • رفع نشت حافظه و مشکلات همزمانی در AugmentedImageRenderer با ردیابی و لغو صحیح کارهای پردازش، حذف موجودیت‌ها، و اصلاح ایمن مجموعه تصاویر. Ie70760

نسخه 1.0

نسخه ۱.۰.۰

‫۲۱ اکتبر ۲۰۲۶

‫androidx.xr.arcore:arcore-*:1.0.0 منتشر شده است. نسخه ۱.۰.۰ حاوی این ثبت‌ها است.

ویژگی‌های اصلی نسخه ۱.۰.۰:

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

نسخه 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)
  • TrackingState.TRACKING_DEGRADED از سطح میانای برنامه‌سازی کاربردی عمومی برداشته شد و به‌جای آن، حالت‌های تنزل‌یافته زمان اجرای نقشه به PAUSED نگاشت شد. TrackingState را به‌روز کنید تا به‌جای مقادیر int از enum برای تبدیل رشته و تبدیل زمان اجرا استفاده کند. (I3eb5b،‏ b/524326338)
  • Session.create به تابع تعلیق تبدیل شد. (I5d27f)
  • منسوخ شدن ProjectedPermissionsResultContract (I141d5، b/515699436)
  • Updated AnchorEntity to be called 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 API (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 برای ردیابی نشانگر سفارشی اضافه شد (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 به کتابخانه xr:runtime:runtime منتقل شد. (I87954، b/494251500)
  • ‫Session.create و Session.configure اکنون غیرجامع هستند و به عبارت‌های else در دستورهای when نیاز دارند. (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 نیز برداشته شد. اگر توسعه‌دهنده نمی‌خواهد orbiter در حالت غیرفضایی ارائه شود، باید orbiter را در یک عبارت 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 تغییر کرد (با یک بازگشت منسوخ‌شده)، INERTIAL_LAST_KNOWN برای ردیابی 3DoF اضافه شد، و TRACKING_DEGRADED به TrackingState اضافه شد. (Ie661c، b/445466590)
  • ‫GroupEntity منسوخ شد. برای داشتن «نهاد» با عملکرد «نهاد» پایه، Entity.create را فراخوانی کنید که میانای «نهاد» را برمی‌گرداند. (I4c450، b/473867483)
  • میانای برنامه‌سازی کاربردی XrLog اضافه شد. XrLog.isEnabled را روی true تنظیم کنید تا ثبت گزارش در JetpackXR فعال شود، و از 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 آزمایشی می‌شود چون ممکن است در آینده تغییر کند یا برداشته شود. برای استفاده از این میانای برنامه‌سازی کاربردی، با @ExperimentalGesturesApi (Ic9858) موافقت کنید
  • Added ability to set categories for AugmentedObject tracking in the Config (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 حاوی این ارسال‌ها است.

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

  • Add getPrimaryHandSide so the developer could get the hand side info (I270bd)
  • Add geospatial check VPS availability API (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) فقط حاوی میاناهای برنامه‌سازی کاربردی ناهمگام به سبک 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 استفاده می‌کند که از نوع استفاده هستند. توسعه‌دهندگان 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 به Runtime منتقل شده‌اند.
  • 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 برای Jetpack XR با الهام از کتابخانه ARCore موجود، قابلیت‌هایی را برای ترکیب محتوای دیجیتال با دنیای واقعی ارائه می‌دهد. این کتابخانه شامل ردیابی حرکت، لنگرهای دائمی، آزمایش برخورد، و شناسایی صفحه با برچسب‌گذاری معنایی (برای مثال، کف، دیوارها، و روی میز) است. برای کسب اطلاعات بیشتر درباره کار با ARCore برای Jetpack XR، راهنمای توسعه‌دهندگان را مشاهده کنید.

  • Session: ARCore برای 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 بپوشانید.