PushManager

この記事は編集レビューを必要としています。ぜひご協力ください

これは実験段階の機能です。
この機能は複数のブラウザで開発中の状態にあります。各ブラウザで用いるために、適切なベンダー接頭辞が必要な場合があります。互換性テーブルをチェックしてください。また、実験段階の機能の構文と挙動は、仕様変更に伴い各ブラウザの将来のバージョンで変更になる可能性があることに注意してください。

Push APIPushManager インターフェースは、3rd パーティーのサーバからの通知だけではなく、プッシュ通知へのリクエスト URL を取得するための方法を提供します。

このインターフェースは、ServiceWorkerRegistration.pushManager プロパティを経由してアクセスできます。

ノート:このインターフェースは、廃止された PushRegistrationManagerで以前に提案されていた機能をリプレースしています。

プロパティ

なし。

メソッド

PushManager.getSubscription()
既存のプッシュサブスクリプションを受け取る。これは既存のプッシュサブスクリプションの詳細を含む PushSubscription を解決する Promise を返す。既存のプッシュサブスクリプションが存在しない場合、null 値で解決される。
PushManager.permissionState()
現在の PushSubscription の許可状況で解決される Promise を返す。許可状況は 'granted''denied''prompt' のいずれかである。
PushManager.subscribe()
プッシュサービスを提供する。プッシュサブスクリプションの詳細を含む PushSubscription オブジェクトで解決される Promise を返す。現在の service worker に既存のサブスクリプションがない場合、新しいプッシュサブスクリプションが生成される。

非推奨のメソッド

PushManager.hasPermission()
リクエストしている Web アプリのPushPermissionStatus で解決される Promise を返す。この値は granteddenieddefault のいずれかである。PushManager.permissionState() で置き換えられた。
PushManager.register()
プッシュサービスを提供する。 PushManager.subscribe() で置き換えられた。
PushManager.registrations()
既存のプッシュサブスクリプションを受け取る。PushManager.getSubscription() で置き換えられた。
PushManager.unregister()
指定のサブスクリプションエンドポイントを解除して削除する。API のアップデートで、サブスクリプションは、PushSubscription.unsubscribe() メソッドを呼び出して解除することになった。

this.onpush = function(event) {
  console.log(event.data);
  // ここから、IndexedDB にデータを書き込んだり、いずれかのウィンドウに
  // それを送信したり、通知を表示したりできます。
}

navigator.serviceWorker.register('serviceworker.js').then(
  function(serviceWorkerRegistration) {
    serviceWorkerRegistration.pushManager.subscribe().then(
      function(pushSubscription) {
        console.log(pushSubscription.subscriptionId);
        console.log(pushSubscription.endpoint);
        // ここから、IndexedDB にデータを書き込んだり、いずれかのウィンドウに
        // それを送信したり、通知を表示したりできます。
      }, function(error) {
        // 開発中は、コンソールにエラーを表示するのに役立ちます。
        // 本番環境では、アプリケーションサーバにエラー情報を送信
        // するためにも 役立ちます。
        console.log(error);
      }
    );
  });

仕様

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

ブラウザ実装状況

機能 Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
基本サポート 42.0 44.0 (44.0)[1] 未サポート ? 未サポート
機能 Android Android Webview Firefox Mobile (Gecko) Firefox OS IE Mobile Opera Mobile Safari Mobile Chrome for Android
基本サポート 未サポート 未サポート 48.0 (48)[2] 未サポート 未サポート 未サポート 未サポート 42.0

関連項目

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

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