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

התראה היא הודעה שמוצגת ב-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)