借助富通知 API,您可以使用模板创建通知,并在用户的系统任务栏中向用户显示这些通知:

显示方式
富通知有四种不同的类型:基本型、图片型、列表型和进度型。所有通知都包含标题、消息、显示在通知消息左侧的小图标,以及 contextMessage 字段(以较浅的颜色字体显示为第 3 个文本字段)。
基本图片:

列表通知可以显示任意数量的列表项:

图片通知包含图片预览:

进度通知会显示进度条:

行为方式
在 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,它是指向通知内预览的图片的链接:
var opt = {
type: "basic",
title: "Primary Title",
message: "Primary message to display",
iconUrl: "url_to_small_icon",
imageUrl: "url_to_preview_image"
}
在 Chrome 应用中,由于存在严格的内容安全政策,这些网址必须指向本地资源或使用 blob 或数据网址。请使用 3:2 的图片宽高比;否则,图片会带有黑色边框。
创建列表通知
list 模板以列表格式显示 items:
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:
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.
}
考虑在活动页面中添加事件监听器和处理程序,以便即使应用或扩展程序未运行,也能弹出通知。