--- title: ServiceWorkerRegistration.pushManager slug: Web/API/ServiceWorkerRegistration/pushManager tags: - API - Property - Push - PushManager - Reference - Service Workers - ServiceWorkerRegistration translation_of: Web/API/ServiceWorkerRegistration/pushManager ---
{{APIRef("Service Workers API")}}

{{domxref("ServiceWorkerRegistration")}} インターフェイスの pushManager プロパティは、プッシュ購読を管理するための {{domxref("PushManager")}} インターフェイスへの参照を返します。 これには、購読申し込み、アクティブな購読の取得、プッシュ許可状況へのアクセスのサポートが含まれます。

構文

var pushManager = serviceWorkerRegistration.pushManager;

{{domxref("PushManager")}} オブジェクト。

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);
        // アプリケーションサーバが必要としているプッシュ購読の
        // 詳細はここから使用できます。たとえば、XMLHttpRequest を使用して
        // これを送信できます。
      }, function(error) {
        // 開発中は、コンソールにエラーを表示するのに役立ちます。
        // 本番環境では、アプリケーションサーバにエラー情報を送信
        // するためにも 役立ちます。
        console.log(error);
      }
    );
  });

仕様

仕様 状態 コメント
{{SpecName('Push API', '#pushmanager-interface', 'PushManager')}} {{Spec2('Push API')}} 初期定義。

ブラウザーの互換性

{{Compat("api.ServiceWorkerRegistration.pushManager")}}

関連項目