סקירה כללית על HMI

Android Automotive הוא פתרון של פלטפורמת מידע ובידור ברכב שמסופק עם Android פרויקט קוד פתוח (AOSP). המאמרים בנושא הזה מציגים את המושגים והרכיבים העיקריים סופקו על ידי ממשק המשתמש של מערכת Android Automotive, ואפליקציות הליבה שנדרשות כדי ליצור מערכת ממשק מכונה (HMI) ליצרני ציוד מקורי, למפתחים של צד שלישי ולמשתמשי קצה.

  • המדריך לשילוב מארח של AOSP מארח האפליקציות מאפשר לאפליקציות לרכב של צד שלישי לעבד רכיבים של ממשק משתמש (UI) בסגנון OEM בשם.
  • מבנה ההגדרות של הרכב. הגדרות הרכב מספקות ממשק משתמש חזותי ממוקד-רכב, הסחות דעת בסיסיות של הנהג אופטימיזציה ונקודות כניסה נוספות להתאמה אישית עבור יצרני ציוד מקורי.
  • המדריך לשילוב ספריית ממשק המשתמש ברכב. ספריית ממשק המשתמש של הרכב מספקת מסגרת לפיתוח ממשק משתמש כדי להפעיל את כל האפליקציות שנמצאות כדי להשיג עקביות והתאמה אישית.
  • התאמה אישית של סמלי המערכת בסרגל הסטטוס. שורת הסטטוס היא רכיב בממשק המשתמש של מערכת Android שמשמש להצגה עקבית מידע חשוב למשתמשים. איך להתאים אישית את סמלי המערכת בשורת הסטטוס.
  • התראות אזהרה. איך מתאימים אישית את ההתראות 'שימו לב'.
  • חייגן. צריך להשתמש באפליקציית המערכת הזו של Android כדי להטמיע חוויה מותאמת אישית (DO) ב-Bluetooth. שיחות, גלישה באנשי קשר וניהול שיחות.
  • מדיה. בעזרת כמה הגדרות בלבד ושירות, מפתחים יכולים להרחיב אפליקציות מדיה קיימות. האפליקציות חייבות לפעול בהתאם תבנית של כלי רכב, המפתחים יכולים להתאים אישית את הצבעים, הגופנים, הסמלים ועוד כדי ליצור חוויה ממותגת.
  • התראות. איך משנים את המראה וההגדרות של ההתראות

טרמינולוגיה

המונחים האלה נמצאים בשימוש ב-HMI ובמאמרים קשורים:

מונח הגדרה
אפליקציות ליבה האפליקציות העיקריות שחיוניות לפונקציונליות של המערכת, כולל 'הגדרות', 'רדיו', בקרת אקלים, מדיה, חייגן ומקלדת.
מסמך הגדרת תאימות (CDD) מציינת את הדרישות שצריכות להתקיים כדי שהמכשירים יעמדו בדרישות של הגרסה העדכנית ביותר הגרסה של Android.
חבילה לבדיקת תאימות (CTS) חבילת בדיקות חינמית ברמה מסחרית, זמינה להורדה בכתובת הורדות של הכלי לבדיקת תאימות.
התאמה אישית ביצוע שינויים בהטמעת AOSP כדי לעמוד בדרישות של OEM (יצרן ציוד מקורי). בדרך כלל התהליך הזה כולל שימוש בשכבות-על של משאבים כדי להחיל שינויים קוסמטיים, הבטחת ציות ל-CDD, ל-CTS ולכל ההנחיות הרלוונטיות לגבי חוויית משתמש.
אפליקציות מובחרות קבוצה של אפליקציות חשובות שחיוניות לכל ההיבטים של Android, כולל פונקציונליות, שדרוג, סביבה עסקית של מפתחים של צד שלישי ומשתמשי קצה. האפליקציות הראשיות כוללות את התראות, הגדרות, מדיה ומרכז התקשורת או החייגן. AOSP תואם שלהן צריכים להיות באיכות ייצור.
שכבות-על של משאבים כדי להשפיע על הרינדור של ממשק המשתמש, אפשר להשתמש במנגנון הזה כדי להחליף צבעים. לשנות מימדים, להפעיל שרטוט ולהחיל משאבי פריסה זמן הידור (compile) (הנפוצה ביותר) או בזמן הריצה (שכבות-על של משאבי זמן ריצה (RRO)).
ממשק משתמש של המערכת ממשק המשתמש מחוץ לאפליקציה ששייכת למערכת, למשל סרגל הניווט, שורת הסטטוס, מסך הנעילה ותיבת הדו-שיח של עוצמת הקול.
עיצוב אוסף של צבעים וסגנונות המשמשים לקביעת המראה והסגנון של הרכיבים ואפליקציות שירשו את העיצוב.
חוויית משתמש (UX) השדה של עיצוב ממשק משתמש (UI) ונוחות השימוש שלו.

