chrome.notifications

説明

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 と同じ制限があります。

    アプリアイコンのマスクはアルファ チャンネルにする必要があります。画像のアルファ チャンネルのみが考慮されます。

  • buttons

    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

    ブール値(省略可)

    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

    ブール値(省略可)

    Chrome 50 以降

    ユーザーが通知を有効にするか閉じるまで、通知を画面に表示し続けることを示します。デフォルトは false です。

  • サイレント

    ブール値(省略可)

    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,
)
: Promise<boolean>

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

パラメータ

  • notificationId

    文字列

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

戻り値

  • Promise<boolean>

    Chrome 116 以降

create()

chrome.notifications.create(
  notificationId?: string,
  options: NotificationOptions,
)
: Promise<string>

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

パラメータ

  • notificationId

    文字列 省略可

    通知の識別子。設定されていない場合や空の場合、ID が自動的に生成されます。既存の通知と一致する場合、このメソッドはまずその通知をクリアしてから、作成オペレーションに進みます。識別子は 500 文字以下で指定してください。

    Chrome 42 より前のバージョンでは、notificationId パラメータが必要です。

  • オプション

    通知の内容。

戻り値

  • Promise<string>

    Chrome 116 以降

getAll()

chrome.notifications.getAll(): Promise<object>

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

戻り値

  • Promise<object>

    Chrome 116 以降

getPermissionLevel()

chrome.notifications.getPermissionLevel(): Promise<PermissionLevel>

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

戻り値

update()

chrome.notifications.update(
  notificationId: string,
  options: NotificationOptions,
)
: Promise<boolean>

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

パラメータ

戻り値

  • Promise<boolean>

    Chrome 116 以降

イベント

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 のみです。

パラメータ

onShowSettings

Chrome 65 以降で非推奨
chrome.notifications.onShowSettings.addListener(
  callback: function,
)

カスタム通知設定ボタンはサポートされなくなりました。

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

パラメータ

  • callback

    関数

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

    () => void