تعديلات على حزمة تطوير البرامج (SDK) لمنصة Android XR: تقديم الإصدار الرابع من "معاينة المطوّر"
يستغرق الاطِّلاع على المقال 5 دقائق
يسرّنا اليوم إطلاق الإصدار الرابع من "معاينة المطوّر" لحزمة تطوير البرامج (SDK) لمنصة Android XR، مع مواصلة تركيزنا على توحيد عملية التطوير على الأجهزة المختلفة، مثل سمّاعات الرأس والنظّارات السلكية التي تعمل بنظام الواقع الممتد والنظّارات الذكية. للحفاظ على سهولة استخدام منصتنا، سنعتمد تسميات أكثر وصفًا لأشكال الأجهزة، حيث ستصبح نظارات الذكاء الاصطناعي الآن نظارات صوتية، وستصبح نظارات الذكاء الاصطناعي المزودة بشاشة الآن نظارات بشاشة عرض، وستظهر هذه التغييرات في مستنداتنا اعتبارًا من اليوم.
يتضمّن هذا الإصدار العديد من التحديثات التي تساعدك في إنشاء تجارب مذهلة لأجهزة XR، وتوفير تجارب غامرة أكثر على سمّاعات الرأس المتوافقة مع تقنيات الواقع الممتد، وتسهيل عملية إنشاء تجارب الواقع المعزّز على النظارات الصوتية ونظارات بشاشة عرض. بالإضافة إلى ذلك، سيتم قريبًا نقل مكتباتنا الأساسية، بما في ذلك XR Runtime وJetpack SceneCore وARCore for Jetpack XR، رسميًا إلى الإصدار التجريبي.
لإتاحة الوصول المبكر إلى الأجهزة والموارد اللازمة لإنشاء تجارب غامرة ومعزَّزة على الأجهزة القادمة، مثل نظارات العرض والنظارات الصوتية وProject Aura من XREAL، نعلن عن برنامج Android XR Developer Catalyst. يمكنك الاطّلاع على مزيد من المعلومات وبدء تقديم طلبك اليوم.
إنشاء تجارب واقع معزّز للنظارات الصوتية والنظارات المزودة بشاشة
تتضمّن "معاينة المطوّر" 4 واجهات برمجة تطبيقات جديدة تساعدك في إنشاء تطبيقاتك واختبارها، وذلك بدءًا من مكتباتنا لتجارب الواقع المعزّز.
Jetpack Projected: واجهات برمجة التطبيقات Device Availability وProjectedTestRule
تساعد مكتبة Jetpack Projected في ربط تجارب التطبيقات من الهاتف بمجال رؤية المستخدم. أضفنا واجهة برمجة التطبيقات Device Availability API التي تجمع بين إشارات حالة الارتداء والاتصال في قيم Lifecycle.State Android العادية. يتيح لك ذلك تعديل سلوك تطبيقاتك استنادًا إلى ما إذا كان الجهاز موضوعًا على المعصم.
val xrDevice = XrDevice.getCurrentDevice(projectedContext) // Observe the device lifecycle flow xrDevice.getLifecycle().currentStateFlow .collect { state -> when (state) { Lifecycle.State.STARTED -> { /* Device is available (worn) */ } Lifecycle.State.CREATED -> { /* Device is unavailable (not worn) */ } Lifecycle.State.DESTROYED -> { /* Device is DISCONNECTED */ } } }
لتبسيط عملية الاختبار، تعمل واجهة برمجة التطبيقات الجديدة ProjectedTestRule في عنصر projected-testing على أتمتة عملية إعداد بيئات الاختبار المسقطة. يساعدك ذلك في كتابة اختبارات وحدات نظيفة وموثوقة بدون رمز النص النموذجي.
// from the 'androidx.xr.projected:projected-testing:1.0.0-alpha07' artifact @get:Rule val projectedTestRule = ProjectedTestRule() @Test fun testProjectedContextInitialization() { // by default, ProjectedTestRule automatically creates and connects // a projected device before each test val projectedContext = ProjectedContext.createProjectedDeviceContext(context) // assert the projected context is successfully initialized assertThat(projectedContext).isNotNull() }
Jetpack Compose Glimmer: خط Google Sans Flex ومكوّنات جديدة
تتضمّن مكتبة واجهة المستخدم الخاصة بالنظارات المزودة بشاشة عرض، Jetpack Compose Glimmer، الآن Google Sans Flex لتحسين إمكانية القراءة على شاشات العرض الشفافة بصريًا. أضفنا أيضًا عدة عناصر تفاعلية:
- الحِزم: مصمّمة للمجموعات المحسَّنة لاستخدام لوحة اللمس، وتعرض عنصرًا واحدًا في كل مرة.
- شرائح العناوين: توفّر تصنيفًا وسياقًا لبطاقات المحتوى.
إنشاء تجارب غامرة لسماعات الرأس والنظارات السلكية التي تعمل بنظام الواقع الممتد
إذا كنت تتطلّع إلى إنشاء تجارب غامرة بالكامل لسمّاعات الرأس والنظّارات السلكية التي تعمل بنظام الواقع الممتد، لدينا العديد من التحديثات المهمة.
مرحلة الانتقال إلى الإصدار التجريبي والهندسة المعمارية الحديثة
ستنتقل قريبًا ميزات XR Runtime وJetpack SceneCore وميزات الإدراك في ARCore for Jetpack XR (خرائط العمق وتتبُّع العين/اليد واختبارات الإصابة ونقاط الارتكاز المكانية) إلى الإصدار التجريبي، لذا عملنا على تبسيط واجهات برمجة التطبيقات Jetpack XR. لقد أزلنا حِزم Guava وRxJava3 القديمة واستبدلناها ببنية حديثة تعتمد على لغة Kotlin أولاً.
Jetpack SceneCore: ملفات glTF والشبكات المخصّصة
نعمل على توسيع إمكانات التصاميم الثلاثية الأبعاد من خلال إضافة القدرة على تحسينها والوصول إلى عُقد معيّنة باستخدام تصميم ثلاثي الأبعاد. باستخدام GltfModelNode، يمكنك تعديل خصائص مثل الوضع والمواد والتركيبات، ويمكنك حتى تشغيل الرسوم المتحركة لعُقد معيّنة.
// Create a new PBR material pbrMaterial = KhronosPbrMaterial.create( session = xrSession, alphaMode = AlphaMode.OPAQUE ) // Load a texture. val texture = Texture.create( session = xrSession, path = Path("textures/texture_name.png") ) // Apply the texture and configure occlusion to define how the material handles ambient lighting. pbrMaterial.setOcclusionTexture( texture = texture, strength = 0.5f ) // Access the hierarchy of nodes within the model entity. val entityNodes = entity.nodes // Find the specific node to apply the material override. val myEntityNode = entityNodes.find { it.name == "node_name" } // Apply the PBR material to the node. myEntityNode?.setMaterialOverride( material = newMaterial )
سنضيف أيضًا ميزة "الشبكات المخصّصة" إلى SceneCore. تتيح لك الشبكات المخصّصة إنشاء أشكال هندسية بشكل فوري آليًا، ما يجعلها مثالية لإنشاء نماذج ثلاثية الأبعاد مخصّصة. سنطرح هذه الميزة كإصدار تجريبي، لذا ندعوك لتجربتها وإخبارنا برأيك.
// Create the mesh val roadMesh = CustomMesh.BuilderFromMeshData(session, roadVertexLayout) .addVertexData(ByteBufferRegion(roadDataBuffer, 0, vertexDataSize)) .setIndexData(ByteBufferRegion(roadDataBuffer, vertexDataSize, indexDataSize)) .setTopology(MeshSubsetTopology.TRIANGLES) .build() // Define the material val roadMaterial = KhronosPbrMaterial.create(session, AlphaMode.OPAQUE) // Instantiate the entity using the custom mesh and material val roadEntity = MeshEntity.create( session, roadMesh, listOf(roadMaterial), pose = roadPose, )
Compose for XR: إتاحة ملفات glTF الأصلية
يتوفّر الآن توافق أصلي مع glTF مباشرةً في Compose for XR باستخدام SpatialGltfModel. استخدِم هذه السمة مع SpatiallGltfModelState للوصول إلى العُقد والرسوم المتحركة في تصميم glTF، أو استخدِمها لإضافة مواد وخامات إلى تصاميمك الثلاثية الأبعاد.
val myGltfModelState = rememberSpatialGltfModelState( source = SpatialGltfModelSource.fromPath( Paths.get("models/my_animated_model.glb") ) ) val myGltfAnimation = myGltfModelState.animations.find { it.name == "animation_name" } DisposableEffect(myGltfAnimation) { myGltfAnimation?.loop() onDispose { myGltfAnimation?.stop() } } SpatialGltfModel(state = myGltfModelState, modifier = modifier)
ARCore for Jetpack XR: معاينة Geospatial API لنظارات XR السلكية
نوفّر أيضًا معاينة مبكرة لواجهة Geospatial API لنظارات الواقع الممتد السلكية في ARCore for Jetpack XR. يتيح هذا التحديث تثبيت المحتوى الرقمي بدقة عالية في المواقع الجغرافية الحقيقية في أكثر من 87 بلدًا.
من خلال الجمع بين "نظام تحديد المواقع المرئي" (VPS) في ARCore وإمكانات الاستدلال والصوت في Gemini Live API، يمكنك إنشاء تجارب مدرِكة للسياق تفهم الموقع الجغرافي للمستخدم وموضعه. تخيَّل إنشاء جولة مشي شاملة موجَّهة بالذكاء الاصطناعي تقدّم أوصافًا صوتية في الوقت الفعلي للأماكن القريبة، وتدمج المعلومات الرقمية بسلاسة مع البيئة المحيطة.
ابدأ بناء المستقبل اليوم
إنّها فرصة رائعة لتطوير تطبيقات على Android XR. مع اقتراب طرح الإصدار التجريبي من حزمة تطوير البرامج (SDK) الخاصة بتجربة الواقع الممتد (XR) من Jetpack، وتوفُّر مجموعة قوية من الأدوات الجديدة بين يديك، يمكنك استكشاف كل من المجالات التالية لتجهيز تجارب تطبيقك للواقع الممتد (XR).
قراءة المستندات واستكشاف النماذج وتجربة الواقع الممتد
انتقِل إلى موقع "مطوّرو تطبيقات Android" الإلكتروني الرسمي للحصول على أدلة فنية كاملة ومرجع لواجهة برمجة التطبيقات وإرشادات حول إعداد المحاكي الجديد. استلهام الأفكار من عيّناتنا وتجاربنا يمكنك الاطّلاع على كيفية استخدامنا لواجهات برمجة التطبيقات هذه لإنشاء تصاميم مكانية غامرة وتحميل نماذج ثلاثية الأبعاد واستكشاف الصوت المكاني وغير ذلك.
التعرّف على الميزات الجديدة لمحركات الألعاب
أضفنا دعمًا رسميًا لمحرّك Unreal Engine وGodot، وأطلقنا أداتَين جديدتَين لتسريع عملية تطوير تطبيقات Android XR باستخدام Unity وإطار عمل التفاعل Android XR. واستنادًا إلى ملاحظاتك، سنطرح مركز Android XR Engine Hub الذي يتيح لك تشغيل تجاربك مباشرةً من المحرّك المفضّل لديك.
تقديم طلب للانضمام إلى برنامج Android XR Developer Catalyst
لا تفوّت فرصة تصميم تطبيقات لأحدث أجهزة Android XR. يمكنك تقديم طلب اليوم للحصول على فرصة الوصول إلى أجهزة إصدار تجريبي، بما في ذلك النموذج الأولي للنظارات الصوتية ونظارات بشاشة عرض وProject Aura من XREAL.
مزيد من المعلومات والتقديم اليوم
نتطلّع إلى رؤية تجارب الواقع الممتد المذهلة التي ستنشئها مع اقتراب موعد إطلاق المزيد من أجهزة Android XR في وقت لاحق من هذا العام.
يمكنك الاطّلاع على هذا الإعلان وجميع التحديثات المتعلقة بمؤتمر Google I/O 2026 على io.google.
-
أخبار المنتجاتبدءًا من التراكبات المعزّزة إلى البيئات الغامرة بالكامل، تتوسّع منظومة Android XR المتكاملة بسرعة، وتتوفّر سماعة الرأس Samsung Galaxy XR اليوم.
Stevan Silva, Vinny DaSilva • يستغرق الاطِّلاع على المقال 3 دقائق -
أخبار المنتجاتيسرّنا الإعلان عن أنّنا أتحنا رسميًا استخدام Unreal Engine و Godot على Android XR. نطرح أيضًا أدوات جديدة مصمَّمة لتعزيز إنتاجيتك وإتاحة إمكانات جديدة في الواقع الممتد، وهي Android XR Engine Hub وAndroid XR Interaction Framework.
Luke Hopkins, Ryan Bartley • مدّة القراءة: 4 دقائق -
أخبار المنتجاتفي مؤتمر Google I/O 2026، أعلنّا عن تحوّل Android من نظام تشغيل إلى نظام ذكاء متكامل. عرضنا أيضًا كيف يمكنك إنشاء تجارب ذكية بشكلٍ أصلي باستخدام النظام والاستفادة من إمكانات الذكاء الاصطناعي من Google في تطبيقاتك.
Jingyu Shi • مدّة القراءة: دقيقتان
يمكنك تلقّي أحدث الإحصاءات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.