ממשק API של התראות עשירות

הבדל בפלטפורמה: בגרסה 59 של Chrome, ההתראות נראות שונה למשתמשי Mac OS X. במקום ההתראות של Chrome עצמו, המשתמשים רואים התראות מקוריות של Mac OS X. מידע נוסף זמין במאמר הזה.

ב-API של ההתראות המתקדמות אפשר ליצור התראות באמצעות תבניות ולהציג את ההתראות האלה התראות למשתמשים במגש המערכת של המשתמש:

התראות במגש המשתמש של המערכת

איך הם נראים

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

תמונה בסיסית:

התראה בסיסית

בהתראות על רשימות מוצגות כל מספר של פריטים ברשימה:

הצגת רשימה של התראות

התראות של תמונות כוללות תצוגה מקדימה של תמונה:

התראה של תמונה

בהתראות על ההתקדמות מוצג סרגל התקדמות:

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

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

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

אפשר להקצות להתראות עדיפות בין 2- ל-2. עדיפויות < המספר 0 מוצג ב-ChromeOS במרכז ההתראות, ומפיקה שגיאה בפלטפורמות אחרות. עדיפות 0 היא עדיפות ברירת המחדל. עדיפויות > הערך 0 מוצג למשך זמן ארוך יותר, וניתן להציג יותר התראות עם עדיפות גבוהה שמוצג במגש המערכת.

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

פעולה בהתראה

איך לפתח אותם

כדי להשתמש ב-API הזה, קוראים לשיטה notifications.create ומעבירים את פרטי ההתראה דרך הפרמטר options:

chrome.notifications.create(id, options, creationCallback);

האפשרות notifications.NotificationOptions חייבת לכלול notifications.TemplateType, אשר מגדיר את הפרטים הזמינים של התראות ואת האופן שבו הפרטים האלה יוצגו.

יצירת התראה בסיסית

כל סוגי התבניות (basic, image, list ו-progress) חייבים לכלול הודעה title וגם message, וגם iconUrl, שהוא קישור לסמל קטן שמוצג משמאל הודעת ההתראה.

דוגמה לתבנית basic:

var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon"
}

יצירת התראה עם תמונה

סוג התבנית image כולל גם imageUrl, שהוא קישור לתמונה שמוצגת בתצוגה מקדימה בהתראה:

הבדל בפלטפורמה: התמונות לא יוצגו למשתמשים ב-Mac OS X מגרסה 59 ואילך.
var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  imageUrl: "url_to_preview_image"
}

באפליקציות Chrome, עקב מדיניות אבטחת תוכן מחמירה, כתובות ה-URL האלה חייבות להפנות אל משאב או להשתמש בכתובת URL של נתונים או blob. צריך להשתמש ביחס של 3:2 לתמונה. אחרת, גבול שחור ממסגר את התמונה.

הודעה על יצירת רשימה

בתבנית list מוצג items בפורמט של רשימה:

הבדל בפלטפורמה: רק הפריט הראשון ברשימה מוצג למשתמשים ב-Chrome בגרסה 59 ומעלה ב-Mac OS X.
var opt = {
  type: "list",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  items: [{ title: "Item1", message: "This is item 1."},
          { title: "Item2", message: "This is item 2."},
          { title: "Item3", message: "This is item 3."}]
}

התראה על ההתקדמות ביצירה

בתבנית progress מוצג סרגל התקדמות, עם טווח של 0 עד 100:

הבדל בפלטפורמה: ב-Chrome בגרסה 59 ואילך ב-Mac OS X, סרגל ההתקדמות מוצג כערך באחוזים בכותרת ההתראה, במקום להציג סרגל התקדמות.
var opt = {
  type: "progress",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  progress: 42
}

האזנה לאירועים ותגובה אליהם

כל ההתראות יכולות לכלול פונקציות event listener ורכיבי handler של אירועים שמגיבים לפעולות של משתמשים (ראו chrome.events). לדוגמה, אפשר לכתוב את הגורם המטפל באירועים שיגיב על האירוע notifications.onButtonClicked

האזנה לאירועים:

chrome.notifications.onButtonClicked.addListener(replyBtnClick);

הגורם המטפל באירוע:

function replyBtnClick {
    //Write function to respond to user action.
}

כדאי לכלול פונקציות event listener ו-handlers של אירועים בדף האירוע, כדי שההתראות יכול לקפוץ גם כשהאפליקציה או התוסף לא פועלים.