メインコンテンツにスキップ

Notification

OSのデスクトップ通知を作成する

プロセス: メイン

レンダラープロセスからの通知

レンダラープロセスから通知を表示するには、Web Notifications APIを使用してください。

クラス: Notification

OSのデスクトップ通知を作成する

プロセス: メイン

NotificationEventEmitterです。

これは、optionsで設定されたネイティブプロパティを持つ新しいNotificationを作成します。

静的メソッド

Notificationクラスには、次の静的メソッドがあります。

Notification.isSupported()

戻り値 boolean - 現在のシステムでデスクトップ通知がサポートされているかどうか。

new Notification([options])

  • options オブジェクト (オプション)
    • title 文字列 (オプション) - 通知のタイトル。表示されると、通知ウィンドウの上部に表示されます。
    • subtitle 文字列 (オプション) macOS - 通知のサブタイトル。タイトルの下に表示されます。
    • body 文字列 (オプション) - 通知の本文。タイトルまたはサブタイトルの下に表示されます。
    • silent 真偽値 (オプション) - 通知を表示する際に、OSの通知音を抑制するかどうか。
    • icon (文字列 | NativeImage) (オプション) - 通知に使用するアイコン。文字列が渡された場合、ローカルアイコンファイルへの有効なパスである必要があります。
    • hasReply 真偽値 (オプション) macOS - 通知にインライン返信オプションを追加するかどうか。
    • timeoutType 文字列 (オプション) Linux Windows - 通知のタイムアウト時間。「default」または「never」を指定できます。
    • replyPlaceholder 文字列 (オプション) macOS - インライン返信入力フィールドに書き込むプレースホルダー。
    • sound 文字列 (オプション) macOS - 通知を表示する際に再生するサウンドファイルの名前。
    • urgency 文字列 (オプション) Linux - 通知の緊急度。「normal」、「critical」、または「low」を指定できます。
    • actions NotificationAction[] (オプション) macOS - 通知に追加するアクション。使用可能なアクションと制限事項については、NotificationActionのドキュメントを参照してください。
    • closeButtonText 文字列 (オプション) macOS - アラートの閉じるボタンのカスタムタイトル。空の文字列を指定すると、デフォルトのローカライズされたテキストが使用されます。
    • toastXml 文字列 (オプション) Windows - 上記のプロパティをすべて置き換える、Windowsでの通知のカスタム記述。通知のデザインと動作を完全にカスタマイズできます。

インスタンスイベント

new Notificationで作成されたオブジェクトは、次のイベントを発行します。

情報

一部のイベントは、特定のオペレーティングシステムでのみ使用可能であり、そのようにラベル付けされています。

イベント: 'show'

戻り値

  • event イベント

通知がユーザーに表示されたときに発行されます。このイベントは、show()メソッドによって通知が複数回表示される可能性があるため、複数回発生する可能性があることに注意してください。

イベント: 'click'

戻り値

  • event イベント

ユーザーが通知をクリックしたときに発行されます。

イベント: 'close'

戻り値

  • event イベント

ユーザーによる手動操作で通知が閉じられたときに発行されます。

このイベントは、通知が閉じられるすべての場合に発行されるとは限りません。

Windowsでは、closeイベントは、notification.close()によるプログラムによる閉、ユーザーによる通知の閉、またはシステムタイムアウトの3つのいずれかの方法で発行される可能性があります。最初のcloseイベントが発行された後に通知がアクションセンターにある場合、notification.close()を呼び出すとアクションセンターから通知が削除されますが、closeイベントは再び発行されません。

イベント: 'reply' macOS

戻り値

  • event イベント
  • reply 文字列 - ユーザーがインライン返信フィールドに入力した文字列。

ユーザーがhasReply: trueの通知の「返信」ボタンをクリックしたときに発行されます。

イベント: 'action' macOS

戻り値

  • event イベント
  • index 数値 - アクティブ化されたアクションのインデックス。

イベント: 'failed' Windows

戻り値

  • event イベント
  • error 文字列 - show()メソッドの実行中に発生したエラー。

ネイティブ通知の作成と表示中にエラーが発生したときに発行されます。

インスタンスメソッド

new Notification()コンストラクターで作成されたオブジェクトには、次のインスタンスメソッドがあります。

notification.show()

すぐにユーザーに通知を表示します。Web通知APIとは異なり、new Notification()をインスタンス化しても、すぐにユーザーに表示されるわけではありません。代わりに、OSに表示させる前に、このメソッドを呼び出す必要があります。

以前に通知が表示されている場合、このメソッドは以前に表示された通知を閉じて、同じプロパティを持つ新しい通知を作成します。

notification.close()

通知を閉じます。

Windowsでは、通知が画面に表示されている間にnotification.close()を呼び出すと、通知が閉じてアクションセンターから削除されます。通知が画面に表示されなくなった後にnotification.close()が呼び出された場合、notification.close()を呼び出すと、アクションセンターから削除しようとします。

インスタンスプロパティ

notification.title

通知のタイトルを表すstringプロパティ。

notification.subtitle

通知のサブタイトルを表すstringプロパティ。

notification.body

通知の本文を表すstringプロパティ。

notification.replyPlaceholder

通知の返信プレースホルダーを表すstringプロパティ。

notification.sound

通知の音を表すstringプロパティ。

notification.closeButtonText

通知の閉じるボタンのテキストを表すstringプロパティ。

notification.silent

通知がサイレントかどうかを表すboolean型のプロパティです。

notification.hasReply

通知に返信アクションがあるかどうかを表すboolean型のプロパティです。

notification.urgency Linux

通知の緊急度を表すstring型のプロパティです。'normal'、'critical'、または 'low' を指定できます。

デフォルトは 'low' です。詳細はNotifyUrgencyを参照してください。

notification.timeoutType Linux Windows

通知のタイムアウト期間のタイプを表すstring型のプロパティです。'default' または 'never' を指定できます。

timeoutType が 'never' に設定されている場合、通知は期限切れになりません。呼び出し元のAPIまたはユーザーによって閉じられるまで開いたままになります。

notification.actions

通知のアクションを表す NotificationAction[] プロパティです。

notification.toastXml Windows

通知のカスタムToast XMLを表すstring型のプロパティです。

サウンドの再生

macOSでは、通知が表示されたときに再生するサウンドの名前を指定できます。(システム環境設定 > サウンドにある)デフォルトのサウンドに加えて、カスタムサウンドファイルも使用できます。サウンドファイルは、アプリケーションバンドル(例:YourApp.app/Contents/Resources)または次のいずれかの場所にコピーされていることを確認してください。

  • ~/Library/Sounds
  • /Library/Sounds
  • /Network/Library/Sounds
  • /System/Library/Sounds

詳細は、NSSound のドキュメントを参照してください。