نظرة عامة على واجهة HMI

Android Automotive هو نظام نظام أساسي للترفيه والمعلومات داخل السيارة يتم توفيره مع نظام التشغيل Android مشروع مفتوح المصدر (AOSP). تقدم المقالات في هذا الموضوع المفاهيم والمكونات الرئيسية الذي يوفره واجهة مستخدم نظام Android Automotive والتطبيقات الأساسية اللازمة لتطوير نظام نظام واجهة الجهاز (HMI) للمصنّعين الأصليين ومطوري البرامج التابعين لجهات خارجية والمستخدمين النهائيين.

  • دليل دمج مضيف AOSP يسمح "مضيف التطبيق" لتطبيقات السيارات التابعة لجهات خارجية بعرض مكوّنات واجهة المستخدم بنمط المصنّع الأصلي للجهاز على بالنيابة عنك.
  • بنية إعدادات السيارة: توفّر إعدادات السيارة واجهة مستخدم مرئية تركّز على السيارة وتشتت الانتباه الأساسي للسائق وعمليات التحسين ونقاط دخول التخصيص الإضافية للمصنّعين الأصليين للأجهزة.
  • دليل دمج مكتبة واجهة مستخدم السيارة توفر مكتبة واجهة مستخدم السيارة إطار عمل لتطوير واجهة المستخدم لتمكين جميع التطبيقات الموجودة في من السيارة لتحقيق الاتساق والتخصيص.
  • تخصيص رموز نظام شريط الحالة شريط الحالة هو أحد مكونات واجهة مستخدم نظام Android المستخدمة لعرض المعلومات المهمة للمستخدمين. تعرف على كيفية تخصيص رموز نظام شريط الحالة.
  • إشعارات التنبيه: تعرَّف على طريقة تخصيص "إشعارات التنبيه".
  • برنامج الاتصال: يمكنك استخدام تطبيق نظام Android هذا للاستفادة من تجربة تقنية البلوتوث المحسَّنة لتشتيت الانتباه. الاتصال وتصفح جهات الاتصال وإدارة المكالمات.
  • الوسائط: ببضع إعدادات فقط وخدمة ما، يمكن للمطوّرين توسيع نطاق تطبيقات الوسائط الحالية. وعلى الرغم من ضرورة التزام التطبيقات نموذج Automotive Media، يمكن للمطورين تخصيص ألوان وخطوط ورموز وغير ذلك الكثير من أجل إنشاء تجربة مرتبطة بعلامة تجارية.
  • الإشعارات: تعرَّف على كيفية تغيير مظهر الإشعارات وإعداداتها.

المصطلحات

يتم استخدام هذه المصطلحات في خوارزمية HMI والمقالات ذات الصلة:

