これは実験的な機能です。本番で使用する前にブラウザー実装状況をチェックしてください。

Push APIPushEvent インターフェースは、受け取ったプッシュメッセージを表します。このイベントは、ServiceWorkerグローバルスコープに送信されます。これは、アプリケーションサーバーから PushSubscription に送信された情報を含みます。

コンストラクタ

PushEvent.PushEvent()
新しい PushEvent オブジェクトを生成します。

プロパティ

親である ExtendableEvent からプロパティを継承しています。追加プロパティ:

PushEvent.data 読取専用
PushSubscription に送信されたデータを含む PushMessageData オブジェクトへの参照を返します。

メソッド

親である ExtendableEvent からメソッドを継承しています。

次の例は、PushEvent からデータを取得して、すべての service worker クライアントで表示しています。

self.addEventListener('push', function(event) {
  if (!(self.Notification && self.notification.permission === 'granted')) {
   return;
 }

 var data = {};
 if (event.data) {
   data = event.data.json();
 }
 var title = data.title || "Something Has Happened";
 var message = data.message || "Here's something you might want to check out.";
 var icon = "images/new-notification.png";

 var notification = new self.Notification(title, {
   body: message,
   tag: 'simple-push-demo-notification',
   icon: icon
 });

 notification.addEventListener('click', function() {
   if (clients.openWindow) {
     clients.openWindow('https://example.blog.com/2015/03/04/something-new.html');
   }
 });
});

仕様

仕様 状態 コメント
Push API
PushEvent の定義
草案 初期定義。

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応
実験的
Chrome 完全対応 42Edge 完全対応 16
無効
完全対応 16
無効
無効 From version 16: this feature is behind the Enable service workers preference.
完全対応 17
Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
補足 Enabled only in Nightly, Developer Edition, and Beta channels.
IE 未対応 なしOpera 完全対応 37Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 42Edge Mobile 未対応 なしFirefox Android 完全対応 44
完全対応 44
完全対応 48
補足
補足 Push enabled by default.
Opera Android 完全対応 37Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0
PushEvent() constructor
実験的
Chrome 完全対応 42Edge 完全対応 16
無効
完全対応 16
無効
無効 From version 16: this feature is behind the Enable service workers preference.
完全対応 17
Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
補足 Enabled only in Nightly, Developer Edition, and Beta channels.
IE 未対応 なしOpera 完全対応 37Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 42Edge Mobile 未対応 なしFirefox Android 完全対応 44
完全対応 44
完全対応 48
補足
補足 Push enabled by default.
Opera Android 完全対応 37Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0
data
実験的
Chrome 完全対応 57Edge 完全対応 16
無効
完全対応 16
無効
無効 From version 16: this feature is behind the Enable service workers preference.
完全対応 17
Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 and 52 Extended Support Releases (ESR.)
補足 Enabled only in Nightly, Developer Edition, and Beta channels.
IE 未対応 なしOpera 完全対応 44Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 57Edge Mobile 未対応 なしFirefox Android 完全対応 44
完全対応 44
完全対応 48
補足
補足 Push enabled by default.
Opera Android 完全対応 44Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0

凡例

完全対応  
完全対応
未対応  
未対応
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。
ユーザーが明示的にこの機能を有効にしなければなりません。
ユーザーが明示的にこの機能を有効にしなければなりません。

関連項目

ドキュメントのタグと貢献者

このページの貢献者: Potappo, dskmori, YuichiNukiyama
最終更新者: Potappo,