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

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

仕様

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

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応50 ?441 なし37 なし
arrayBuffer50 ?441 なし37 なし
blob50 ?441 なし37 なし
json50 ?441 なし37 なし
text50 ?441 なし37 なし
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 なし50 ?4837 なし5.0
arrayBuffer なし50 ?4837 なし5.0
blob なし50 ?4837 なし5.0
json なし50 ?4837 なし5.0
text なし50 ?4837 なし5.0

1. Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).

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

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