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