מידע על ההתראות

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

בדף הזה מוסבר איפה ההתראות מופיעות ומהן התכונות הזמינות.

מדריכי הטמעה

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

במדריך לעיצוב התראות מוסבר בהרחבה על עיצוב התראות ודפוסי אינטראקציה.

הופעות במכשיר

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

התנהגות במכשירים שונים

כברירת מחדל, ההתראות מופיעות גם במכשירים לבישים שמחוברים למכשיר. בתרחישים שבהם תוכן ההתראה רלוונטי רק למכשיר המקור, צריך להשתמש ב-setLocalOnly(). לדוגמה, התראה שמאשרת שהורדת מדיה הסתיימה. למידע נוסף על התראות ב-Wear OS, עיינו במאמר התראות ב-Wear OS.

שורת הסטטוס וחלונית ההתראות

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

איור 1. סמלי ההתראות מופיעים בצד ימין של שורת הסטטוס.

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

איור 2. התראות בחלונית ההתראות.

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

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

התראת "שימו לב"

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

איור 3. התראת "שימו לב" מופיעה לפני האפליקציה שפועלת בחזית.

התראת "שימו לב" מופיעה כשהאפליקציה מנפיקה את ההתראה. היא נעלמת אחרי רגע, אבל נשארת גלויה בחלונית ההתראות כרגיל.

התנאים שעשויים להפעיל התראות "שימו לב" כוללים:

  • פעילות המשתמש היא במצב מסך מלא, למשל כשהאפליקציה משתמשת ב-fullScreenIntent.

  • ההתראה היא בעדיפות גבוהה ומשתמשת ברינגטונים או ברטט במכשירים עם Android בגרסה 7.1 (רמת API‏ 25) ומטה.

  • ערוץ ההתראות חשוב מאוד במכשירים עם Android מגרסה 8.0 (רמת API‏ 26) ואילך.

מסך הנעילה

החל מ-Android 5.0, התראות יכולות להופיע במסך הנעילה.

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

המשתמשים יכולים להשתמש בהגדרות המערכת כדי לבחור את רמת הפירוט שתוצג בהתראות במסך הנעילה, או להשבית את כל ההתראות במסך הנעילה. החל מ-Android 8.0, המשתמשים יכולים להשבית או להפעיל התראות במסך הנעילה לכל ערוץ התראות.

איור 4. התראות במסך הנעילה עם תוכן רגיש מוסתר.

מידע נוסף על הגדרת הרשאות הגישה למסך הנעילה

תג עם סמל האפליקציה

במרכזי אפליקציות נתמכים במכשירים עם Android מגרסה 8.0 (רמת API ‏26) ומעלה, סמלי האפליקציות מציינים התראות חדשות באמצעות תג צבעוני שנקרא סימן ההתראות בסמל מרכז האפליקציות המתאים.

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

איור 5. תגי התראות ותפריט הלחיצה הארוכה.

איך משנים את תג ההתראה

מכשירי Wear OS

אם למשתמש יש מכשיר Wear OS מותאם, כל ההתראות מופיעות שם באופן אוטומטי, כולל פרטים שניתן להרחיב וכפתורי פעולה.

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

איור 6. ההתראות מופיעות באופן אוטומטי במכשיר Wear OS מותאם.

מבנה ההתראה

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

איור 7. התראה עם פרטים בסיסיים.

החלקים הנפוצים ביותר של התראה מוצגים באיור 7, באופן הבא:

  1. סמל קטן: חובה; מוגדר באמצעות setSmallIcon().
  2. שם האפליקציה: מסופק על ידי המערכת.
  3. חותמת זמן: המערכת מספקת אותה, אבל אפשר לשנות אותה באמצעות setWhen() או להסתיר אותה באמצעות setShowWhen(false).
  4. סמל גדול: אופציונלי, בדרך כלל משמש רק לתמונות של אנשי קשר. אל תשתמשו בו בסמל האפליקציה. מגדירים באמצעות setLargeIcon().
  5. כותרת: אופציונלי, מוגדרת באמצעות setContentTitle().
  6. טקסט: אופציונלי, מוגדר באמצעות setContentText().

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

במאמר יצירת התראה מוסבר איך ליצור התראה עם התכונות האלה ותכונות נוספות.

פעולות בעת התראה

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

איור 8. התראה עם כפתורי פעולה.

החל מ-Android 7.0 (רמת API‏ 24), אתם יכולים להוסיף פעולה כדי להשיב להודעות או להזין טקסט אחר ישירות מההתראה.

החל מ-Android 10 (רמת API‏ 29), הפלטפורמה יכולה ליצור באופן אוטומטי כפתורי פעולה עם פעולות מוצעות שמבוססות על Intent.

הסבר על הוספת לחצני פעולה מופיע בקטע יצירת התראה.

דרישה לפתיחת הנעילה של המכשיר

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

ב-Android 12 (רמת API‏ 31) ומעלה, אפשר להגדיר פעולה של התראה כך שהמכשיר צריך להיות פתוח כדי שהאפליקציה תפעיל את הפעולה הזו, לא משנה איזה תהליך עבודה הפעולה מפעילה. האפשרות הזו מוסיפה עוד שכבת אבטחה להתראות במכשירים נעולים.

