chrome.notifications

説明

テンプレートを使用してリッチ通知を作成するには、chrome.notifications API を使用します。作成した通知は、システムトレイにユーザーに表示されます。

権限

notifications

NotificationBitmap

NotificationButton

プロパティ

  • iconUrl

    string(省略可)

    Chrome 59 以降で非推奨

    Mac OS X ユーザーに対してボタンアイコンが表示されない。

  • title

    文字列

NotificationItem

プロパティ

  • message

    文字列

    このアイテムに関するその他の詳細。

  • title

    文字列

    リスト通知の 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 の場合は、最初のアイテムのみが表示されます。

  • message

    string(省略可)

    メインの通知コンテンツ。

    **注:**この値は、notifications.create() メソッドに必要です。

  • priority

    number(省略可)

    優先度の範囲は -2 ~ 2 です。-2 が最も低い優先度です。2 が最高です。デフォルトはゼロです。通知センターをサポートしていないプラットフォーム(Windows、Linux、Mac)では、-2 と -1 を指定すると、これらの優先度の通知がまったく表示されないため、エラーが発生します。

  • 再生状況

    number(省略可)

    現在の進行状況の範囲は 0 ~ 100 です。

  • requireInteraction

    ブール値(省略可)

    Chrome 50 以降

    ユーザーが通知を有効または無効にするまで、通知を表示したままにすることを示します。デフォルトは false です。

  • マナー

    ブール値(省略可)

    Chrome 70 以降

    通知が表示されているときに音やバイブレーションを鳴らさないことを示します。デフォルトは false です。

  • title

    string(省略可)

    通知のタイトル(メールの送信者名など)。

    **注:**この値は、notifications.create() メソッドに必要です。

  • タイプ

    TemplateType 省略可

    表示する通知の種類。notifications.create メソッドでは必須。

PermissionLevel

Enum

"granted"
ユーザーがアプリや拡張機能からの通知を表示するよう選択したことを指定します。これがインストール時のデフォルトです。

"denied"
ユーザーがアプリや拡張機能からの通知を表示しないことを選択したことを示します。

TemplateType

Enum

"basic"
アイコン、タイトル、メッセージ、expandedMessage、最大 2 つのボタンが含まれます。

"image"
アイコン、タイトル、メッセージ、expandedMessage、image、および最大 2 つのボタンが含まれます。

"list"
アイコン、タイトル、メッセージ、アイテム、最大 2 つのボタンが含まれます。Mac OS X では最初の項目のみが表示されます。

"progress"
アイコン、タイトル、メッセージ、進行状況、および最大 2 つのボタンが含まれます。

Methods

clear()

Promise
chrome.notifications.clear(
  notificationId: string,
  callback?: function,
)

指定した通知を消去します。

パラメータ

  • notificationId

    文字列

    クリアする通知の ID。これは notifications.create メソッドによって返されます。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (wasCleared: boolean)=>void

    • wasCleared

      boolean

戻り値

  • Promise<boolean>

    Chrome 116 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

create()

Promise
chrome.notifications.create(
  notificationId?: string,
  options: NotificationOptions,
  callback?: function,
)

通知を作成して表示します。

パラメータ

  • notificationId

    string(省略可)

    通知の識別子。未設定または空の場合、ID は自動的に生成されます。既存の通知と一致する場合、このメソッドは、まずその通知を消去してから、作成オペレーションを続行します。識別子は 500 文字以下にする必要があります。

    Chrome 42 より前では notificationId パラメータが必須です。

  • オプション

    通知の内容。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (notificationId: string)=>void

    • notificationId

      文字列

戻り値

  • Promise<文字列>

    Chrome 116 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

getAll()

Promise
chrome.notifications.getAll(
  callback?: function,
)

このアプリまたは拡張機能のすべての通知を取得します。

パラメータ

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (notifications: object)=>void

    • チェックボックスをオンにします。

      オブジェクト

戻り値

  • Promise<object>

    Chrome 116 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

getPermissionLevel()

Promise
chrome.notifications.getPermissionLevel(
  callback?: function,
)

ユーザーがこのアプリまたは拡張機能からの通知を有効にしているかどうかを取得します。

パラメータ

戻り値

  • Chrome 116 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

update()

Promise
chrome.notifications.update(
  notificationId: string,
  options: NotificationOptions,
  callback?: function,
)

既存の通知を更新します。

パラメータ

  • notificationId

    文字列

    更新する通知の ID。これは notifications.create メソッドによって返されます。

  • オプション

    更新先の通知の内容。

  • callback

    関数(省略可)

    callback パラメータは次のようになります。

    (wasUpdated: boolean)=>void

    • wasUpdated

      boolean

戻り値

  • Promise<boolean>

    Chrome 116 以降

    Promise は Manifest V3 以降でサポートされていますが、コールバックは下位互換性のために提供されています。同じ関数呼び出しで両方を使用することはできません。Promise は、コールバックに渡されたのと同じ型で解決されます。

イベント

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

      boolean

onPermissionLevelChanged

chrome.notifications.onPermissionLevelChanged.addListener(
  callback: function,
)

ユーザーが権限レベルを変更した。Chrome 47 以降、このイベントをディスパッチする UI があるのは ChromeOS のみです。

パラメータ

onShowSettings

Chrome 65 以降でサポートが終了
chrome.notifications.onShowSettings.addListener(
  callback: function,
)

カスタム通知設定ボタンのサポートは終了しました。

ユーザーがアプリの通知設定のリンクをクリックしました。Chrome 47 以降、このイベントをディスパッチする UI があるのは ChromeOS のみです。Chrome 65 以降、この UI は ChromeOS からも削除されました。

パラメータ

  • callback

    機能

    callback パラメータは次のようになります。

    ()=>void