PushMessageData

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

Push APIPushMessageData インターフェイスは、さまざまなフォーマットでサーバーから送信されるプッシュテータを取得する方法を提供します。

Fetch API の同様のメソッドが 1 回しか呼び出せないのと異なり、これらは複数回呼び出せます。

Push API を通して受け取ったメッセージはプッシュサービスによって暗号化されて送信され、PushMessageData インターフェースのメソッドで利用可能になる前にブラウザーによって自動的に 復号化されます。

インスタンスプロパティ

なし。

インスタンスメソッド

PushMessageData.arrayBuffer()

データを ArrayBuffer オブジェクトとして抜き出します。

PushMessageData.blob()

データを Blob オブジェクトとして抜き出します。

PushMessageData.json()

データを JSON オブジェクトとして抜き出します。

PushMessageData.text()

データをプレーンテキスト文字列として抜き出します。

self.addEventListener('push', function(event) {
  var obj = event.data.json();

  if(obj.action === 'subscribe' || obj.action === 'unsubscribe') {
    fireNotification(obj, event);
    port.postMessage(obj);
  } else if(obj.action === 'init' || obj.action === 'chatMsg') {
    port.postMessage(obj);
  }
});

仕様書

Specification
Push API
# pushmessagedata-interface

ブラウザーの互換性

BCD tables only load in the browser