כדי לדרוש שהמכשיר יהיה פתוח לפני שהאפליקציה תפעיל פעולה מסוימת של התראה, מעבירים את true אל setAuthenticationRequired() כשיוצרים את פעולת ההתראה, כמו שמוצג בקטע הקוד הבא:

val intent = Intent(
    context, null
    /** Replace with a valid target activity */
)
val moreSecureNotification = NotificationCompat.Action.Builder(
    0, "Reply",
    PendingIntentCompat.getActivity(context, 0, intent, PendingIntent.FLAG_NO_CREATE, false)
)
    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

התראה שניתן להרחיב

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

איור 9. התראה שניתן להרחיב כדי להציג טקסט ארוך.

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

עדכונים וקבוצות של התראות

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

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

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

איור 10. קבוצת התראות מכווצת ומורחבת.

במאמר יצירת קבוצת התראות מוסבר איך מוסיפים התראות לקבוצה.

ערוצי התראות

החל מ-Android 8.0 (רמת API‏ 26), צריך להקצות את כל ההתראות לערוץ, אחרת הן לא יופיעו. כך המשתמשים יכולים להשבית ערוצי התראות ספציפיים באפליקציה, במקום להשבית את כל ההתראות. המשתמשים יכולים לשלוט באפשרויות החזותיות והקוליות של כל ערוץ דרך הגדרות המערכת של Android, כמו שמוצג באיור 11. המשתמשים יכולים גם ללחוץ לחיצה ארוכה על התראה כדי לשנות את ההתנהגות של הערוץ המשויך.

במכשירים עם Android 7.1 (רמת API‏ 25) ומטה, המשתמשים יכולים לנהל את ההתראות רק ברמת האפליקציה. ב-Android מגרסה 7.1 ומטה, לכל אפליקציה יש למעשה רק ערוץ אחד.

איור 11. הגדרת התראות לאפליקציית השעון ולאחד מהערוצים שלה.

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

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

למידע נוסף, קראו את המאמר יצירה וניהול של ערוצי התראות.

חשיבות ההתראה

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

ב-Android בגרסה 7.1 (רמת API‏ 25) ומטה, החשיבות של התראה נקבעת לפי priority של ההתראה.

ב-Android מגרסה 8.0 (רמת API‏ 26) ואילך, החשיבות של ההתראה נקבעת לפי importance של הערוץ שבו ההתראה מתפרסמת. המשתמשים יכולים לשנות את רמת החשיבות של ערוץ התראות בהגדרות המערכת, כמו שמוצג באיור 12.

איור 12. המשתמשים יכולים לשנות את רמת החשיבות של כל ערוץ ב-Android מגרסה 8.0 ואילך.

אלה רמות החשיבות האפשריות וההתנהגות של ההתראות שמשויכות אליהן:

  • דחופה: משמיעה צליל ומופיעה כהתראת "שימו לב".

  • גבוהה: מושמע צליל.

  • בינונית: לא מושמע צליל.

  • נמוכה: לא נשמע צליל וההתראה לא מופיעה בשורת הסטטוס.

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

איך מגדירים את רמת החשיבות

מצב "נא לא להפריע"

החל מ-Android 5.0 (רמת API‏ 21), המשתמשים יכולים להפעיל את מצב "נא לא להפריע", שמשתיק את הצלילים והרטט של כל ההתראות. ההתראות עדיין מופיעות בממשק המשתמש של המערכת כרגיל, אלא אם המשתמש מציין אחרת.

יש שלוש רמות במצב "נא לא להפריע":

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

ב-Android 8.0 (רמת API‏ 26) ומעלה, המשתמשים יכולים גם לאפשר התראות מקטגוריות ספציפיות לאפליקציה (שנקראות גם ערוצים) על ידי שינוי ההגדרה של מצב "נא לא להפריע" בכל ערוץ בנפרד. לדוגמה, באפליקציית תשלומים יכולים להיות ערוצים להתראות שקשורות למשיכות ולהפקדות. במצב עדיפות, המשתמש יכול לאפשר התראות על משיכות, התראות על הפקדות או את שתיהן.

במכשירים עם Android 7.1 (רמת API ‏25) ומטה, המשתמשים יכולים לאשר התראות לכל אפליקציה בנפרד, ולא לכל ערוץ בנפרד.

כדי להגדיר את ההתראות להגדרות המשתמש האלה, צריך להגדיר קטגוריה ברמת המערכת.

התראות לשירותים שפועלים בחזית

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

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

אופן הפעולה של התראות

‫Android 16.0, רמת API‏ 36

מעכשיו ההתראות מקובצות באופן אוטומטי מטעם האפליקציה.

ההתראות הבאות מקובצות באופן אוטומטי:

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

‫Android 15.0, רמת API‏ 35

הפחתת התראות

ב-Android 15 יש תכונה חדשה שנקראת "השהיית התראות". היא נועדה לשפר את חוויית המשתמש כשמגיעות הרבה התראות ברצף. התכונה הזו מפחיתה את התצוגה, עוצמת הקול ועוצמת הרטט של התראות חוזרות למשך עד שתי דקות.

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

איור 14. הגדרות הנמכת ההתראות.