PushMessageData

Baseline 2023 *
Newly available

Since March 2023, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

* Some parts of this feature may have varying levels of support.

PushMessageDataプッシュ API のインターフェイスで、さまざまな形式でサーバーから送信されるプッシュテータを取得する方法を提供します。

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

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

インスタンスプロパティ

なし。

インスタンスメソッド

PushMessageData.arrayBuffer()

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

PushMessageData.blob()

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

PushMessageData.json()

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

PushMessageData.text()

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

js
self.addEventListener("push", (event) => {
  const 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