المصطلح التعريف
التطبيقات الأساسية تعني المجموعة الرئيسية من التطبيقات المهمة لوظائف النظام، بما فيها الإعدادات والراديو التدفئة والتهوية وتكييف الهواء والوسائط وبرنامج الاتصال ولوحة المفاتيح
مستند تعريف التوافق (CDD) يشير هذا المصطلح إلى المتطلبات التي يجب استيفاؤها لتصبح الأجهزة متوافقة مع أحدث التطبيقات. من Android.
مجموعة أدوات اختبار التوافق (CTS) حزمة اختبار مجانية لأغراض تجارية متوفرة للتنزيل على عمليات تنزيل مجموعة اختبار التوافق
التخصيص يشير ذلك المصطلح إلى عملية تعديل تنفيذ بروتوكول AOSP لاستيفاء متطلبات المصنّع الأصلي للجهاز. وعادةً ما يتضمن ذلك استخدام تراكبات الموارد لتطبيق تغييرات تجميلية مع وضمان الالتزام بتعليمات CDD وCTS وجميع إرشادات تجربة المستخدم ذات الصلة.
التطبيقات الرئيسية هناك مجموعة من التطبيقات الأساسية المهمة لجميع جوانب Android، بما فيها وظائفها وقابلية الترقية والمنظومة المتكاملة لمطوّري البرامج التابعة لجهات خارجية والمستخدمين النهائيين. تتضمن التطبيقات الرئيسية ما يلي: الإشعارات والإعدادات والوسائط ومركز الاتصالات/برنامج الاتصال. AOSP المقابل عمليات التنفيذ ذات جودة الإنتاج.
تراكبات الموارد للتأثير في عرض واجهة المستخدم، استخدم هذه الآلية لاستبدال الألوان، وتغيير الأبعاد وتفعيل الرسم وتطبيق موارد التخطيط إما من خلال وقت التجميع (الأكثر شيوعًا) أو في وقت التشغيل (تراكبات موارد وقت التشغيل (RRO))
واجهة مستخدِم النظام يشير ذلك المصطلح إلى واجهة المستخدم خارج أحد التطبيقات التي تنتمي إلى النظام، مثل واجهة برمجة التطبيقات. شريط التنقل وشريط الحالة وشاشة القفل ومربع حوار مستوى الصوت
المظهر مجموعة من الألوان والأنماط المستخدمة لتحديد شكل ومظهر المكونات والتطبيقات التي تكتسب المظهر.
User experience (UX) مجال تصميم واجهة المستخدم (UI) وسهولة استخدامها.

التخصيص

يُعد تنفيذ AOSP لواجهة مستخدم النظام وتطبيقات النظام الأساسية الأخرى بمثابة الأساس لبدء عملية تطوير HMI. عملية تعديل AOSP التنفيذ (من خلال استخدام تراكبات الموارد في المقام الأول) لتلبية العلامة التجارية للمصنّع الأصلي للجهاز أو نشاطه التجاري والمتطلبات القانونية باسم التخصيص.

وفي حين أنّ النظام الشامل مصمّم ومُصمَّم ليكون مرنًا، من المتوقع أن تتوفر مكونات مختلفة تخصيصها وفقًا لدرجات مختلفة:

  • واجهة مستخدم النظام: يمكن للمصنّع الأصلي للجهاز تخصيص تنفيذ AOSP أو استبداله ضمن والحدود المفروضة على CDD وCTS وأي إرشادات أخرى سارية لتجربة المستخدم.

  • تطبيقات النظام غير الأساسية (تُعرف أيضًا باسم المرجع): يمكن للمصنّعين الأصليين للأجهزة تخصيص أو استبدال تنفيذ بروتوكول AOSP.

  • التطبيقات الرئيسية: يأتي كل تطبيق مزودًا بمجموعة من إرشادات التخصيص التفصيلية. ننصح المصنّعين الأصليين للأجهزة باستخدام تنفيذ بروتوكول AOSP ثم تخصيصه ضمن التي توفرها هذه الإرشادات.

إعدادات الكثافة

لضمان عرض عناصر واجهة المستخدم بشكل صحيح وفقًا لتكوين العرض المادي، سيكون يجب ضبط السمة على الحزمة (مقاييس الشبكة الإعلانية) تتطابق مع الكثافة المادية بشكل وثيق، مثل هذا الإدخال في ملف الإصدار:

PRODUCT_PROPERTY_OVERRIDES := \
        ro.sf.lcd_density=160

محرّك قيود تجربة المستخدم

CarUxRestrictionsManager توفر عنصر جذب للتطبيقات من أجل الاستماع إلى التغييرات المتعلقة بحالة القيادة لتعديل تجربة المستخدم بشكل مناسب. يمكن للمصنّعين الأصليين للأجهزة تراكب ملف إعداد في packages/services/Car/service/res/xml/car_ux_restrictions_map.xml للتأثير في سلوك النظام.

مظهر النظام

