PushManager
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since marzo de 2023.
* Some parts of this feature may have varying levels of support.
La interfaz PushManager de la API Push proporciona una forma de recibir notificaciones de servidores de terceros, así como solicitar URL para notificaciones push.
Se accede a esta interfaz a través de la propiedad ServiceWorkerRegistration.pushManager.
Propiedades estáticas
PushManager.supportedContentEncodings-
Devuelve una matriz de codificaciones de contenido admitidas que se pueden usar para cifrar la carga útil de un mensaje push.
Métodos de instancia
PushManager.getSubscription()-
Recupera una suscripción push existente. Devuelve un objeto
Promiseque se resuelve en un objetoPushSubscriptionque contiene detalles de una suscripción existente. Si no existe una suscripción existente, esto se resuelve en un valornull. PushManager.permissionState()-
Devuelve un
Promiseque resuelve el estado de permiso delPushManageractual, que será'granted','denied'o'prompt'. PushManager.subscribe()-
Se suscribe a un servicio push. Devuelve un objeto
Promiseque se resuelve en un objetoPushSubscriptionque contiene detalles de una suscripción push. Se crea una nueva suscripción push si el trabajador del servicio actual no tiene una suscripción existente.
Métodos obsoletos
PushManager.hasPermission()Obsoleto-
Devuelve un
Promiseque se resuelve enPushPermissionStatusde la aplicación web solicitante, que serágranted,deniedodefault. Reemplazado porPushManager.permissionState(). PushManager.register()Obsoleto-
Se suscribe a una suscripción push. Reemplazado por
PushManager.subscribe(). PushManager.registrations()Obsoleto-
Recupera suscripciones push existentes. Reemplazado por
PushManager.getSubscription(). PushManager.unregister()Obsoleto-
Anula el registro y elimina un extremo de suscripción especificado. En la API actualizada, se anula el registro de una suscripción llamando al método
PushSubscription.unsubscribe().
Example
this.onpush = (event) => {
console.log(event.data);
// Desde aquí podemos escribir los datos en una IndexedDB, enviarlos
// a cualquier ventana abierta, mostrar una notificación, etc.
};
navigator.serviceWorker
.register("serviceworker.js")
.then((serviceWorkerRegistration) => {
serviceWorkerRegistration.pushManager.subscribe().then(
(pushSubscription) => {
console.log(pushSubscription.endpoint);
// Los detalles de suscripción push que necesita el servidor
// de aplicaciones ahora están disponibles y se pueden enviar
// mediante, por ejemplo, XMLHttpRequest.
},
(error) => {
console.error(error);
},
);
});
Especificaciones
| Specification |
|---|
| Push API> # pushmanager-interface> |
Compatibilidad con navegadores
Loading…