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

ブラウザー実装状況

Update compatibility data on GitHub
デスクトップモバイル
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewAndroid 版 ChromeAndroid 版 FirefoxAndroid 版 OperaiOSのSafariSamsung Internet
PushSubscriptionChrome 完全対応 42Edge 完全対応 ありFirefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 29Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 42Firefox Android 完全対応 48Opera Android 完全対応 29Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0
endpointChrome 完全対応 42Edge 完全対応 16Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 29Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 42Firefox Android 完全対応 48Opera Android 完全対応 29Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0
expirationTimeChrome 完全対応 60Edge 完全対応 16Firefox 未対応 なしIE 未対応 なしOpera 完全対応 47Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 60Firefox Android 未対応 なしOpera Android 完全対応 44Safari iOS 未対応 なしSamsung Internet Android 未対応 なし
getKey()Chrome 完全対応 42Edge 完全対応 16Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 29Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 42Firefox Android 完全対応 48Opera Android 完全対応 29Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0
optionsChrome 完全対応 42Edge 完全対応 16Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 29Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 42Firefox Android 完全対応 48Opera Android 完全対応 29Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0
subscriptionIdChrome 完全対応 42Edge 完全対応 ありFirefox 未対応 なしIE 未対応 なしOpera 完全対応 29Safari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 42Firefox Android 未対応 なしOpera Android 完全対応 29Safari iOS 未対応 なしSamsung Internet Android 完全対応 4.0
toJSON()Chrome 完全対応 42Edge 完全対応 17Firefox 完全対応 46IE 未対応 なしOpera 完全対応 ありSafari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 50Firefox Android 完全対応 48Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 5.0
unsubscribe()Chrome 完全対応 42Edge 完全対応 16Firefox 完全対応 44
補足
完全対応 44
補足
補足 Service workers (and Push) have been disabled in the Firefox 45 & 52 Extended Support Releases (ESR).
IE 未対応 なしOpera 完全対応 ありSafari 未対応 なしWebView Android 未対応 なしChrome Android 完全対応 50Firefox Android 完全対応 48Opera Android 完全対応 ありSafari iOS 未対応 なしSamsung Internet Android 完全対応 5.0

凡例

完全対応  
完全対応
未対応  
未対応
実装ノートを参照してください。
実装ノートを参照してください。

関連項目