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

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

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

איור 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() כשיוצרים את פעולת ההתראה, כמו שמוצג בקטע הקוד הבא:

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. התראה מתרחבת עם טקסט ארוך.

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

עדכונים והתראות

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

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