PushMessageData

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

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 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
PushMessageData
実験的
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 完全対応 50Firefox 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 完全対応 50Firefox 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 完全対応 50Firefox 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 完全対応 50Firefox 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 完全対応 50Firefox Android 完全対応 48Opera Android 完全対応 37Safari iOS 未対応 なしSamsung Internet Android 完全対応 5.0

凡例

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