إذا كان لديك تطبيق متوافق مع الأجهزة الجوّالة أو الشاشات الكبيرة على Android، توفّر حزمة تطوير البرامج Jetpack XR SDK
إمكانية توسيع نطاق تطبيقك إلى أبعاد جديدة من خلال تحويل التنسيقات الحالية إلى تنسيقات ثلاثية الأبعاد و
تحسين تجاربك باستخدام النماذج الثلاثية الأبعاد والبيئات الغامرة. اطّلِع على
إرشادات الجودة للحصول على اقتراحات حول إتاحة تطبيق Android الحالي
للاستماع في وضع "الصوت المكاني".
تتكوّن حزمة تطوير البرامج (SDK) Jetpack XR من المكتبات التالية. ويوفّر هذان الإصداران معًا مجموعة أدوات تكاملية لإنشاء تجارب مكانية غنية ومتنوّعة، وهي مصمّمة للعمل معًا بسلاسة.
Jetpack Compose للواقع الممتد (XR): يمكنك إنشاء تصاميم لواجهة مستخدِم مكانية بشكل تعريفي تستفيد
من إمكانات الواقع الممتد في Android XR.
Material Design للواقع المعزّز: يمكنك إنشاء تطبيقات باستخدام مكونات وتنسيقات Material Design التي تتمكّن من التكيف مع الواقع المعزّز.
Jetpack SceneCore: يمكنك إنشاء رسم بياني للمشهد في Android XR وتعديله باستخدام
محتوى ثلاثي الأبعاد.
ARCore لتطبيق Jetpack XR: يمكنك دمج المحتوى الرقمي في العالم الحقيقي باستخدام ميزات معالجة المرئيات.
Jetpack Compose للواقع المعزّز
باستخدام Jetpack Compose لتطبيقات الواقع المعزّز، يمكنك استخدام مفاهيم Compose المألوفة، مثل
الصفوف والأعمدة لإنشاء تصاميم واجهة مستخدم مكانية في تطبيقات الواقع المعزّز، سواءً كنت تريد
نقل تطبيق ثنائي الأبعاد حالي إلى الواقع المعزّز أو إنشاء تطبيق جديد للواقع المعزّز من الصفر.
توفّر هذه المكتبة تطبيقات مصغّرة قابلة للتجميع في مساحة فرعية، مثل اللوحات المكانية
وأداة التنقّل، التي تتيح لك وضع واجهة مستخدِم ثنائية الأبعاد حالية مستندة إلى Compose أو Views
في تنسيق مكاني.
تقدّم أداة Compose for XR عنصر Volume الفرعي القابل للتركيب، والذي يتيح لك
وضع عناصر SceneCore، مثل النماذج الثلاثية الأبعاد، بالنسبة إلى واجهة المستخدم.
تتيح لك مكتبة Jetpack SceneCore وضع المحتوى الثلاثي الأبعاد وترتيبه، والذي يتم تحديده من خلال
الكيانات، بالنسبة إلى بعضها البعض وبيئتك. باستخدام SceneCore،
يمكنك إجراء ما يلي:
توفّر مكتبة Jetpack SceneCore أيضًا إمكانية معالجة التطبيقات المُنشأة باستخدام Views في بيئة ثلاثية الأبعاد. يمكنك الاطّلاع على دليل العمل مع طرق العرض للحصول على
مزيد من التفاصيل.
استنادًا إلى مكتبة ARCore الحالية، توفّر مكتبة ARCore لتطبيق
Jetpack XR إمكانات لدمج المحتوى الرقمي مع
الواقع. تتضمّن هذه المكتبة ميزة تتبُّع الحركة، وعناصر التثبيت الثابتة، واختبار اصطدام
العناصر، وتحديد المستويات باستخدام التصنيف الدلالي (مثل الأرض،
والجدران، وأسطح الطاولات). تستفيد هذه المكتبة من حِزمة الإدراك الأساسية
التي تعمل بتقنية OpenXR، ما يضمن التوافق مع مجموعة كبيرة من
الأجهزة ويساعد في إتاحة التطبيقات في المستقبل.
يُرجى العِلم أنّ هذا الإصدار هو جزء من إصدار معاينة المطوّر وأنّ واجهات برمجة التطبيقات هذه
لا تزال قيد التطوير. راجِع ملاحظات الإصدار لمعرفة المشاكل المعروفة:
OpenXR™ وشعار OpenXR هما علامتان تجاريتان مملوكتان
لشركة The Khronos Group Inc. ومسجَّلتان كعلامتَين تجاريتَين في الصين
والاتحاد الأوروبي واليابان والمملكة المتحدة.
يخضع كل من المحتوى وعيّنات التعليمات البرمجية في هذه الصفحة للتراخيص الموضحّة في ترخيص استخدام المحتوى. إنّ Java وOpenJDK هما علامتان تجاريتان مسجَّلتان لشركة Oracle و/أو الشركات التابعة لها.
تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)
[[["يسهُل فهم المحتوى.","easyToUnderstand","thumb-up"],["ساعَدني المحتوى في حلّ مشكلتي.","solvedMyProblem","thumb-up"],["غير ذلك","otherUp","thumb-up"]],[["لا يحتوي على المعلومات التي أحتاج إليها.","missingTheInformationINeed","thumb-down"],["الخطوات معقدة للغاية / كثيرة جدًا.","tooComplicatedTooManySteps","thumb-down"],["المحتوى قديم.","outOfDate","thumb-down"],["ثمة مشكلة في الترجمة.","translationIssue","thumb-down"],["مشكلة في العيّنات / التعليمات البرمجية","samplesCodeIssue","thumb-down"],["غير ذلك","otherDown","thumb-down"]],["تاريخ التعديل الأخير: 2025-07-26 (حسب التوقيت العالمي المتفَّق عليه)"],[],[],null,["# Develop with the Jetpack XR SDK\n\nThe Jetpack XR SDK lets you build immersive XR experiences using modern tools\nlike [Kotlin](/develop/ui/compose/kotlin) and [Compose](/compose), as well as previous generation tools such as\nJava and [Views](/develop/ui/views/layout/declaring-layout). You can [spatialize your UI](/develop/xr/jetpack-xr-sdk/develop-ui), [load and render 3D\nmodels](/develop/xr/jetpack-xr-sdk/add-3d-models) and semantically understand the real world.\n\nIf you already have a mobile or large screen app on Android, Jetpack XR SDK\nextends your app into a new dimension by spatializing existing layouts and\nenhancing your experiences with 3D models and immersive environments. See our\n[quality guidelines](/docs/quality-guidelines/android-xr) for our recommendations on spatializing your existing\nAndroid app. \nAlas, your browser doesn't support HTML5 video. That's OK! You can still [download the\nvideo](/static/images/develop/xr/jetpack-xr-sdk/index/jetpack-xr-sdk.mp4) and watch it with a video player.\n\nThe Jetpack XR SDK consists of the following libraries. Together, they provide a\ncomprehensive toolkit for building rich and diverse [spatialized experiences](/design/ui/xr/guides/foundations)\nand are designed to work seamlessly with each other.\n\n- **Jetpack Compose for XR**: Declaratively build spatial UI layouts that take advantage of Android XR's spatial capabilities.\n- **Material Design for XR**: Build with Material components and layouts that adapt for XR.\n- **Jetpack SceneCore**: Build and manipulate the Android XR scene graph with 3D content.\n- **ARCore for Jetpack XR**: Bring digital content into the real world with perception capabilities.\n\nJetpack Compose for XR\n----------------------\n\nWith Jetpack Compose for XR, you can use familiar [Compose concepts](/develop/ui/compose/layouts/basics) such as\n[rows](/reference/kotlin/androidx/compose/foundation/layout/package-summary#Row(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Horizontal,androidx.compose.ui.Alignment.Vertical,kotlin.Function1)) and [columns](/reference/kotlin/androidx/compose/foundation/layout/package-summary#Column(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)(androidx.compose.ui.Modifier,androidx.compose.foundation.layout.Arrangement.Vertical,androidx.compose.ui.Alignment.Horizontal,kotlin.Function1)) to create spatial UI layouts in XR, whether you're\nporting an existing 2D app to XR or creating a new XR app from scratch.\n\nThis library provides subspace composable widgets, such as [spatial panels](/reference/kotlin/androidx/xr/compose/subspace/package-summary#SpatialPanel(android.content.Intent,androidx.xr.compose.subspace.layout.SubspaceModifier,androidx.xr.compose.subspace.layout.SpatialShape))\nand [orbiters](/reference/kotlin/androidx/xr/compose/spatial/package-summary#Orbiter(androidx.xr.compose.spatial.OrbiterEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.spatial.OrbiterSettings,androidx.xr.compose.subspace.layout.SpatialShape,androidx.xr.compose.spatial.SpatialElevationLevel,kotlin.Function0)), which let you place your existing 2D Compose or Views-based\nUI in a spatial layout.\n\nSee [Develop UI with Jetpack Compose for XR](/develop/xr/jetpack-xr-sdk/develop-ui) for detailed guidance.\n\nCompose for XR introduces the [`Volume`](/reference/kotlin/androidx/xr/compose/subspace/package-summary#Volume(androidx.xr.compose.subspace.layout.SubspaceModifier,kotlin.Function1)) subspace composable, which lets you\nplace [SceneCore](/develop/xr/jetpack-xr-sdk#jetpack-scenecore) entities, such as 3D models, relative to your UI.\n\nLearn how to [spatialize your existing Android app](/develop/xr/jetpack-xr-sdk/add-xr-to-existing) or view the API\nreference for more detailed information.\n\nMaterial Design for XR\n----------------------\n\nMaterial Design provides components and layouts that adapt for XR. For example,\nif you're building with [adaptive layouts](/develop/ui/compose/layouts/adaptive) and you update to the latest\nalpha of the dependency using a [`EnableXrComponentOverrides`](/reference/kotlin/androidx/xr/compose/material3/package-summary#EnableXrComponentOverrides(androidx.xr.compose.material3.XrComponentOverrideEnabler,kotlin.Function0)) wrapper,\n[each pane](/develop/ui/compose/layouts/adaptive/canonical-layouts) is placed inside a [`SpatialPanel`](/reference/kotlin/androidx/xr/compose/subspace/package-summary#SpatialPanel(android.content.Intent,androidx.xr.compose.subspace.layout.SubspaceModifier,androidx.xr.compose.subspace.layout.SpatialShape)) and a [navigation\nrail](/reference/kotlin/androidx/compose/material3/package-summary#NavigationRail(androidx.compose.ui.Modifier,androidx.compose.ui.graphics.Color,androidx.compose.ui.graphics.Color,kotlin.Function1,androidx.compose.foundation.layout.WindowInsets,kotlin.Function1)) is placed in an [`Orbiter`](/reference/kotlin/androidx/xr/compose/spatial/package-summary#Orbiter(androidx.xr.compose.spatial.OrbiterEdge.Horizontal,androidx.compose.ui.unit.Dp,androidx.compose.ui.Alignment.Horizontal,androidx.xr.compose.spatial.OrbiterSettings,androidx.xr.compose.subspace.layout.SpatialShape,androidx.xr.compose.spatial.SpatialElevationLevel,kotlin.Function0)). [Learn more about implementing\nMaterial Design for XR](/develop/xr/jetpack-xr-sdk/material-design).\n\nJetpack SceneCore\n-----------------\n\nThe Jetpack SceneCore library lets you place and arrange 3D content, defined by\n[entities](/develop/xr/jetpack-xr-sdk/work-with-entities), relative to each other and your environment. With SceneCore, you\ncan:\n\n- Set [spatial environments](/design/ui/xr/guides/environments)\n- Create instances of a [`PanelEntity`](/reference/kotlin/androidx/xr/scenecore/PanelEntity)\n- [Place and animate 3D models](/develop/xr/jetpack-xr-sdk/add-3d-models)\n- [Specify spatial audio sources](/develop/xr/jetpack-xr-sdk/add-spatial-audio)\n- [Add Components to entities that make them movable, resizable, and can be\n anchored to the real world](/develop/xr/jetpack-xr-sdk/work-with-entities)\n\nThe Jetpack SceneCore library also provides support for spatializing\napplications built using Views. See our [guide to working with views](/develop/xr/jetpack-xr-sdk/develop-ui-views) for\nmore details.\n\nView the [API reference](/reference/kotlin/androidx/xr/scenecore/package-summary) for more detailed information.\n\nARCore for Jetpack XR\n---------------------\n\nInspired by the existing [ARCore library](https://developers.google.com/ar), the ARCore for\nJetpack XR library provides capabilities for blending digital content with the\nreal world. This library includes motion tracking, persistent anchors, hit\ntesting, and plane identification with semantic labeling (for example, floor,\nwalls, and tabletops). This library leverages the underlying perception stack\npowered by [OpenXR](/develop/xr/openxr), which ensures compatibility with a wide range of\ndevices and helping to future-proof apps.\n\nView [Work with ARCore for Jetpack XR](/develop/xr/jetpack-xr-sdk/work-with-arcore) for more detailed information.\n| **Preview:** Unlike its predecessor, ARCore for Jetpack XR currently only supports Android XR.\n\nNote on Developer Preview\n-------------------------\n\nPlease note that this release is part of a Developer Preview and these APIs are\nstill under development. See the release notes for known issues:\n\n- [Jetpack Compose for XR Release Notes](/jetpack/androidx/releases/xr-compose)\n- [ARCore for Jetpack XR Release Notes](/jetpack/androidx/releases/xr-arcore)\n- [Jetpack SceneCore Release Notes](/jetpack/androidx/releases/xr-scenecore)\n- [Jetpack for SceneCore Runtime Release Notes](/jetpack/androidx/releases/xr-runtime)\n\nIf you run into an issue that is not on that list, [please report a bug or\nsubmit feedback](/develop/xr/support).\n\n*** ** * ** ***\n\nOpenXR™ and the OpenXR logo are trademarks owned\nby The Khronos Group Inc. and are registered as a trademark in China,\nthe European Union, Japan and the United Kingdom."]]