نظرة عامة على HMI

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

  • دليل تكامل المضيف AOSP . يسمح مضيف التطبيق لتطبيقات السيارات التابعة لجهات خارجية بعرض مكونات واجهة المستخدم (UI) المصممة على طراز OEM نيابةً عنها.
  • هيكل إعدادات السيارة . توفر إعدادات السيارة واجهة مستخدم مرئية تتمحور حول السيارة، وتحسينات أساسية لتشتيت انتباه السائق، ونقاط دخول تخصيص إضافية لمصنعي المعدات الأصلية.
  • دليل تكامل مكتبة واجهة المستخدم للسيارة . توفر مكتبة واجهة المستخدم الخاصة بالسيارة إطار عمل لتطوير واجهة المستخدم لتمكين جميع التطبيقات الموجودة في السيارة من تحقيق الاتساق والتخصيص.
  • تخصيص أيقونات نظام شريط الحالة . يعد شريط الحالة أحد مكونات واجهة مستخدم نظام Android المستخدمة لعرض المعلومات المهمة للمستخدمين باستمرار. تعرف على كيفية تخصيص أيقونات نظام شريط الحالة.
  • إخطارات رؤساء المتابعة . تعرف على كيفية تخصيص إشعارات Head-Up.
  • المسجل . استخدم تطبيق نظام Android هذا لتنفيذ تجربة مُحسّنة لتشتيت الانتباه (DO) للاتصال عبر Bluetooth وتصفح جهات الاتصال وإدارة المكالمات.
  • وسائط . من خلال عدد قليل من الإعدادات والخدمة، يمكن للمطورين توسيع تطبيقات الوسائط الموجودة. بينما يجب أن تلتزم التطبيقات بقالب وسائط السيارات، يمكن للمطورين تخصيص ألوان القالب والخطوط والأيقونات والمزيد لإنشاء تجربة ذات علامة تجارية.
  • إشعارات . تعرف على كيفية تغيير مظهر الإشعارات وتكويناتها.

المصطلح

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

شرط تعريف
التطبيقات الأساسية المجموعة الرئيسية من التطبيقات المهمة لوظائف النظام، بما في ذلك الإعدادات والراديو ونظام التدفئة والتهوية وتكييف الهواء (HVAC) والوسائط وبرنامج الاتصال ولوحة المفاتيح.
مستند تعريف التوافق (CDD) يسرد المتطلبات التي يجب استيفاؤها حتى تكون الأجهزة متوافقة مع أحدث إصدار من Android.
مجموعة اختبار التوافق (CTS) مجموعة اختبارات مجانية من الدرجة التجارية، متاحة للتنزيل من موقع Compatibility Test Suite Downloads .
التخصيص تمرين تعديل تطبيق AOSP للوفاء بمتطلبات OEM. عادةً ما يتضمن ذلك استخدام تراكبات الموارد لتطبيق التغييرات التجميلية مع ضمان الامتثال أيضًا لـ CDD وCTS وجميع إرشادات تجربة المستخدم ذات الصلة.
تطبيقات البطل مجموعة من التطبيقات الأساسية المهمة لجميع جوانب Android، بما في ذلك الوظائف وقابلية الترقية والنظام البيئي لمطوري الجهات الخارجية والمستخدمين النهائيين. تتضمن تطبيقات Hero الإشعارات والإعدادات والوسائط ومركز الاتصال/المتصل. يجب أن تكون تطبيقات AOSP المقابلة ذات جودة إنتاجية.
تراكبات الموارد للتأثير على عرض واجهة المستخدم، استخدم هذه الآلية لاستبدال الألوان وتغيير الأبعاد وتمكين الرسم وتطبيق موارد التخطيط إما في وقت الترجمة (الأكثر شيوعًا) أو في وقت التشغيل (Runtime Resource Overlays (RRO)).
واجهة مستخدم النظام واجهة المستخدم خارج التطبيق الذي ينتمي إلى النظام، مثل شريط التنقل وشريط الحالة وشاشة القفل ومربع حوار مستوى الصوت.
سمة مجموعة من الألوان والأنماط المستخدمة لتحديد شكل ومظهر المكونات والتطبيقات التي ترث السمة.
تجربة المستخدم (UX) مجال تصميم واجهة المستخدم (UI) وسهولة استخدامها.

التخصيص

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

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

  • واجهة مستخدم النظام. يمكن لـ OEM تخصيص تطبيق AOSP أو استبداله ضمن الحدود التي توفرها CDD وCTS وأي إرشادات أخرى قابلة للتطبيق فيما يتعلق بتجربة المستخدم.

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

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

تكوين الكثافة

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

PRODUCT_PROPERTY_OVERRIDES := \
        ro.sf.lcd_density=160

محرك قيود UX

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

موضوع النظام

السمة التي تحدد مجموعة العناصر الافتراضية على مستوى النظام مثل الألوان وأنماط النص هي DeviceDefault . يتم تشجيع مصنعي المعدات الأصلية على بدء عملية التخصيص الشاملة عن طريق تعديل السمة DeviceDefault. افتراضيًا، ترث واجهة مستخدم النظام وجميع تطبيقات النظام في AOSP من هذا المظهر. يتم أيضًا تشجيع تطبيقات النظام التي تم تطويرها بواسطة OEM على وراثة 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 بشكل أكبر.

التطبيق موضوع الملعب

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

  /packages/services/Car/tests/ThemePlayground

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

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

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

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

  • مركز الاتصالات
  • التدفئة والتهوية وتكييف الهواء
  • محرر أسلوب الإدخال (لوحة المفاتيح)
  • المشغل (الشاشة الرئيسية)
  • مشغل الوسائط المحلي
  • وسائط
  • رسول
  • إشعارات
  • مذياع
  • إعدادات

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

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

إشعارات

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

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

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

  • احترام تكوين محرك قيود UX.

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

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

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

يعتبر التنفيذ الشامل لمكدس الإشعارات، بدءًا من واجهات برمجة تطبيقات الإشعارات وحتى واجهة المستخدم، بمثابة تطبيق بطل . لضمان قابلية التشغيل البيني لواجهة برمجة التطبيقات (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 ) يستضيف شاشة إعدادات يجب ربطها من تطبيق الإعدادات الرئيسي، فيمكن إدخال التطبيق المنفصل ديناميكيًا. لمزيد من المعلومات، راجع التفضيلات الديناميكية .

وسائط

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

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

التخصيص

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

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

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