الموضوع الذي يصف المجموعة الافتراضية على مستوى النظام من العناصر مثل الألوان وأنماط النص هو DeviceDefault. يتم تشجيع المصنّعين الأصليين للأجهزة على بدء عملية التخصيص الشاملة من خلال تعديل المظهر الافتراضي DeviceDefault. يتم تلقائيًا اكتساب واجهة مستخدم النظام وجميع تطبيقات النظام في AOSP من هذا الموضوع. ننصح أيضًا تطبيقات النظام التي طوّرها المصنّع الأصلي للجهاز باكتساب بيانات DeviceDefault. جهة خارجية من غير المتوقع أن تكتسب التطبيقات المطورة إعدادات DeviceDefault ولكن تستخدم Theme.Car بدلاً من ذلك. المقدمة في مكتبة androidx.car. يتم وضع الملفات على النحو التالي:

  • الأساسي. /frameworks/base/core/res/res/values/themes_device_defaults.xml
  • الألوان: /frameworks/base/core/res/res/values/colors_car.xml
  • الأنماط: /frameworks/base/core/res/res/values/styles_car.xml
  • تراكب السيارة:
    /packages/services/Car/car_product/overlay/.../values/themes_device_defaults.xml

من المتوقّع أن يكون لدى المصنّعين الأصليين للأجهزة بنية تراكب متوازية مع دليل car_product. في دليل المورِّد الخاص بها والذي يوسّع تراكب car_product بشكل أكبر.

تطبيق Theme Playground

يسهّل هذا التطبيق عملية تخصيص مظهر DeviceDefault من خلال لتصور جميع سمات الموضوعات في مكان واحد. وأيضًا، من خلال مقارنة كيفية عرض أنماط معينة في هذا بالإضافة إلى تطبيقات النظام الأخرى، يمكن للمطوّرين تصحيح أخطاء المظاهر بسرعة. هذا التطبيق متوفرة على:

  /packages/services/Car/tests/ThemePlayground

واجهة مستخدِم النظام

تتضمّن واجهة مستخدم النظام جميع واجهات المستخدم ضمن /frameworks/base، وبشكل أساسي في /frameworks/base/packages/CarSystemUI يتضمن ذلك شريط التنقل وشريط الحالة شاشة القفل ومربع حوار مستوى الصوت ورسائل الإشعارات الفورية وأداة اختيار المستخدم ومربّعات حوار الأذونات. يمكن للمصنّعين الأصليين مكونات واجهة مستخدم النظام على نطاق واسع عبر تراكبات الموارد وأشكالها، بشرط أن يكون كل منها داخل ومتطلبات CDD وCTS وإرشادات تجربة المستخدم الأخرى السارية.

تطبيقات النظام

تشتمل خدمة Android Automotive على مجموعة من تطبيقات النظام الأساسية المهمة للنظام بشكل عام. الأخرى. ومن بين هذه الأدوات، مركز الاتصالات والوسائط والإشعارات والإعدادات التي تُعتبر تطبيقات رئيسية.

  • مركز المراسلات
  • التدفئة والتهوية وتكييف الهواء
  • IME (لوحة المفاتيح)
  • مشغّل التطبيقات (الشاشة الرئيسية)
  • مشغّل الوسائط المحلية
  • الوسائط
  • مراسلة
  • الإشعارات
  • راديو
  • الإعدادات

الشاشة الرئيسية

"الشاشة الرئيسية"، تُعرف باسم مشغّل تطبيقات السيارة، هي الصفحة المقصودة لتجربة واجهة المستخدم HMI. يعمل تنفيذ AOSP كمرجع فقط ومن المتوقّع أن يحلّ المصنّعون الأصليون للأجهزة محلّ وتنفيذها بأنفسهم، والتي غالبًا ما تجمع بين التنقل وتشغيل الوسائط والتواصل حالات النظام الأخرى، حسب الحاجة. يعرض تطبيق Car Launcher غالبًا التطبيقات المتاحة على النظام. التعرُّف على كيفية التعامل مع الأحداث مثل الأحداث الأخيرة وتغييرات الحزمة وبلا واجهة مستخدم رسومية (بدون نشاط للمشغّل)، راجع تنفيذ المرجع.

