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