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

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

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

المصطلح

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

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

التخصيص

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

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

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

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

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

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

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

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 .

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

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

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

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

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

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

  • CATEGORY_CAR_EMERGENCY . مرتبة في الجزء العلوي من قائمة الإخطار. تجاوز عناصر تحكم "عدم الإزعاج" (DND).

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

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

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

التخصيص

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

تطبيقات الوسائط الأخرى

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

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