ההתראות מספקות לנהגים מידע קצר ועדכני על אירועים מהאפליקציה שלכם בזמן שהיא לא בשימוש. ההתראות יכולות להופיע במרכז ההתראות, וחלק מההתראות יכולות להופיע גם כהתראות קופצות בתצוגה. כדי ליצור התראות ל-Android Automotive OS, משתמשים באותו API NotificationBuilder
שמשמש ליצירת התראות למכשירים אחרים. עם זאת, כדי להבטיח את בטיחות הנהגים ולצמצם את הסחות הדעת, חלק משיטות ה-API והמחלקות מוגבלות או פועלות בצורה שונה.
מה ההבדל בין ההתראות ברכב
כדי ליצור סביבת נהיגה בטוחה ללא הסחות דעת, ההתראות ב-Android Automotive OS שונות מההתראות במכשירים אחרים בדרכים הבאות:
- אינטראקציה פשוטה יותר עם המשתמש
- הגבלות על חוויית המשתמש בהתאם למצב הנהיגה
אינטראקציה פשוטה יותר עם המשתמש
כדי לוודא שהנהגים יכולים להתמקד בכביש, ההתראות ברכב מבוססות על מודל פשוט של אינטראקציה עם המשתמש, עם התכונות הבאות:
- אין אמצעי בקרה מורכבים
- ההתראות לא מאפשרות אמצעי בקרה מורכבים, כמו הקשה להרחבת התראה, לחיצה ארוכה על התראה כדי לראות אפשרויות נוספות או שימוש באמצעי בקרה שמבוססים על תנועות החלקה באורך מסוים.
- צלילי התראות
- התראות ישמיעו צליל רק אם הן מפעילות התראת 'שימו לב'.
מערכת Android Automotive OS מוסיפה באופן אוטומטי את הלחצנים הפעלה והשתקה לכל ההתראות על הודעות שתואמות לרכב.
- הפעלה: ההתראה מושמעת לנהג באמצעות העוזר הדיגיטלי שמוגדר כברירת מחדל אצל המשתמש, כמו Google Assistant, או באמצעות מערכת המרת הטקסט לדיבור שמוגדרת כברירת מחדל ברכב.
השתקה: מונעת את הצגת ההתראות הקופצות לגבי הודעות עתידיות בשיחה למשך שארית הנסיעה. התראות על הודעות משיחה שהושתקה עדיין מופיעות במרכז ההתראות, והנהג יכול גם לבטל את ההשתקה של השיחה ממרכז ההתראות.
- אפשרויות תצוגה פשוטות יותר של התראות
RemoteViews
אין תמיכה בתצוגות מפורטות של תוכן בהתאמה אישית. בנוסף, אין תמיכה בסגנונות ההתראות הבאים:BigPictureStyle
BigTextStyle
InboxStyle
ProgressStyle
אם האפליקציה שולחת התראה ל-Android Automotive OS באמצעות אחד מסגנונות ההתראות האלה, מוצג רק טקסט הסיכום.
- ניהול פשוט יותר של ערוצי התראות
מערכת ההפעלה Android Automotive לא תומכת בערוצי התראות ובממשק משתמש קשור, כדי להפחית את השכיחות של משימות ניהול עשירות במכשירים לרכב.
הגבלות על חוויית המשתמש בהתאם למצב הנהיגה
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
- הגדרת Intent במסך מלא
- לסמן את הפגישה כפגישה מתמשכת באמצעות השיטה
setOngoing()
- שייך ל-
ההתראות הקופצות יישארו אם אפליקציה תעדכן את ההתראה תוך שמונה שניות.
כשסוגרים התראה קופצת, היא מופיעה במרכז ההתראות, אלא אם מדובר בהתראה מסוג CATEGORY_NAVIGATION
.
שינויים והגבלות ב-Notification API לרכבים
בקטע הזה מפורטים ההבדלים בכל כיתה שבה Notifications API מתנהג בצורה שונה או שיש לו הגבלות במערכת ההפעלה Android Automotive.
Notification.Builder
בטבלאות 1 ו-2 מתוארים השינויים וההגבלות ב-API בכיתה Notification.Builder
.
טבלה 1. שינויים בשיטות שגלויות לכולם עבור Notification.Builder
שיטות ציבוריות | אפקט | תיאור | ||
---|---|---|---|---|
|
פעולה מותנית ללא תפעול (no-op) | Notification.MessagingStyle בהתראות צריך להוסיף את הפעולות שמפורטות בדרישות התאימות. פעולות נוספות שיוספו לא יוצגו כלחצני התראה. |
||
|
ללא פעולה | RemoteViews
ולא תהיה תמיכה בתצוגות מפורטות של תוכן בהתאמה אישית. |
||
|
ללא פעולה | אין תמיכה בתגיות של ההתראות. | ||
| ללא פעולה | אין תמיכה בטיימרים לספירה לאחור. | ||
setColorized() |
המגבלות השתנו |
אפליקציות עם חתימה של פלטפורמה: אפשר להגדיר אותן, והן מורשות כברירת מחדל. אפליקציות עם הרשאות מיוחדות במערכת: מוגדרות על ידי הפלטפורמה; אסורות כברירת מחדל. כל שאר האפליקציות: מוגדרות לפי פלטפורמה; אסורות כברירת מחדל. |
||
setFullScreenIntent() |
ההתנהגות השתנתה | לא מפעיל אוטומטית את הכוונה. | ||
setLargeIcon() |
ההתנהגות השתנתה | סמלים גדולים מוצגים בצד שמאל של ההתראה. | ||
setLights() |
ללא פעולה | במכשירי Android Automotive OS אין נוריות LED. | ||
setOngoing() |
ההתנהגות השתנתה |
ההתנהגות שונה אם ההתראה מפעילה גם התראת "שימו לב".
|
ללא פעולה | אין תמיכה במצב פרטי. |
setSettingsText() |
ללא פעולה | ההתראות לא תומכות בקישורים להגדרות האפליקציה. הנהגים ניגשים להגדרות האפליקציה דרך האפליקציה עצמה. | ||
setTicker() |
ללא פעולה | אין תמיכה בטקסט של טיקר. |
טבלה 2. שינויים בכיתות משנה ב-Notification.Builder
כיתות מקוננות | אפקט | תיאור |
---|---|---|
|
לא בשימוש | מוצג רק טקסט הסיכום. אין תמיכה בהתראות מפורטות לגבי הסגנונות האלה. |
Notification.BubbleMetadata |
לא בשימוש | אין תמיכה בבועות. |
Notification.MediaStyle |
מוסתר | ההתראות בסגנון הזה מוסתרות. מערכת ההפעלה Android Automotive OS מנהלת את האינטראקציות של ממשק המשתמש עבור התראות והפעלה של מדיה. |
Notification.MessagingStyle |
ההתנהגות השתנתה |
ההבדלים בהתראות עם הסגנון הזה הם:
|
|
לא בשימוש | אין תמיכה במאריכים. |
Notification.Action.Builder
בטבלה 3 מתוארים השינויים וההגבלות ב-API בכיתה Notification.Action.Builder
.
טבלה 3. שינויים בשיטות שגלויות לכולם עבור Notification.Action.Builder
שיטות ציבוריות | אפקט | תיאור |
---|---|---|
בוני אובייקטים ציבוריים | ההתנהגות השתנתה | המערכת מתעלמת מסמלים שצוינו בבנאים ציבוריים. |
addRemoteInput |
ההתנהגות השתנתה | כדי למזער את הסחת הדעת של הנהג, עוזר דיגיטלי, כמו Google Assistant, מוסיף את התשובה להודעה בשם המשתמש. המשתמשים לא יכולים להקליד הודעות. |
setAllowGeneratedReplies |
ללא פעולה | אין תמיכה בתשובות מהירות. |