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

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

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

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

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

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

סרגל הסטטוס ומגירת ההתראות

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

איור 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), הפלטפורמה יכולה ליצור באופן אוטומטי כפתורי פעולה עם פעולות מוצעות שמבוססות על כוונות.

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

דרישה לביטול נעילת המכשיר

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

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

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

Kotlin

val moreSecureNotification = Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build()

Java

Notification moreSecureNotification = new Notification.Action.Builder(...)

    // This notification always requests authentication when invoked
    // from a lock screen.
    .setAuthenticationRequired(true)
    .build();

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

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

איור 9. התראה שניתן להרחיב עם טקסט ארוך.

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

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

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

עם זאת, אם יש צורך להציג כמה התראות, כדאי לקבץ את ההתראות הנפרדות לקבוצה. האפשרות הזו זמינה ב-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 מוצגת תכונה של השהיית התראות, שמטרתה לשפר את חוויית השימוש בהתראות שמגיעות ברצף מהיר. התכונה הזו מפחיתה את המראה, את עוצמת הקול ואת עוצמת הרטט של התראות חוזרות למשך עד שתי דקות.

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

איור 9. הגדרות של הפוגת התראות.

דוגמה לאופן שבו מאתרים את הגדרות ההשהיה של ההתראות:

Kotlin

val intent = Intent(Settings.ACTION_MANAGE_ADAPTIVE_NOTIFICATIONS)
val pendingIntent =
            PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)

Java

Intent intent = new Intent(Settings.ACTION_MANAGE_ADAPTIVE_NOTIFICATIONS)
PendingIntent pendingIntent =
            PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_IMMUTABLE)