Rich notifications API, Rich notifications API

تفاوت پلتفرم: در نسخه 59 کروم، اعلان‌ها برای کاربران Mac OS X متفاوت ظاهر می‌شوند. به جای اعلان‌های خود کروم، کاربران اعلان‌های بومی Mac OS X را مشاهده می‌کنند. در این مقاله بیشتر بدانید .

rich notifications API به شما امکان می‌دهد با استفاده از الگوها اعلان‌هایی ایجاد کنید و این اعلان‌ها را در سینی سیستم کاربر به کاربران نشان دهید:

اعلان ها در سینی کاربر سیستم

چگونه به نظر می رسند

اعلان‌های غنی در چهار رنگ مختلف ارائه می‌شوند: پایه، تصویر، فهرست و پیشرفت. همه اعلان‌ها شامل یک عنوان، پیام، نماد کوچکی هستند که در سمت چپ پیام اعلان نمایش داده می‌شوند، و یک فیلد contextMessage که به عنوان سومین فیلد متنی با فونت رنگ روشن‌تر نمایش داده می‌شود.

یک تصویر اساسی:

اطلاعیه اولیه

اعلان‌های فهرست هر تعداد از موارد فهرست را نمایش می‌دهند:

لیست اطلاع رسانی

اعلان های تصویر شامل پیش نمایش تصویر است:

اعلان تصویر

اعلان‌های پیشرفت یک نوار پیشرفت را نشان می‌دهند:

اطلاع رسانی پیشرفت

چگونه رفتار می کنند

در ChromeOS، اعلان‌ها در سینی سیستم کاربر نشان داده می‌شوند و تا زمانی که کاربر آنها را رد نکند، در سینی سیستم می‌مانند. سینی سیستم تعداد تمام اعلان‌های جدید را نگه می‌دارد. هنگامی که کاربران اعلان‌ها را در سینی سیستم می‌بینند، شمارش به صفر بازنشانی می‌شود.

به اعلان‌ها می‌توان اولویتی بین -2 تا 2 اختصاص داد. اولویت‌های < 0 در مرکز اعلان‌های ChromeOS نشان داده می‌شوند و در سایر سیستم عامل‌ها خطا ایجاد می‌کنند. اولویت 0 اولویت پیش فرض است. اولویت‌های > 0 برای افزایش مدت زمان نشان داده می‌شوند و اعلان‌های با اولویت بالا را می‌توان در سینی سیستم نمایش داد.

علاوه بر نمایش اطلاعات، همه انواع اعلان‌ها می‌توانند حداکثر شامل دو آیتم عمل باشند. وقتی کاربران روی یک مورد اقدام کلیک می‌کنند، برنامه شما می‌تواند با اقدام مناسب پاسخ دهد. به عنوان مثال، هنگامی که کاربر روی "Reply" کلیک می کند، برنامه ایمیل باز می شود و کاربر می تواند پاسخ را تکمیل کند:

اقدام در اطلاع رسانی

چگونه آنها را توسعه دهیم

برای استفاده از این 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 است که پیوندی به تصویری است که در اعلان پیش‌نمایش می‌شود:

تفاوت پلتفرم: تصاویر برای کاربرانی که از Chrome نسخه 59+ در Mac OS X استفاده می‌کنند نمایش داده نمی‌شوند.
var opt = {
  type: "basic",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  imageUrl: "url_to_preview_image"
}

در Chrome Apps، به دلیل یک خط‌مشی امنیتی سختگیرانه محتوا، این نشانی‌های اینترنتی باید به یک منبع محلی اشاره کنند یا از یک URL یا URL داده استفاده کنند. از نسبت 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 متغیر است:

تفاوت پلتفرم: در کروم نسخه 59+ در Mac OS X، نوار پیشرفت به‌جای نمایش نوار پیشرفت، به عنوان یک مقدار درصد در عنوان اعلان نمایش داده می‌شود.
var opt = {
  type: "progress",
  title: "Primary Title",
  message: "Primary message to display",
  iconUrl: "url_to_small_icon",
  progress: 42
}

گوش دادن به رویدادها و پاسخ دادن به آنها

همه اعلان‌ها می‌توانند شامل شنوندگان رویداد و کنترل‌کننده‌های رویداد باشند که به اقدامات کاربر پاسخ می‌دهند (به chrome.events مراجعه کنید). به عنوان مثال، می توانید یک کنترل کننده رویداد بنویسید تا به یک رویداد notifications.onButtonClicked پاسخ دهد.

شنونده رویداد:

chrome.notifications.onButtonClicked.addListener(replyBtnClick);

مدیریت رویداد:

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

شنونده‌ها و کنترل‌کننده‌های رویداد را در صفحه رویداد در نظر بگیرید، تا اعلان‌ها حتی زمانی که برنامه یا برنامه افزودنی اجرا نمی‌شود، باز شوند.