--- title: PushManager slug: Web/API/PushManager tags: - API - Experimental - Interface - Push - Push API - Reference - Service Workers translation_of: Web/API/PushManager ---
{{SeeCompatTable}}{{ApiRef("Push API")}}
Push API の PushManager インターフェースは、3rd パーティーのサーバーからの通知だけではなく、プッシュ通知へのリクエスト URL を取得するための方法を提供します。
このインターフェースは、{{domxref("ServiceWorkerRegistration.pushManager")}} プロパティを経由してアクセスできます。
ノート:このインターフェースは、廃止された {{domxref("PushRegistrationManager")}}で以前に提案されていた機能をリプレースしています。
null 値で解決されます。'granted'、'denied'、'prompt' のいずれかです。PushPermissionStatus で解決される {{jsxref("Promise")}} を返します。この値は granted、denied、default のいずれかです。{{domxref("PushManager.permissionState()")}} で置き換えられました。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);
}
);
});
| 仕様 | 状態 | コメント |
|---|---|---|
| {{SpecName('Push API','#pushmanager-interface','PushManager')}} | {{Spec2('Push API')}} | 初期定義。 |
{{Compat("api.PushManager")}}