התראות מספקות לנהגים מידע קצר ועדכני על אירועים מהאפליקציה שלכם בזמן שהיא לא בשימוש. ההתראות יכולות להופיע במרכז ההתראות, וחלק מהן יכולות להופיע גם כהתראות מראש במסך. כדי ליצור התראות ל-Android Automotive OS, משתמשים באותו ממשק API של NotificationBuilder
שמשתמשים בו במכשירים אחרים. עם זאת, כדי לשמור על בטיחות הנהגים ולצמצם את הסחות הדעת, שיטות וקטגוריות מסוימות של API מוגבלות או פועלות בצורה שונה.
ההבדלים בין ההתראות ברכב
כדי ליצור סביבה בטוחה לנהיגה ללא הסחות דעת, ההתראות ב-Android Automotive OS שונות מההתראות במכשירים אחרים בדרכים הבאות:
- אינטראקציה פשוטה של משתמשים
- הגבלות על חוויית המשתמש (UX) על סמך מצב הנסיעה
אינטראקציה פשוטה של משתמשים
כדי לעזור לנהגים להתמקד בכביש, התראות ברכב כוללות מודל פשוט של אינטראקציה עם המשתמש עם התכונות הבאות:
- אין אמצעי בקרה מורכבים
- בהתראות אסור להשתמש באמצעי בקרה מורכבים, כמו הקשה כדי להרחיב התראה, לחיצה ארוכה על התראה כדי להציג אפשרויות נוספות או שימוש באמצעי בקרה שמבוססים על תנועות החלקה ארוכות.
- צלילי התראות
- הצליל של ההתראות יושמע רק אם הן מפעילות התראת 'שימו לב'.
מערכת Android Automotive OS מוסיפה באופן אוטומטי לחצני הפעלה והשתקה לכל ההתראות על הודעות שתואמות לרכב.
- הפעלה: ההתראה נקראת לנהג באמצעות העוזר הדיגיטלי שמוגדר כברירת מחדל, כמו Google Assistant, או באמצעות מערכת ההמרה של הטקסט לדיבור שמוגדרת כברירת מחדל ברכב.
השתקה: ההתראות לא יופיעו לגבי הודעות עתידיות בשיחה עד לסיום הנסיעה. התראות על הודעות משיחות שהושקו ממשיכות להופיע במרכז ההתראות, והנהג יכול גם לבטל את ההשתקה של השיחה דרך מרכז ההתראות.
- אפשרויות פשוטות יותר לתצוגת ההתראות
אין תמיכה ב-
RemoteViews
ובתצוגות תוכן בהתאמה אישית. בנוסף, אין תמיכה בסגנונות ההתראות הבאים:BigPictureStyle
BigTextStyle
InboxStyle
אם האפליקציה שולחת התראה ל-Android Automotive OS באמצעות אחד מהסגנונות האלה, מוצג רק טקסט סיכום.
- ניהול פשוט יותר של ערוץ ההתראות
כדי לצמצם את השכיחות של משימות ניהול מורכבות במכשירי Automotive, מערכת ההפעלה Android Automotive לא תומכת בערוצי התראות ובתכונות ממשק משתמש קשורות.
הגבלות על חוויית המשתמש (UX) על סמך מצב הנסיעה
Android Automotive OS כולל מנוע הגבלות על חוויית המשתמש. יצרני הרכב יכולים להשתמש במנוע הזה כדי להגביל את ההתראות על סמך מצב הנסיעה של הרכב בדרכים הבאות:
- חיתוך מחרוזות התראות באורך תו ספציפי
- הסתרת סיכומי ההודעות בהתראות של
CATEGORY_MESSAGE
- הגבלת מספר ההתראות שאפשר להציג במרכז ההתראות
סוגי המשאבים הנתמכים
כברירת מחדל, מערכת ההפעלה Android Automotive OS תומכת בקבוצת משנה מוגבלת של סוגי המשאבים שאפשר להשתמש בהם להתראות במכשירים אחרים. קבוצת המשנה הזו כוללת את סוגי המשאבים הבאים:
- Drawables
- סמלים
- תמונות
דרישות התאימות להתראות על הודעות
כדי לספק חוויית משתמש עקבית עם מינימום הסחות דעת, יש דרישות מיוחדות להתראות על הודעות ב-Android Automotive OS.
התראה על הודעה תואמת לרכב אם היא עומדת בדרישות הבאות:
- הוא שייך לקטגוריה
CATEGORY_MESSAGE
. - הוא משתמש בסגנון
Notification.MessagingStyle
. - הוא כולל רק הודעות שלא נקראו.
יש לו סמל לסימון כנקרא
Action
שעומד בדרישות הבאות:- הפעולה הסמנטית מוגדרת כ-
Action.SEMANTIC_ACTION_MARK_AS_READ
. - הערך
Action
מציין שלא מוצג ממשק משתמש כלשהו כשהאירוע מופעל.
- הפעולה הסמנטית מוגדרת כ-
אם להודעה יש תשובה
Action
, ה-Action
עומד בדרישות הבאות:- הפעולה הסמנטית מוגדרת כ-
Action.SEMANTIC_ACTION_REPLY
. - הערך
Action
מציין שלא מוצג ממשק משתמש כלשהו כשהאירוע מופעל. - השדה
Action
מכילRemoteInput
אחד.
- הפעולה הסמנטית מוגדרת כ-
מרכז ההתראות
כמעט כל ההתראות מופיעות במרכז ההתראות, גם אם הן הופעלו גם כהתראות מראש. ההתראות נשארות במרכז ההתראות למשך כל הנסיעה.
הנהגים יכולים לבצע פעולות שונות לגבי התזכורות במרכז ההתראות. בהתאם ליצרן הרכב, הנהגים יכולים לגשת למרכז ההתראות באחת מהדרכים הבאות או בשתיהן:
- מחליקים למטה מהחלק העליון של המסך, בדומה לחלונית ההתראות במכשירים אחרים.
- הקשה על לחצן בממשק המערכת.
התראות מקובצות
התראות קשורות מקובצות באופן אוטומטי במרכז ההתראות, כמו בחלונית ההתראות במכשירים אחרים. עם זאת, כשהנהג מקייש על הסיכום של קבוצה במרכז ההתראות, במקום להפעיל את PendingIntent
, הקבוצה מתרחבת כדי להציג את כל ההתראות שלה.
התראות שלא מופיעות במרכז ההתראות
ההתראות הבאות לא מופיעות במרכז ההתראות:
Media playback
התראות. מערכת Android Automotive OS אוספת מידע על הפעלת מדיה מתמשכת ומציגה אותו במקום ייעודי בממשק המשתמש. חשוב לזכור שצריך להפעיל אתsetMediaSession
עם אסימון שאינו null כדי שההתראה תזוהה כ'הפעלת מדיה'.- התראות על מסלול מפורט עבור
CATEGORY_NAVIGATION
. - התראות על שירותים שפועלים בחזית לאפליקציות עם הרשאות מערכת ולאפליקציות שנחתמו באמצעות מפתח הפלטפורמה, ברמת חשיבות נמוכה מ-
IMPORTANCE_DEFAULT
.
התראות 'שימו לב'
התראות מראש מופיעות ככרטיס התראה בחלק העליון של המסך. מאחר שהתראה מסוג 'שימו לב' מעוררת את תשומת הלב של הנהג, צריך להפעיל אותה רק כשהמידע קריטי לנהיגה, דחוף וניתן לפעול לפיו. רק קטגוריות מסוימות של התראות יכולות להפעיל התראה מראש.
יצרני הרכב יכולים להחליט אם לאפשר להתראות 'שימו לב' להופיע בזמן שחלון התראות מרכז הבקרה פתוח.
איך אפליקציות מפעילות התראות 'שימו לב'
לאפליקציות יש דרישות שונות להפעלת התראת 'עדכון חשוב', בהתאם לכך אם יש להן הרשאות מערכת.
- אפליקציות עם הרשאות מערכת ואפליקציות חתומות במפתח הפלטפורמה
- האפליקציה יכולה להפעיל התראה 'שימו לב' על ידי הגדרת רמת החשיבות של ערוץ ההתראות ל-
IMPORTANCE_HIGH
או יותר. - כל האפליקציות האחרות
כדי שהאפליקציה תוכל להפעיל התראה 'שימו לב', צריך להגדיר את רמת החשיבות של ערוץ ההתראות ל-
IMPORTANCE_HIGH
או יותר, ולוודא שההתראה שייכת לאחת מהקטגוריות הבאות:
מחזור החיים של התראת 'שימו לב'
אחרי שאפליקציה מפעילה התראה מסוג 'שימו לב', ההתראה מופיעה מיד במסך הרכב. אם הנהג או הנהגת לא מבצעים פעולה כלשהי, ההתראה תיסגר באופן אוטומטי אחרי שמונה שניות, מלבד במקרים הבאים:
אי אפשר לסגור התראות 'שימו לב' על שיחות נכנסות מסוימות, והן יישארו עד שהנהג יענה לשיחה או שהשיחה תסתיים. כדי שאפשר יהיה להציג התראה על שיחה נכנסת בחלון קופץ שלא ניתן לסגור, היא צריכה לעמוד בדרישות הבאות:
- שייכות ל-
CATEGORY_CALL
- הגדרת כוונה במסך מלא
- להיות מסומנים כמשימות מתמשכות באמצעות השיטה
setOngoing()
.
- שייכות ל-
התראות מראש יישארו אם אפליקציה תעדכן את ההתראה בחלון הזמן של שמונה השניות.
כשמסירים התראה מראש, היא מופיעה במרכז ההתראות, אלא אם מדובר בהתראה מסוג CATEGORY_NAVIGATION
.
שינויים והגבלות ב-Notification API לכלי רכב
בקטע הזה נסכם את ההבדלים בין כל סוג, שבו התנהגות Notifications API שונה או שיש לו הגבלות ב-Android Automotive OS.
Notification.Builder
בטבלאות 1 ו-2 מתוארים השינויים וההגבלות ב-API בכיתה Notification.Builder
.
טבלה 1. שינויים בשיטות הציבוריות של Notification.Builder
שיטות ציבוריות | אפקט | תיאור | ||
---|---|---|---|---|
|
פעולה מותנית ללא תפעול (no-op) | בהתראות Notification.MessagingStyle צריך להוסיף את הפעולות שצוינו בדרישות התאימות. פעולות נוספות שיתווספו לא יופיעו כלחצני התראות. |
||
|
פעולה ללא תוצאה (no-op) | אין תמיכה ב-RemoteViews
ובתצוגות תוכן בהתאמה אישית. |
||
|
פעולה ללא תוצאה (no-op) | אין תמיכה בתגים של התראות. | ||
| פעולה ללא תוצאה (no-op) | אין תמיכה בספירה לאחור. | ||
setColorized() |
המגבלות השתנו |
אפליקציות בחתימה של פלטפורמה: אפשר להגדיר אותן, והן מותרות כברירת מחדל. אפליקציות עם הרשאות מערכת: מוגדרות לפי פלטפורמה, אסורות כברירת מחדל. כל שאר האפליקציות: ההגדרה משתנה בהתאם לפלטפורמה. כברירת מחדל, לא ניתן להשתמש בהן. |
||
setFullScreenIntent() |
התנהגות השתנתה | לא מפעילה את הכוונה באופן אוטומטי. | ||
setLargeIcon() |
התנהגות שהשתנתה | סמלים גדולים מוצגים בצד שמאל של ההתראה. | ||
setLights() |
פעולה ללא תוצאה (no-op) | במכשירי Android Automotive OS אין נוריות LED. | ||
setOngoing() |
התנהגות השתנתה |
ההתנהגות שונה כשההתראה מפעילה גם התראה מסוג 'שימו לב'.
|
פעולה ללא תפעול (no-op) | אין תמיכה במצב פרטי. |
setSettingsText() |
פעולה ללא תפעול (no-op) | ההתראות לא תומכות באפשרויות קישור להגדרות האפליקציה. במקום זאת, הנהגים יכולים לגשת להגדרות האפליקציה דרך האפליקציה. | ||
setTicker() |
פעולה ללא תפעול (no-op) | אין תמיכה בטקסט של אסימון. |
טבלה 2. שינויים בכיתות בתצוגת עץ ב-Notification.Builder
כיתות בתצוגת עץ | אפקט | תיאור |
---|---|---|
|
צולם בלי מבזק | רק טקסט הסיכום מוצג. אין תמיכה בהתראות מפורטות לגבי הסגנונות האלה. |
Notification.BubbleMetadata |
צולם בלי מבזק | אין תמיכה בבועות. |
Notification.MediaStyle |
מוסתר | התראות בסגנון הזה מוסתרות. מערכת ההפעלה Android Automotive OS מנהלת אינטראקציות של ממשק המשתמש עבור התראות מדיה והפעלה של מדיה. |
Notification.MessagingStyle |
התנהגות השתנתה |
ההתראות בסגנון הזה כוללות את ההבדלים הבאים:
|
|
צולם בלי מבזק | אין תמיכה ב-Extenders. |
Notification.Action.Builder
בטבלה 3 מתוארים השינויים וההגבלות ב-API בכיתה Notification.Action.Builder
.
טבלה 3. שינויים בשיטות הציבוריות של Notification.Action.Builder
שיטות ציבוריות | אפקט | תיאור |
---|---|---|
קונסטרוקטורים גלויים לכולם | התנהגות השתנתה | המערכת מתעלמת מסמלים שצוינו בקונסטרוקטורים ציבוריים. |
addRemoteInput |
התנהגות השתנתה | כדי למזער את הסחות הדעת של הנהג, עוזר דיגיטלי, כמו Google Assistant, מזין את התשובה להודעה בשם המשתמש. המשתמשים לא יכולים להקליד הודעות. |
setAllowGeneratedReplies |
פעולה ללא תפעול (no-op) | אין תמיכה בתשובות מהירות. |