PushEvent

Experimental: これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。

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

コンストラクター

PushEvent.PushEvent()

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

インスタンスプロパティ

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

PushEvent.data 読取専用

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

インスタンスメソッド

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

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

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');
   }
 });
});

仕様書

Specification
Push API
# pushevent-interface

ブラウザーの互換性

BCD tables only load in the browser

関連項目