通知では、OS の通知サービスを使って、拡張機能やそのコンテンツについての情報を通信することができます:
通知にはユーザーへのアクションの呼びかけを入れることができて、アドオンではユーザーによる通知のクリックや通知を閉じるのをリッスンできます。
通知を指定する
notifications
API を使って通知をプログラム的に管理できます。このAPIを使うには manifest.json 内で notifications
パーミッションを要求する必要があります:
"permissions": ["notifications"]
次に notifications.create
を使って通知を作成します。notify-link-clicks-i18n の例では次の通り:
var title = browser.i18n.getMessage("notificationTitle"); var content = browser.i18n.getMessage("notificationContent", message.url); browser.notifications.create({ "type": "basic", "iconUrl": browser.extension.getURL("icons/link-48.png"), "title": title, "message": content });
このコードはアイコンや、タイトルや、メッセージつきの通知を作成します。
通知にアクションの要求が含まれている場合、通知のクリックをリッスンしてアクションハンドラの関数を呼び出せます:
browser.notifications.onClicked.addListener(handleClick);
通知にてアクションの要求を発行している場合、オプションの通知のid
を定義して、どのアクションをユーザーが選択したかがわかるようにすると良いでしょう。
アイコン
通知に使うアイコン作成方法の詳細は、Photon Design System文書内の Iconography を見てください。
例
GitHub のwebextensions-examples リポジトリには通知を実装した notify-link-clicks-i18n の実例があります。