התאמה אישית

הטמעת AOSP של ממשק המשתמש של המערכת ושל אפליקציות ליבה אחרות של המערכת משמשת הבסיס להתחלת תהליך הפיתוח של ממשק אנושי (HMI). המטרה של שינוי ה-AOSP (בעיקר באמצעות שימוש בשכבות-על של משאבים) כדי לעמוד במיתוג, בעסקים של ה-OEM והדרישות המשפטיות נקראת התאמה אישית.

המערכת הכוללת מתוכננת ומעוצבת כך להיות גמישה, אבל צפויים רכיבים שונים כך שיתאימו למעלות שונות:

  • ממשק המשתמש של המערכת. ה-OEM יכול להתאים אישית או להחליף את הטמעת ה-AOSP גבולות המוגדרים על ידי ה-CDD וה-CTS וכל הנחיות רלוונטיות אחרות לגבי חוויית המשתמש.

  • אפליקציות מערכת שאינן גיבורות על ידי AI (שנקראות גם הפניה). יצרני ציוד מקורי יכולים להתאים אישית או להחליף את הטמעת ה-AOSP.

  • אפליקציות מנצחות. לכל אפליקציה יש הנחיות מפורטות להתאמה אישית. מומלץ מאוד ליצרני ציוד מקורי להשתמש בהטמעת AOSP ואז להתאים אותו אישית גבולות שההנחיות האלה לא מאפשרות.

הגדרת הצפיפות

כדי להבטיח שרכיבי ממשק המשתמש יעובדו כראוי בהתאם לתצורת התצוגה הפיזית, הצפיפות צריך להגדיר את המאפיין לקטגוריה (מדדים ברשת המדיה) שהכי מתאימה לצפיפות הפיזית, כמו הרשומה הבאה בקובץ ה-build:

PRODUCT_PROPERTY_OVERRIDES := \
        ro.sf.lcd_density=160

מנוע להגבלות על חוויית המשתמש

CarUxRestrictionsManager הוא מאפשר לאפליקציות להאזין לשינויים שקשורה למצב הנהיגה כדי לשנות את חוויית המשתמש בהתאם. יצרני ציוד מקורי יכולים ליצור שכבת-על קובץ תצורה ב-packages/services/Car/service/res/xml/car_ux_restrictions_map.xml כדי להשפיע על התנהגות המערכת.

ערכת הצבעים של המערכת

העיצוב שמגדיר את קבוצת ברירת המחדל של המערכת כולה, כמו צבעים וסגנונות טקסט, הוא ברירת המחדל של המכשיר. מומלץ ליצרני ציוד מקורי להתחיל את תהליך ההתאמה האישית הכולל על ידי שינוי העיצוב של 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

ליצרני ציוד מקורי (OEM) צריך להיות מבנה של שכבת-על מקבילה בספרייה car_product בספריית הספקים שלו שמרחיבים עוד יותר את שכבת-העל car_product.

אפליקציית Playground לעיצוב

האפליקציה הזו מייעלת את תהליך ההתאמה האישית של העיצוב DeviceDefault על ידי הצגה חזותית של כל מאפייני העיצוב במקום אחד. כמו כן, על ידי השוואה בין האופן שבו סגנונות מסוימים מוצגים בהשוואה לאפליקציות מערכת אחרות, מפתחים יכולים לנפות באגים במהירות בבעיות בעיצוב. האפליקציה הזו זמין בכתובת:

  /packages/services/Car/tests/ThemePlayground

ממשק משתמש של המערכת

