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

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 の定義
草案 初期定義。

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeEdge MobileAndroid 版 FirefoxAndroid 版 OperaiOS 版 SafariSamsung Internet
基本対応
実験的
Chrome 完全対応 50Edge ? Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 37Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 50Edge Mobile ? Firefox Android 完全対応 48Opera Android 完全対応 37Safari iOS 未対応 なしSamsung Internet Android 完全対応 5.0
arrayBuffer
実験的
Chrome 完全対応 50Edge ? Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 37Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 50Edge Mobile ? Firefox Android 完全対応 48Opera Android 完全対応 37Safari iOS 未対応 なしSamsung Internet Android 完全対応 5.0
blob
実験的
Chrome 完全対応 50Edge ? Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 37Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 50Edge Mobile ? Firefox Android 完全対応 48Opera Android 完全対応 37Safari iOS 未対応 なしSamsung Internet Android 完全対応 5.0
json
実験的
Chrome 完全対応 50Edge ? Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 37Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 50Edge Mobile ? Firefox Android 完全対応 48Opera Android 完全対応 37Safari iOS 未対応 なしSamsung Internet Android 完全対応 5.0
text
実験的
Chrome 完全対応 50Edge ? Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 37Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 50Edge Mobile ? Firefox Android 完全対応 48Opera Android 完全対応 37Safari iOS 未対応 なしSamsung Internet Android 完全対応 5.0

凡例

完全対応  
完全対応
未対応  
未対応
実装状況不明  
実装状況不明
実験的。動作が変更される可能性があります。
実験的。動作が変更される可能性があります。
実装ノートを参照してください。
実装ノートを参照してください。

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

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