الإشعارات

تعتبر الإشعارات جزءًا لا يتجزأ من نظام التشغيل Android والتركيبات ذاتها (بما في ذلك إشعار تنبيه وقائمة/مركز إشعارات وواجهات برمجة تطبيقات الإشعارات والترتيب والإجراءات المضمّنة) تم تضمينها في برنامج Android Automotive. لمعرفة التفاصيل، يمكنك الاطّلاع على الجهاز المحمول باليد. الإشعارات نظرة عامة: لتحسين حالات استخدام السيارات، تم إجراء التعديلات التالية (مقارنةً بـ حزمة إشعارات محمولة في اليد):

  • تسجّل هذه النسبة انخفاضًا في إجمالي محتوى الإشعارات المرئي للمستخدمين. إزالة تشغيل الوسائط باستمرار والتنقل المستمر و"غير مهم" (أهمية LOW وأقل) إشعارات الخدمة التي تعمل في المقدّمة لتطبيقات النظام من قائمة/مركز الإشعارات، مع مع إدراك أنّ هذه الإشعارات إما متكررة (على سبيل المثال، مجموعة تعرض حالة الوسائط) أو ليست مفيدة.

  • إزالة عناصر التحكم السياقية المعقدة (مثل الضغط مع الاستمرار والمستند إلى طول التمرير السريع) والتحكم المستمر).

  • الالتزام بإعداد محرّك "قيود تجربة المستخدم"

    • قد يتم إخفاء معاينة محتوى إشعارات المراسلة بناءً على حالة القيادة.
    • يجب ألا يتجاوز طول كل السلاسل
  • إضافة فئات إشعارات جديدة مخصّصة للسيارات في الإصدار 9 من نظام Android، لا يتوفّر إلا لتطبيقات النظام المزوّدة بترقية تعمل android.uid.system

  • CATEGORY_CAR_EMERGENCY الحصول على ترتيب أعلى من قائمة الإشعارات تجاوز عناصر التحكّم في ميزة "عدم الإزعاج" (DND)

  • CATEGORY_CAR_WARNING يحصل على ترتيب أدنى من حالة الطوارئ وأعلى من غيرها (تتجاوز DND).
  • CATEGORY_CAR_INFORMATION مرتَّبة مع بقية الإشعارات استنادًا إلى "الأهمية" وحداثتها.

تشمل آلية التنفيذ الشامل لحزمة الإشعارات، من واجهات برمجة التطبيقات Notification API إلى واجهة المستخدم، يُعتبر تطبيقًا رئيسيًا. لضمان إمكانية التشغيل التفاعلي المتوافقة مع واجهة برمجة التطبيقات عبر جميع الوحدات الرئيسية لأقصى حد من إمكانية الترقية، ننصح المصنّعين الأصليين للأجهزة بشدّة بتنفيذ عملية AOSP ثم قم بتخصيصه برفق.

التخصيص

تنطبق تصاميم DeviceDefault العادية وتراكبات الموارد. هناك عدد محدود للغاية من تتوفّر مقابض تخصيص السلوك على:

packages/apps/Car/Notification/res/values/config.xml

الإعدادات

تطبيق "الإعدادات" (إعدادات السيارة) هو أحد التطبيقات المؤثّرة التي تعرض مقابض مقابض والذي يمكن للمستخدم استخدامه لتهيئة جوانب نظام التشغيل Android وباقي السيارة. الإعدادات عن أكثر من 200 ميزة في نظام التشغيل، وتقترن هذه الميزات بشكل كبير مع كل إصدار Android. لتفعيل إمكانية الترقية وتجنُّب التقسيم، ننصح المصنّعين الأصليين للأجهزة بشدة لتنفيذ AOSP ثم تخصيصه (بدلاً من التشعّب في التنفيذ).