ממשק המשתמש של המערכת כולל את כל ממשק המשתמש בקטע /frameworks/base, בעיקר ב- /frameworks/base/packages/CarSystemUI. כולל סרגל הניווט, שורת הסטטוס מסך הנעילה, תיבת הדו-שיח של עוצמת הקול, הודעות קופצות, בוחר משתמשים ותיבות דו-שיח להרשאות. יצרני ציוד מקורי יכולים להתאים אישית באופן נרחב באמצעות רכיבי ממשק המשתמש של המערכת באמצעות שכבות-על של משאבים ועיצוב, בתנאי שכל אחד מהם נמצא במסגרת בדרישות של ה-CDD, CTS וההנחיות הרלוונטיות האחרות של חוויית המשתמש.

אפליקציות מערכת

Android Automotive כולל קבוצה של אפליקציות ליבה של המערכת שחיוניות לכל המערכת החדשה. מתוכם, 'מרכז התקשורת', 'מדיה', 'התראות' ו'הגדרות' הם שנחשבות כאפליקציות גיבורות.

  • מרכז התקשורת
  • בקרת אקלים
  • IME (מקלדת)
  • מרכז האפליקציות (מסך הבית)
  • נגן מדיה מקומית
  • מדיה
  • Messenger
  • התראות
  • רדיו
  • הגדרות

מסך הבית

מסך הבית, שנקרא מרכז האפליקציות לרכב, הוא דף הנחיתה של ממשק אנושי (HMI). הטמעת ה-AOSP משמשת כחומר עזר בלבד, ויצרני ציוד מקורי צפויים להחליף את בהטמעה שלהם, שמשלב בדרך כלל ניווט, הפעלת מדיה, תקשורת מצבי מערכת אחרים, לפי הצורך. לעיתים קרובות, האפליקציה 'מרכז האפליקציות ברכב' מציגה את האפליקציות הזמינות במערכת. אתם יכולים לקרוא איך לטפל באירועים כמו אירועים אחרונים, שינויים בחבילות ודפדפן ללא GUI. (ללא פעילות של מרכז האפליקציות), ראו את הטמעת ההפניה.

התראות

התראות הן רכיב אינטגרלי במערכת ההפעלה של Android ובאותם המבנים (כולל התראה יזומה, רשימת/מרכז התראות, ממשקי API של התראות, דירוג ופעולות מוטבעות) כלולים ב-Android Automotive. לפרטים נוספים, אפשר לבדוק את המכשירים הניידים תזכורות סקירה כללית כדי לבצע אופטימיזציה של תרחישי השימוש בכלי רכב, בוצעו השינויים הבאים (בהשוואה מקבץ התראות להחזקה ביד):

  • פחות תוכן של התראות שגלוי למשתמשים. הסרה של הפעלה רציפה של מדיה, ניווט מתמשך וזיהוי 'לא חשוב' (החשיבות של LOW ומתחת) התראות לשירות שפועל בחזית של אפליקציות המערכת מרשימת ההתראות/במרכז ההתראות, באמצעות להבין שההתראות האלה מיותרות (למשל, אשכול שמציג מצב מדיה) או שאינן שימושיות.

  • הסרת פקדים מורכבים לפי הקשר (כמו לחיצה ארוכה והחלקה על בסיס אורך ההחלקה ).

  • ציות לתצורת המנוע בהגבלות UX.

    • יכול להיות שהתצוגה המקדימה של התוכן של ההתראות על הודעות SMS תהיה מוסתרת, בהתאם למצב הנסיעה.
    • כל המחרוזות מוגבלות לאורך המקסימלי.
  • הוספה של קטגוריות התראות חדשות במיוחד עבור רכבים ב: Android 9, זמין רק באפליקציות מערכת בחבילה שפועלות בתור android.uid.system

  • CATEGORY_CAR_EMERGENCY ההודעות מדורגות בראש רשימת ההתראות. מעקף פקדי 'ללא הפרעות' (DND).

  • CATEGORY_CAR_WARNING הדירוג נמוך מדירוג החירום ומעל אחרים (עוקף את הערך DND).
  • CATEGORY_CAR_INFORMATION מדורגים לפי שאר ההתראות לפי 'חשיבות' והעדכניות.

ההטמעה של מקבץ ההתראות מקצה לקצה, מממשקי ה-API של ההתראות ועד לממשק המשתמש, נחשבת לאפליקציה גיבורה. כדי להבטיח יכולת פעולה הדדית עקבית בין ה-API בכל משאבי ה-HU להגדיל את יכולת השדרוג, מומלץ מאוד ליצרני ציוד מקורי ליישם את הטמעת AOSP להתאים אותו אישית בקלילות.

