PushManager
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since março de 2023.
* Some parts of this feature may have varying levels of support.
Experimental: Esta é uma tecnologia experimental
Verifique a tabela de compatibilidade entre Navegadores cuidadosamente antes de usar essa funcionalidade em produção.
A PushManagerinterface da API Push fornece uma maneira de receber notificações de servidores de terceiros, bem como solicitar URLs para notificações push.
Essa interface é acessada através da propriedade ServiceWorkerRegistration.pushManager.
Nota: : Esta interface substitui a funcionalidade anteriormente oferecida pela interface obsoleta PushRegistrationManager.
Propriedades
PushManager.supportedContentEncodings-
Retorna uma série de codificações de conteúdo suportadas que podem ser usadas para criptografar a carga útil de uma mensagem push.
Métodos
PushManager.getSubscription ()-
Recupera uma assinatura de envio existente. Retorna uma
Promiseque resolve um objetoPushSubscriptioncontendo detalhes de uma assinatura existente. Se não existe uma subscrição existente, isso resolve umnullvalor. PushManager.permissionState ()-
Retorna uma
Promiseque resolve para o estado de permissão do atualPushManager, que será um dos'granted','denied'ou'prompt'. PushManager.subscribe ()-
Assine um serviço push. Retorna uma
Promiseque resolve um objetoPushSubscriptioncontendo detalhes de uma inscrição de envio. Uma nova assinatura de envio é criada se o trabalhador de serviço atual não tiver uma assinatura existente.
Métodos depreciados
PushManager.hasPermission ()Deprecated-
Retorna uma
Promiseque resolve para oPushPermissionStatusdo webapp requerente, que será um dosgranted,deniedoudefault. Substituído porPushManager.permissionState (). PushManager.register ()Deprecated-
Assina uma assinatura de envio. Substituído por
PushManager.subscribe (). PushManager.registrations ()Deprecated-
Recupera as assinaturas de envio existentes. Substituído por
PushManager.getSubscription (). PushManager.unregister ()Deprecated-
Anula e exclui um ponto final de assinatura especificado. Na API atualizada, uma assinatura não está registrada chamando o método
PushSubscription.unsubscribe ().
Exemplo
this.onpush = function(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( function(serviceWorkerRegistration) { serviceWorkerRegistration.pushManager.subscribe().then( function(pushSubscription) { console.log(pushSubscription.subscriptionId); 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, an XMLHttpRequest. }, function(error) { // During development it often helps to log errors to the // console. In a production environment it might make sense to // also report information about errors back to the // application server. console.log(error); } ); }); Especificações
| Specification |
|---|
| Push API> # pushmanager-interface> |