أخبار المنتجات
تعديلات على حزمة تطوير البرامج (SDK) لمنصة Android XR: إليك الإصدار الرابع من "معاينة المطوّر"
قراءة لمدة 5 دقائق
يسرّنا اليوم إطلاق الإصدار الرابع من "معاينة المطوّر" لحزمة تطوير البرامج (SDK) لمنصة Android XR، مع مواصلة التركيز على توحيد عملية التطوير على الأجهزة المختلفة، مثل سمّاعات الرأس والنظارات السلكية التي تعمل بنظام الواقع الممتد و النظارات الذكية. للحفاظ على بساطة منصتنا، سنستخدم أسماء أكثر وصفًا لأشكال الأجهزة، حيث أصبحت النظارات بالذكاء الاصطناعي تُعرف الآن باسم النظارات الصوتية، والنظارات بالذكاء الاصطناعي التي تتضمّن شاشة تُعرف الآن باسم النظارات التي تتضمّن شاشة، وستظهر هذه التغييرات في مستنداتنا بدءًا من اليوم.
يتضمّن هذا الإصدار مجموعة من التعديلات التي تساعدك في إنشاء تجارب رائعة لأجهزة الواقع الممتد، وتوفير تجارب غامرة أكثر على سمّاعات الرأس التي تعمل بنظام الواقع الممتد، وتبسيط عملية إنشاء تجارب معزّزة على النظارات الصوتية والنظارات التي تتضمّن شاشة. بالإضافة إلى ذلك، سيتم قريبًا نقل مكتباتنا الأساسية، بما في ذلك XR Runtime وJetpack SceneCore وARCore for Jetpack XR، إلى الإصدار التجريبي رسميًا.
لمنحك إمكانية الوصول المبكر إلى الأجهزة والموارد اللازمة لإنشاء تجارب غامرة ومعزّزة على الأجهزة القادمة، مثل النظارات التي تتضمّن شاشة والنظارات الصوتية وProject Aura من XREAL، نعلن عن برنامج Android XR Developer Catalyst Program. يمكنك الاطّلاع على مزيد من المعلومات و بدء تقديم طلبك اليوم.
إنشاء تجارب معزّزة للنظارات الصوتية والنظارات التي تتضمّن شاشة
بدءًا من مكتباتنا للتجارب المعزّزة، يقدّم الإصدار الرابع من "معاينة المطوّر" واجهات برمجة تطبيقات جديدة تساعدك في إنشاء تطبيقاتك واختبارها.
Jetpack Projected: مدى توفّر الأجهزة وواجهات برمجة التطبيقات 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 للنظارات السلكية التي تعمل بنظام الواقع الممتد
نقدّم أيضًا معاينة مبكرة لواجهة برمجة التطبيقات Geospatial API للنظارات السلكية التي تعمل بنظام الواقع الممتد في ARCore for Jetpack XR. يتيح هذا التعديل إمكانية تثبيت المحتوى الرقمي بدقة عالية في المواقع الجغرافية الفعلية في أكثر من 87 بلدًا.
من خلال الجمع بين نظام تحديد المواقع المرئية (VPS) من ARCore وإمكانات الاستدلال والصوت في Gemini Live API، يمكنك إنشاء تجارب تراعي السياق وتفهم موقع المستخدم وموضعه. تخيَّل إنشاء جولة مشي غامرة مستنِدة إلى الذكاء الاصطناعي توفّر أوصافًا صوتية في الوقت الفعلي للأماكن القريبة، وتدمج بسلاسة المعلومات الرقمية مع البيئة المادية.
ابدأ في بناء المستقبل اليوم
هذا هو الوقت المناسب للتطوير على منصة Android XR. مع اقتراب نقل حزمة تطوير البرامج (SDK) لمنصة Jetpack XR إلى الإصدار التجريبي وتوفّر مجموعة قوية من الأدوات الجديدة، يمكنك استكشاف كل من المجالات التالية لإعداد تجارب تطبيقك للواقع الممتد.
قراءة المستندات واستكشاف النماذج والاطّلاع على تجارب الواقع الممتد
انتقِل إلى موقع "مطوّرو تطبيقات Android" الإلكتروني الرسمي للاطّلاع على الأدلة الفنية الكاملة ومرجع واجهة برمجة التطبيقات وتعليمات إعداد المحاكي الجديد. يمكنك استلهام الأفكار من نماذجنا وتجاربنا. تعرَّف على كيفية استخدامنا لواجهات برمجة التطبيقات هذه لإنشاء تنسيقات مكانية غامرة وتحميل نماذج ثلاثية الأبعاد واستكشاف الصوت المكاني وغير ذلك.
التعرّف على الميزات الجديدة لمحركات الألعاب
أضفنا دعمًا رسميًا لـ Unreal Engine و Godot، وأطلقنا أداتَين جديدتَين لتسريع عملية التطوير على Android XR باستخدام Unity و إطار عمل التفاعل مع Android XR. واستنادًا إلى ملاحظاتك، نقدّم Android XR Engine Hub للسماح لك بتشغيل تجاربك مباشرةً من المحرك المفضّل لديك.
تقديم طلب للانضمام إلى برنامج Android XR Developer Catalyst Program
لا تفوّت فرصة التطوير على أحدث أجهزة Android XR. يمكنك تقديم طلب اليوم للحصول على إمكانية الوصول إلى الأجهزة قبل إطلاقها، بما في ذلك النموذج الأولي للنظارات الصوتية والنظارات التي تتضمّن شاشة وProject Aura من XREAL.
مزيد من المعلومات وتقديم طلب اليوم
نتطلّع إلى رؤية تجارب الواقع الممتد الرائعة التي ستنشئها مع اقتراب إطلاق المزيد من أجهزة Android XR في وقت لاحق من هذا العام.
يمكنك استكشاف هذا الإعلان وجميع تعديلات Google I/O 2026 على io.google.
متابعة القراءة
-
أخبار المنتجات
يسرّنا الإعلان عن توفّر الدعم الرسمي لـ Unreal Engine وGodot على Android XR. نطلق أيضًا أدوات جديدة مصمّمة لتعزيز إنتاجيتك وتفعيل إمكانات جديدة للواقع الممتد، وهي Android XR Engine Hub وإطار عمل التفاعل مع Android XR.
Luke Hopkins, Ryan Bartley • قراءة لمدة 4 دقائق
-
أخبار المنتجات
في Google I/O 2026، قدّمنا تحوّل Android من نظام تشغيل إلى نظام ذكاء. أوضحنا أيضًا كيف يمكنك إنشاء تجارب ذكية بشكل أساسي باستخدام النظام والاستفادة من إمكانات الذكاء الاصطناعي من Google في تطبيقاتك.
Jingyu Shi • قراءة لمدة دقيقتَين
-
أخبار المنتجات
مع إطلاق Android 17، ننتقل إلى معيار تطوير تكيّفي أولاً. لم يعُد المستخدمون يعتمدون على شكل جهاز واحد، بل ينتقلون بين الهواتف والهواتف القابلة للطي والأجهزة اللوحية وأجهزة الكمبيوتر المحمولة وشاشات السيارات وبيئات الواقع الممتد الغامرة طوال اليوم.
Fahd Imtiaz • قراءة لمدة 4 دقائق
البقاء على اطّلاع على آخر التحديثات
يمكنك تلقّي أحدث المعلومات حول تطوير تطبيقات Android في بريدك الوارد أسبوعيًا.