PushSubscription

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

Push APIPushSubscription インターフェースは、サブスクリプションの URL エンドポイントを提供するとともに、プッシュサービスの登録を解除できます。

このインターフェースのインスタンスはシリアライズできます。

プロパティ

PushSubscription.endpoint 読取専用
プッシュサービスに関連したエンドポイントを含む USVString
PushSubscription.expirationTime 読取専用
プッシュサブスクリプションに関連付いたサブスクリプション期限切れ時間を表す DOMHighResTimeStamp 。存在しない場合は null。
PushSubscription.options 読取専用
サブスクリプションを作成するために用いられるオプションを含むオブジェクト。
PushSubscription.subscriptionId 読取専用
プッシュサービスに関連したサブスクリプション ID を含む DOMString

メソッド

PushSubscription.getKey()
サーバーに送信されてプッシュメッセージの暗号化に使用される、クライアントのパブリックキーを含む ArrayBuffer を返します。
PushSubscription.toJSON()
標準シリアライザー — サブスクリプションプロパティの JSON 記法を返します。
PushSubscription.unsubscribe()
プッシュサービスの登録を解除する非同期プロセスを開始します。現在のサブスクリプションが成功裏に登録解除できた場合、Boolean で解決される Promise を返します。

navigator.serviceWorker.ready.then(function(reg) {
  reg.pushManager.getSubscription().then(function(subscription) {
    subscription.unsubscribe().then(function(successful) {
      // 成功裏に登録解除。
    }).catch(function(e) {
      // 登録解除失敗。
    })
  })        
});

仕様

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

ブラウザー実装状況

機能ChromeEdgeFirefoxInternet ExplorerOperaSafari
基本対応42 あり441 なし29 なし
endpoint4216441 なし29 なし
expirationTime6016 ? なし47 なし
options4216441 なし29 なし
subscriptionId42 あり441 なし29 なし
getKey4216441 なし29 なし
toJSON42 ? ? なし ? ?
unsubscribe4216 ? なし ? ?
機能Android webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
基本対応 なし42 ?4829 なし4.0
endpoint なし42 ?4829 なし4.0
expirationTime なし60 ? ?47 なし なし
options なし42 ?4829 なし4.0
subscriptionId なし42 ?4829 なし4.0
getKey なし42 ?4829 なし4.0
toJSON なし50 ? ? ? ?5.0
unsubscribe なし50 ? ? ? ?5.0

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

関連項目

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

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