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

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

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

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

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

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

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

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