עדכונים בזמן אמת מספקים סיכום של עדכונים חשובים, כדי שהמשתמשים יוכלו לעקוב אחרי ההתקדמות בלי לפתוח את האפליקציה. המערכת מקדמת התראות על עדכונים בזמן אמת, אבל המשתמשים יכולים לסגור אותן באופן זמני או להוריד אותן בדרגה להתראות רגילות. התראות מקודמות מופיעות באופן בולט יותר בממשקי המערכת, כולל בחלק העליון של חלונית ההתראות ובמסך הנעילה, וכצ'יפ בשורת הסטטוס. ההתראות על עדכונים בזמן אמת צריכות לפעול לפי העקרונות של התראות, כדי לספק מידע קצר, רלוונטי ובזמן.
כרטיסי התראות מקודמים נראים כך:
- מורחב כברירת מחדל
- לא ניתנת לכיווץ
כדי שההתראה תיחשב כעדכון בזמן אמת, היא צריכה לעמוד בדרישות הבאות:
- הערך חייב להיות Standard Style,
BigTextStyle,CallStyle,ProgressStyleאוMetricStyle. - צריך לבקש את ההרשאה הבאה, שאינה הרשאה בתחילת ההפעלה, במניפסט של Android:
android.permission.POST_PROMOTED_NOTIFICATIONS. - חובה לבקש קידום באמצעות
EXTRA_REQUEST_PROMOTED_ONGOINGאוNotificationCompat.Builder#setRequestPromotedOngoing. - חייב להיות
ongoing(מוגדר כ-FLAG_ONGOING_EVENT). - חובה להגדיר
contentTitle. - אסור שיהיה מוגדר
customContentView(ללאRemoteViews). - אסור שההתראה תהיה סיכום של קבוצה שמשתמשת ב-
setGroupSummary. - אסור
setColorizedאלTRUE. - לערוץ ההתראות אסור לכלול את
IMPORTANCE_MIN.
מאפייני הקידום
ממשקי ה-API הבאים עוזרים לקבוע אם המערכת תקדם את ההתראה:
-
Notification.FLAG_PROMOTED_ONGOINGמציין אם ההתראה מקודמת. -
Notification.hasPromotableCharacteristics()בודק אם המערכת יכולה לקדם את ההתראה. השיטה הזו לא מביאה בחשבון אם המשתמש השבית את העדכונים בזמן אמת של האפליקציה בהגדרות. -
NotificationManager.canPostPromotedNotifications()בודק אם האפליקציה יכולה לפרסם התראה על קידום מכירות, למשל אם המשתמש הפעיל או השבית אותה בהגדרות. -
Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONSהיא פעולת Intent שמאפשרת לאפליקציות לשלוח משתמשים להגדרות כדי להפעיל את התכונה הזו.
קריטריונים לשימוש
אפשר להשתמש בעדכונים בזמן אמת לפעילויות שהמשתמשים יזמו, שעדיין לא הסתיימו ושחשוב לדעת מתי הן יסתיימו.
מתמשך
עדכון בזמן אמת חייב לייצג פעילות שמתבצעת באופן פעיל, עם התחלה וסיום ברורים. אם הפעילות כבר הסתיימה, אל תשתמשו בעדכון בזמן אמת. במקום זאת, צריך להשתמש בהתראה רגילה. זה נכון גם לגבי אירועים שעדיין לא התחילו, אבל באירועים שעומדים להתחיל אפשר להשתמש בעדכון בזמן אמת.
העדכונים בזמן אמת מייצגים פעילויות מתמשכות. אל תשתמשו בעדכונים בזמן אמת כדי להציע גישה מהירה לפונקציות של האפליקציה. אם רוצים לעשות את זה, אפשר להשתמש בווידג'ט של אפליקציה או בכפתור מותאם אישית בהגדרות המהירות.
- שימושים מתאימים: ניווט פעיל, שיחות טלפון פעילות, מעקב פעיל אחרי נסיעה שיתופית ומעקב פעיל אחרי משלוח אוכל.
- שימושים לא הולמים: מודעות, קידומי מכירות, הודעות צ'אט, התראות, אירועים קרובים ביומן וגישה מהירה לתכונות של אפליקציות.
פעילויות שהמשתמשים יוזמים
רוב העדכונים בזמן אמת צריכים לייצג פעילויות שהמשתמש מפעיל באופן מפורש, כמו התחלת אימון, הפעלת ניווט לנהיגה או הזמנת נסיעה. עדכונים בזמן אמת לא נועדו להציג מידע על הסביבה של המשתמש, תחומי העניין שלו או אירועים קרובים. אל תאפשרו לפעילויות שמופעלות על ידי צדדים אחרים ליצור עדכונים בזמן אמת.
לפעמים, משתמש מבצע פעולה שמתחילה פעילות מסוימת בעתיד. לדוגמה, אם המשתמש קונה כרטיסים לטיסה או לקונצרט, נרשם לטורניר או מציין בדרך אחרת שהוא מתכוון להשתתף באירוע שמתחיל בזמן מסוים. במקרים כאלה, יכול להיות שכדאי להציג באופן אוטומטי עדכון חי כשהאירוע המתוזמן מתחיל. עם זאת, האפליקציות צריכות להתאים את הטריגרים שלהן כך שהעדכונים יופיעו רק כשהפעילות קרובה. אם המשתמש מציין באופן מפורש שהוא רוצה להתחיל לעקוב אחרי אירוע שמתרחש ברקע, כמו משחק ספורט, אפשר להתחיל לפרסם עדכונים בזמן אמת לגבי האירוע הזה. עם זאת, כדאי לכלול גם את הפעולה ביטול ההצמדה בהתראה המשויכת.
פעילויות תלויות זמן
הציגו עדכונים בזמן אמת רק אם הם דורשים את תשומת הלב של המשתמש לאורך הפעילות. תרחיש שימוש מרכזי בעדכונים בזמן אמת הוא מעקב, שבו המשתמש נהנה מיתרון משמעותי כשהוא מציץ בעדכון בזמן אמת כדי לעקוב אחרי התפתחות הפעילות.
עדכון בזמן אמת מתאים בדרך כלל לפעילויות שיש לגביהן גם התראות רגילות. לדוגמה, כמה שעות לפני הטיסה אפשר להציג התראה לגבי כרטיס העלייה למטוס, אבל בהמשך המשתמש צריך לקבל עדכון בזמן אמת, למשל כשהוא מגיע לשדה התעופה או למקום האירוע, או כשהעלייה למטוס מתחילה. לעומת זאת, עדכון בזמן אמת לא מתאים למעקב אחרי חבילה, כי המשתמש לא צריך לעקוב אחריו כל הזמן.
שיטות עבודה מומלצות בנושא חוויית המשתמש
אפשר להשתמש בסמל המעקב כדי לראות את המצב. אפשר לעדכן את זה באופן דינמי.
אם זמן ההגעה המשוער עדיין לא זמין או נמצא בתהליך חישוב, אל תציגו מצב ריק. כדי לציין שהמערכת פועלת, צריך להציג טקסט לדוגמה פעיל כמו "חושב..." או "מחשב מסלול מחדש...", כמו שמוצג בדוגמה.
צ'יפים של סטטוס
צ'יפים של סטטוס מאפשרים למשתמשים לעקוב אחרי עדכונים בזמן אמת כשההתראה לא מוצגת. כדי להעביר מידע חשוב על מצב ההתקדמות של ההתראה, משתמשים ב-setShortCriticalText או ב-setWhen.
Notification.Builder#setSmallIcon.
Notification.Builder#setShortCriticalText.
Notification.Builder#setShortCriticalText כדי להעביר מידע קריטי.השעה המוגדרת
השעה המוגדרת מפעילה ספירה לאחור של משך ההתראה, אלא אם ההתראה נסגרת או מתעדכנת. הנקודות הבאות מתארות איך הזמן פועל במצבים שונים:
- השעה שמוגדרת היא לפחות 2 דקות אחרי השעה הנוכחית: אם השעה הנוכחית היא 10:05 והשעה שמוגדרת היא 10:10, אז הצ'יפ יציג 5 דקות.
- השעה שמוגדרת כבר חלפה: הטקסט לא מוצג.
- כשמשתמשים במד זמן עד השעה שמוגדרת, אפשר להציג טיימר בצ'יפ.
מידע נוסף זמין במאמרים בנושא
setUsesChronometerוsetChronometerCountdown. מד הזמן מוצג בצ'יפ כל עוד הוא חיובי. - אם אתם לא רוצים שהשעה תוצג בהתראה: השתמשו ב-
setShowWhenכדיFALSE.
איך נראה צ'יפ הסטטוס
צ'יפ הסטטוס תמיד כולל סמל, ולפעמים גם טקסט. הרוחב המקסימלי של הצ'יפ הוא 96dp. הטקסט יוצג רק אם כל הטקסט נכנס בצ'יפ. הטקסט מוצג בהתאם לקריטריונים הבאים:
- אם יש פחות מ-7 תווים, כל הטקסט יוצג.
- אם פחות ממחצית הטקסט נכנס בצ'יפ, רק הסמל יוצג.
- אם יותר ממחצית הטקסט נכנס בצ'יפ, יוצג כמה שיותר טקסט.
Wear OS
העדכונים בזמן אמת מקושרים לחלק ממכשירי Wear OS המחוברים. במדריך לעדכונים בזמן אמת ב-Wear OS מוסבר איך פועל הגישור הזה ואיך יוצרים עדכונים מקומיים בזמן אמת ב-Wear OS.
סגירה
במרכז ההתראות המשתמשים יכולים לבחור אילו התראות הם רוצים לקבל. אם אתם שולחים עדכונים בזמן אמת שהמשתמשים לא רוצים, הם עלולים לבטל את הרשאת ההתראות של האפליקציה.
כדי שהמשתמשים לא ישביתו לחלוטין את העדכונים בזמן אמת, כדאי להימנע משליחת עדכונים מיותרים. אל תפרסמו מחדש עדכונים בזמן אמת שהמשתמש ביטל. אפשר להשתמש ב-setDeleteIntent כדי לזהות עדכונים שבוטלו.
כדי להתנסות בממשקי ה-API האלה, אפשר לעיין באפליקציה לדוגמה.
שאלות נפוצות
שאלה: מהי הנקודה הלבנה בקצה סרגל ההתקדמות?
תשובה: הנקודה הלבנה בקצה סרגל ההתקדמות מסמנת באופן ויזואלי את סוף התהליך.
שאלה: למה לעדכונים בזמן אמת אין תמיכה בהתראות בהתאמה אישית?
תשובה: התראות בהתאמה אישית מקשות על ביצוע בדיקות עקביות ועל שמירה על חוויית משתמש טובה, כי ההתנהגות שלהן משתנה בין גרסאות של Android ומכשירים של יצרנים שונים. אל תשתמשו בהתראות בהתאמה אישית באמצעות RemoteViews.