יצירת התראה על עדכון בזמן אמת

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

איור 1. דוגמה להתראה על עדכון בזמן אמת.

המאפיינים החזותיים של כרטיסי התראות מקודמים:

  • מוצג בתצוגה מורחבת כברירת מחדל
  • לא ניתן לכווץ

כדי שהעדכון ייחשב לעדכון בזמן אמת, הוא צריך לעמוד בדרישות הבאות:

מאפייני מבצע

ממשקי ה-API הבאים עוזרים לכם לקבוע אם המערכת תקדם את ההתראה שלכם:

  • Notification.FLAG_PROMOTED_ONGOING מציין אם ההתראה מקודמת.
  • Notification.hasPromotableCharacteristics() בודק אם המערכת יכולה לקדם את ההתראה. בשיטה הזו לא נלקח בחשבון אם המשתמש השבית את העדכונים החיים של האפליקציה בהגדרות.
  • NotificationManager.canPostPromotedNotifications() בודק אם האפליקציה יכולה לפרסם התראה מקודמת, למשל אם המשתמש הפעיל או השבית אותה בהגדרות.
  • Settings.ACTION_MANAGE_APP_PROMOTED_NOTIFICATIONS היא פעולת הכוונה שמאפשרת לאפליקציות לשלוח משתמשים להגדרות כדי להפעיל את התכונה הזו.

קריטריונים לשימוש

אפשר להשתמש בעדכונים בזמן אמת לפעילויות שמתבצעות כרגע, שהמשתמשים יזמו ושהזמן שלהן קריטי.

מתמשך

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

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

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

בהפעלת המשתמש

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

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

מוצרים תלויי זמן

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

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

צ'יפים של סטטוס

צ'יפים של סטטוס מאפשרים למשתמשים לעקוב אחרי עדכונים בזמן אמת כשההתראה לא מוצגת. אפשר להשתמש ב-setShortCriticalText או ב-setWhen כדי להעביר מידע חשוב על מצב ההתקדמות בהתראה.

צ'יפ סטטוס עם סמל
איור 2. במצב לא מוגדר מוצג הסמל הקטן, Notification.Builder#setSmallIcon.
צ'יפ סטטוס עם זמן
איור 3. משתמשים ב-Notification.Builder#setShortCriticalText כדי להציג זמן מוחלט.
צ'יפ סטטוס עם מידע
איור 4. משתמשים ב-Notification.Builder#setShortCriticalText כדי להעביר מידע קריטי.

כשהשעה היא

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

  • השעה שמוגדרת ב-when היא לפחות 2 דקות אחרי השעה הנוכחית: אם השעה הנוכחית היא 10:05 והשעה שמוגדרת ב-when היא 10:10, אז הצ'יפ יציג '5 דקות'.
  • אם השעה שצוינה היא יותר מדקה אחת בעבר, ההתראה לא תוצג.
  • אם לא רוצים שההתראה תוצג בלוח ההתראות עם שעה, משתמשים ב-setShowWhen כדי FALSE.

מראה הצ'יפ של הסטטוס

צ'יפ הסטטוס תמיד כולל סמל, ויכול לכלול גם טקסט. הצ'יפ יכול להיות ברוחב של עד 96dp. הצגת הטקסט בהתאם לקריטריונים הבאים:

  • אם מספר התווים קטן מ-7, הטקסט יוצג במלואו.
  • אם פחות ממחצית הטקסט תוצג, צריך להציג רק את הסמל.
  • אם יותר ממחצית הטקסט יוצג, צריך להציג כמה שיותר טקסט.

סגירה

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

כדי למנוע מהמשתמשים להשבית לחלוטין את העדכונים בזמן אמת, אל תפרסמו עדכונים שהמשתמשים עלולים לסגור. אל תפרסמו מחדש עדכונים בזמן אמת שהמשתמש סגר. אפשר להשתמש ב-setDeleteIntent כדי לזהות עדכונים שהוסרו.

כדי להתנסות בממשקי ה-API האלה, אפשר לעיין באפליקציית הדוגמה.