התאמה אישית

עיצוב ברירת המחדל של DeviceDefault ושכבות-העל של המשאבים חלות עליו. מספר מוגבל מאוד של כפתורי התאמה אישית התנהגותיים זמינים בכתובת:

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

הגדרות

אפליקציית ההגדרות (הגדרות הרכב) היא אחת מהאפליקציות הגיבורות שחושפות כפתורים. שבאמצעותם המשתמש יכול להגדיר היבטים מסוימים במערכת ההפעלה Android ובשאר חלקי הרכב. ההגדרות חושפת יותר מ-200 תכונות במערכת ההפעלה, שמחוברות באופן הדוק גרסת Android. כדי לאפשר יכולת שדרוג ולמנוע פיצול, מומלץ מאוד ליצרני ציוד מקורי (OEM) לקחת את ההטמעה של ה-AOSP ולהתאים אותה אישית (במקום לפצל את ההטמעה).

התאמה אישית

אפליקציית ההגדרות לוקחת בחשבון התאמה אישית וחושפת מספר דרכים בהתאמה אישית.

  • עיצוב. המדיניות מאפשרת התאמה אישית חזותית של האופן שבו כל סוג אובייקט Preference עובר עיבוד, כולל:

    • Preference.DeviceDefault.CheckBoxPreference

    • Preference.DeviceDefault.DialogPreference.EditTextPreference

  • התאמה אישית של היררכיה. כדי להפעיל את:

    • הפעלה למקטע שורש שרירותי, שכבת-על של הערך של השם של config_settings_hierarchy_root_fragment בקובץ הוא Settings/res/values/config.xml

    • התאמה אישית של פריטים, כמו הסדר, קיבוץ, טקסט וסמלים, שכבת-על Settings/res/xml/*.xml

  • הזרקה סטטית. כשמגדירים פרויקט שכבת-על, יצרני ציוד מקורי יכולים להוסיף מסכים קנייניים על ידי הגדרה ולאחר מכן הוספה של הסוגים הנוספים של מקטעים (Fragment) ובקר (בקר). להיררכיה.

  • החדרה דינמית. אם אפליקציה נפרדת (apk) מארחת מסך הגדרות שצריך לקשר מאפליקציית ההגדרות הראשית. האפליקציה הנפרדת יכולה להיות מוחדר באופן דינמי. מידע נוסף זמין במאמר הבא: העדפות דינמיות.

מדיה

המדיה היא אפליקציה גיבורה שמספקת חוויית משתמש בממשק הקצה בשם המדיה שמטמיעות MediaSession ו-MediaBrowser ממשקי API. אפליקציות מדיה יכולות להיות אפליקציות צד שלישי (כמו Spotify ו-Pandora) וגם אפליקציות אחרות מקורות מדיה, כמו סטרימינג של Bluetooth (BT) ומדיה מקומית.

מאות אפליקציות מדיה זמינות ב-Android Auto (Projection), וכולן להטמיע את ממשקי ה-API האלה, כפי שמתואר מתן הפעלה אוטומטית של אודיו. ממשקי ה-API של המדיה מתפתחים עם כל אחת מהגרסאות העיקריות של Android ועם המהדורות Androidx. כדי להבטיח יכולת פעולה הדדית של ה-API בכל אפליקציות המדיה ובגרסאות עתידיות של Android, יצרני ציוד מקורי (OEM) צריכים מומלץ מאוד ליישם את ה-AOSP ולאחר מכן להתאים אותו אישית.

התאמה אישית

העיצוב הרגיל דרך עיצוב DeviceDefault חל גם על מדיה. בנוסף, אפשר להתאים אישית את המראה והסגנון באמצעות שכבות-על של משאבים, בתנאי שההתאמה האישית בתוך גבולות ההנחיות בנושא חוויית משתמש.

מדיה ומקורות מדיה בחיבור USB

במידת האפשר, מומלץ מאוד לחבר את מקורות המדיה האלה למדיה באמצעות הטמעה של MediaSession ו-MediaBrowser ממשקי API (זה נכון לכל אפליקציית מדיה של צד שלישי). אפשר לראות את אפליקציית LocalMediaPlayer ב-AOSP. האפליקציה הזו מציגה קובצי מדיה מקומיים ומוצגת כמקור במדיה.