files/en-us/web/api/pushmanager/index.md
{{ApiRef("Push API")}}{{SecureContext_Header}}{{AvailableInWorkers}}
The PushManager interface of the Push API provides a way to receive notifications from third-party servers as well as request URLs for push notifications.
This interface is accessed via the {{domxref("ServiceWorkerRegistration.pushManager")}} property.
PushManager.supportedContentEncodings
null value.PushManager, which will be one of 'granted', 'denied', or 'prompt'.PushPermissionStatus of the requesting webapp, which will be one of granted, denied, or default. Replaced by {{domxref("PushManager.permissionState()")}}.this.onpush = (event) => {
console.log(event.data);
// From here we can write the data to IndexedDB, send it to any open
// windows, display a notification, etc.
};
navigator.serviceWorker
.register("serviceworker.js")
.then((serviceWorkerRegistration) => {
serviceWorkerRegistration.pushManager.subscribe().then(
(pushSubscription) => {
console.log(pushSubscription.endpoint);
// The push subscription details needed by the application
// server are now available, and can be sent to it using,
// for example, the fetch() API.
},
(error) => {
console.error(error);
},
);
});
{{Specifications}}
{{Compat}}