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

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

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

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

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

ההודעה שלכם צריכה לעמוד בדרישות הבאות כדי להיחשב כעדכון פעיל:

  • הערך חייב להיות Standard/No Style‏, BigTextStyle,‏ CallStyle או ProgressStyle.
  • צריך לבקש את ההרשאה הבאה שלא קשורה לסביבת זמן הריצה במניפסט של Android‏android.permission.POST_PROMOTED_NOTIFICATIONS.
  • צריך לבקש את השדרוג באמצעות EXTRA_REQUEST_PROMOTED_ONGOING או NotificationCompat.Builder#requestPromotedOngoing.
  • הערך חייב להיות ongoing (מגדירים את הערך FLAG_ONGOING_EVENT).
  • חייב להיות מוגדר contentTitle.
  • אסור להגדיר customContentView (אין RemoteViews).
  • אסור שהיא תהיה הסיכום של קבוצה באמצעות setGroupSummary.
  • אסור לכלול את IMPORTANCE_MIN בערוץ ההתראות.

מאפייני המבצע

ממשקי ה-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 כדי להעביר מידע קריטי.

מתי

השדה 'מתי' מפעיל ספירה לאחור של משך ההתראה, אלא אם ההתראה נסגרת או מתעדכנת.

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

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

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

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

סגירה

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

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