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> |
Compatibilidade com navegadores
Loading…