التخصيص

يأخذ تطبيق "الإعدادات" في الاعتبار التخصيص ويعرض عدة طرق التخصيص.

  • تخصيص المحتوى تفعِّل هذه السياسة التخصيص المرئي لكيفية تحديد كل نوع من أنواع عناصر الإعدادات المفضّلة. سيتم عرضه، بما في ذلك:

    • Preference.DeviceDefault.CheckBoxPreference

    • Preference.DeviceDefault.DialogPreference.EditTextPreference

  • تخصيص التسلسل الهرمي: لتفعيل:

    • تشغيل في جزء جذر عشوائي، مع تركيب قيمة هناك config_settings_hierarchy_root_fragment في الملف الذي يحمل العنوان Settings/res/values/config.xml

    • تخصيص العناصر مثل الترتيب والتجميع والنص والرموز Settings/res/xml/*.xml

  • الإدخال الثابت: أثناء إعداد مشروع يظهر على سطح الفيديو، يمكن للمصنّعين الأصليين للأجهزة إضافة الشاشات المملوكة من خلال تحديد ثم إضافة فئات "الأجزاء" و"وحدة التحكم" الإضافية على التسلسل الهرمي.

  • الإدخال الديناميكي: في حال استضاف تطبيق منفصل (apk) شاشة الإعدادات التي يجب ربطها من تطبيق "الإعدادات" الرئيسي، يمكن ربط التطبيق المنفصل ويتم إدخاله ديناميكيًا. لمزيد من المعلومات، يُرجى مراجعة الإعدادات المفضّلة للإعلانات الديناميكية:

الوسائط

"الوسائط" هو تطبيق رئيسي يقدّم تجربة المستخدم في الواجهة الأمامية نيابةً عن الوسائط التي تنفّذ MediaSession وMediaBrowser واجهات برمجة التطبيقات. ويمكن أن تكون تطبيقات الوسائط عبارة عن تطبيقات تابعة لجهات خارجية (مثل Spotify وPandora) بالإضافة إلى مصادر الوسائط، مثل البث عبر البلوتوث (BT) والوسائط المحلية.

تتوفّر المئات من تطبيقات الوسائط في ميزة Android Auto (Projection)، وجميعها تتوفر وتنفيذ واجهات برمجة التطبيقات للوسائط كما هو موضّح في توفير إمكانية تشغيل الصوت تلقائيًا: تتطوّر واجهات برمجة التطبيقات للوسائط مع كل إصدار رئيسي من إصدارات Android ومع إصدارات Androidx. لضمان إمكانية التشغيل البيني لواجهة برمجة التطبيقات في جميع تطبيقات الوسائط والإصدارات المستقبلية من Android، يلتزم المصنّعون الأصليون للأجهزة نشجِّعك بشدة على تنفيذ بروتوكول AOSP ثم تخصيصه.

التخصيص

تنطبق أيضًا المواضيع العادية من خلال المظهر DeviceDefault على الوسائط. بالإضافة إلى ذلك، يمكن تخصيص الشكل والأسلوب باستخدام تراكبات الموارد، بشرط أن يكون التخصيص أن يكون ضمن حدود إرشادات تجربة المستخدم.

مصادر وسائط ووسائط USB

بقدر الإمكان، يُنصح بشدة بتوصيل مصادر الوسائط هذه بجهاز الوسائط من خلال تنفيذ MediaSession وMediaBrowser واجهات برمجة التطبيقات (ينطبق هذا على أيّ تطبيق وسائط تابع لجهة خارجية). الاطّلاع على تطبيق LocalMediaPlayer في AOSP. يعرض هذا التطبيق ملفات الوسائط المحلية ويتم عرضه كمصدر في "الوسائط".