更新日: 2026-09-25 robots: noindex
説明
chrome.notifications API を使用して、テンプレートを使用したリッチ通知を作成し、システムトレイでユーザーに表示します。
権限
notifications型
NotificationBitmap
NotificationButton
プロパティ
-
iconUrl
文字列 省略可
Chrome 59 以降、非推奨Mac OS X ユーザーにボタンアイコンが表示されない。
-
title
文字列
NotificationItem
プロパティ
-
メッセージ
文字列
このアイテムに関する追加情報。
-
title
文字列
リスト通知の 1 つのアイテムのタイトル。
NotificationOptions
プロパティ
-
appIconMaskUrl
文字列 省略可
Chrome 59 以降、非推奨アプリアイコンのマスクは、Mac OS X ユーザーには表示されません。
アプリアイコン マスクの URL。URL には iconUrl と同じ制限があります。
アプリアイコンのマスクはアルファ チャンネルに配置する必要があります。これは、画像のアルファ チャンネルのみが考慮されるためです。
-
ボタン
NotificationButton[] 省略可
最大 2 つの通知操作ボタンのテキストとアイコン。
-
contextMessage
文字列 省略可
太さの細いフォントを使用した代替の通知コンテンツ。
-
eventTime
number 省略可
通知に関連付けられたタイムスタンプ(エポックからのミリ秒単位、例:
Date.now() + n)。 -
iconUrl
文字列 省略可
送信者のアバター、アプリアイコン、または画像通知のサムネイルの URL。
URL には、データ URL、blob URL、またはこの拡張機能の .crx ファイル内のリソースに対する相対 URL を指定できます。
**注:**この値は
notifications.create()メソッドに必要です。 -
imageUrl
文字列 省略可
Chrome 59 以降、非推奨この画像は Mac OS X ユーザーには表示されません。
画像タイプの通知の画像サムネイルの URL。URL には iconUrl と同じ制限があります。
-
isClickable
boolean 省略可
Chrome 67 以降、非推奨この UI ヒントは Chrome 67 以降では無視されます。
-
アイテム
NotificationItem[] 省略可
複数アイテムの通知用のアイテム。Mac OS X のユーザーには、最初の項目のみが表示されます。
-
メッセージ
文字列 省略可
メインの通知コンテンツ。
**注:**この値は
notifications.create()メソッドに必要です。 -
priority
number 省略可
優先度の範囲は -2 ~ 2 です。-2 は最も低い優先度です。2 が最も高い優先度です。デフォルトは 0 です。通知センターをサポートしていないプラットフォーム(Windows、Linux、Mac)では、-2 と -1 を指定するとエラーになります。これらの優先度の通知はまったく表示されないためです。
-
再生状況
number 省略可
現在の進捗状況は 0 ~ 100 の範囲です。
-
requireInteraction
boolean 省略可
Chrome 50 以降ユーザーが通知を有効にするか閉じるまで、通知を画面に表示したままにする必要があることを示します。デフォルトは false です。
-
サイレント
boolean 省略可
Chrome 70 以降通知が表示されるときに、音やバイブレーションを発生させないことを示します。デフォルトは false です。
-
title
文字列 省略可
通知のタイトル(メールの送信者名など)。
**注:**この値は
notifications.create()メソッドに必要です。 -
type
TemplateType 省略可
表示する通知の種類。
notifications.createメソッドに必要です。
PermissionLevel
列挙型
"granted"
ユーザーがアプリまたは拡張機能からの通知を表示することを選択したことを示します。これはインストール時のデフォルトです。
"denied"
ユーザーがアプリまたは拡張機能からの通知を表示しないように選択したことを指定します。
TemplateType
列挙型
"basic"
アイコン、タイトル、メッセージ、expandedMessage、最大 2 つのボタンが含まれます。
"image"
アイコン、タイトル、メッセージ、expandedMessage、画像、最大 2 つのボタンが含まれます。
"list"
アイコン、タイトル、メッセージ、アイテム、最大 2 つのボタンが含まれます。Mac OS X のユーザーには、最初の項目のみが表示されます。
"progress"
アイコン、タイトル、メッセージ、進行状況、最大 2 つのボタンが含まれます。
メソッド
clear()
chrome.notifications.clear(
notificationId: string,
callback?: function,
): Promise<boolean>
指定された通知を消去します。
パラメータ
-
notificationId
文字列
消去する通知の ID。これは
notifications.createメソッドによって返されます。 -
callback
function 省略可
callbackパラメータは次のようになります。(wasCleared: boolean) => void
-
wasCleared
ブール値
-
戻り値
-
Promise<boolean>
Chrome 116 以降一致する通知が存在するかどうかを示す Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
create()
chrome.notifications.create(
notificationId?: string,
options: NotificationOptions,
callback?: function,
): Promise<string>
通知を作成して表示します。
パラメータ
-
notificationId
文字列 省略可
通知の識別子。設定されていないか、空の場合、ID が自動的に生成されます。既存の通知と一致する場合、このメソッドはまずその通知をクリアしてから、作成オペレーションを続行します。識別子は 500 文字以下で指定してください。
notificationIdパラメータは、Chrome 42 より前のバージョンでは必須です。 -
オプション
通知の内容。
-
callback
function 省略可
callbackパラメータは次のようになります。(notificationId: string) => void
-
notificationId
文字列
-
戻り値
-
Promise<string>
Chrome 116 以降作成された通知を表す通知 ID(指定されたもの、または生成されたもの)で解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getAll()
chrome.notifications.getAll(
callback?: function,
): Promise<object>
このアプリまたは拡張機能のすべての通知を取得します。
パラメータ
-
callback
function 省略可
callbackパラメータは次のようになります。(notifications: object) => void
-
通知
オブジェクト
-
戻り値
-
Promise<object>
Chrome 116 以降現在システムに存在する notification_id のセットで解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
getPermissionLevel()
chrome.notifications.getPermissionLevel(
callback?: function,
): Promise<PermissionLevel>
ユーザーがこのアプリまたは拡張機能からの通知を有効にしているかどうかを取得します。
パラメータ
-
callback
function 省略可
callbackパラメータは次のようになります。(level: PermissionLevel) => void
-
レベル
-
戻り値
-
Promise<PermissionLevel>
Chrome 116 以降現在の権限レベルで解決される Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
update()
chrome.notifications.update(
notificationId: string,
options: NotificationOptions,
callback?: function,
): Promise<boolean>
既存の通知を更新します。
パラメータ
-
notificationId
文字列
更新する通知の ID。これは
notifications.createメソッドによって返されます。 -
オプション
更新する通知の内容。
-
callback
function 省略可
callbackパラメータは次のようになります。(wasUpdated: boolean) => void
-
wasUpdated
ブール値
-
戻り値
-
Promise<boolean>
Chrome 116 以降一致する通知が存在するかどうかを示す Promise を返します。
Promise は Manifest V3 以降でのみサポートされています。他のプラットフォームではコールバックを使用する必要があります。
イベント
onButtonClicked
chrome.notifications.onButtonClicked.addListener(
callback: function,
)
ユーザーが通知のボタンを押した。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(notificationId: string, buttonIndex: number) => void
-
notificationId
文字列
-
buttonIndex
数値
-
onClicked
chrome.notifications.onClicked.addListener(
callback: function,
)
ユーザーが通知のボタン以外の領域をクリックした。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(notificationId: string) => void
-
notificationId
文字列
-
onClosed
chrome.notifications.onClosed.addListener(
callback: function,
)
通知がシステムまたはユーザーの操作によって閉じられました。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(notificationId: string, byUser: boolean) => void
-
notificationId
文字列
-
byUser
ブール値
-
onPermissionLevelChanged
chrome.notifications.onPermissionLevelChanged.addListener(
callback: function,
)
ユーザーが権限レベルを変更します。Chrome 47 の時点では、このイベントをディスパッチする UI を備えているのは ChromeOS のみです。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。(level: PermissionLevel) => void
-
レベル
-
onShowSettings
chrome.notifications.onShowSettings.addListener(
callback: function,
)
カスタム通知設定ボタンはサポートされなくなりました。
ユーザーがアプリの通知設定のリンクをクリックしました。Chrome 47 の時点では、このイベントをディスパッチする UI を備えているのは ChromeOS のみです。Chrome 65 以降、この UI は ChromeOS からも削除されています。
パラメータ
-
callback
関数
callbackパラメータは次のようになります。() => void