class

Suscríbete y escucha Notificaciones push web a través de Angular Service Worker.

classSwPush
  messages: Observable<object>
  notificationClicks: Observable<...
  subscription: Observable<PushSubscription 

Ver también

Proporcionada en

  • ServiceWorkerModule

Propiedades

Propiedad Descripción
messages: Observable Solo lectura

Emite las cargas útiles de los mensajes de notificación push recibidos.

notificationClicks: Observable< action: string; notification: NotificationOptions & title: string; ; > Solo lectura

Emite las cargas útiles de los mensajes de notificación push recibidos, así como la acción con la que interactuó el usuario. Si no se utilizó ninguna acción, action la propiedad contiene un vacío string ''.

Tenga en cuenta que el notification la propiedad hace no contener un Notificación objeto sino más bien un Opciones de notificación objeto que también incluye el title de El Notificación objeto.

subscription: Observable Solo lectura

Emite el activo actualmente PushSubscription asociado al registro de trabajador de servicio o null si no hay suscripción.

isEnabled: boolean Solo lectura

Verdadero si el Service Worker está habilitado (compatible con el navegador y habilitado a través de ServiceWorkerModule).

Métodos

requestSubscription ()

Se suscribe a notificaciones push web, después de solicitar y recibir el permiso del usuario.

requestSubscription(options: serverPublicKey: string; ): Promise

Parámetros
options object

Un objeto que contiene el serverPublicKey string.

Devoluciones

Promise: Una promesa que se resuelve en el nuevo objeto de suscripción.

cancelar suscripción ()

Se da de baja de las notificaciones push de Service Worker.

unsubscribe(): Promise

Parámetros

No hay parámetros.

Devoluciones

Promise: Promesa que se resuelve cuando la operación se realiza correctamente o se rechaza si no hay una suscripción activa o la operación de cancelación de suscripción falla.

Notas de uso

Puedes inyectar un SwPush instancia en cualquier componente o servicio como una dependencia.

importSwPushfrom'@angular/service-worker';/* . . . */exportclassAppComponentconstructor(readonly swPush: SwPush)/* . . . */

Para suscribirte, llama SwPush.requestSubscription(), que solicita permiso al usuario. La llamada devuelve un Promise con un nuevo PushSubscription ejemplo.

privateasyncsubscribeToPush()tryconst sub =awaitthis.swPush.requestSubscription(
      serverPublicKey:PUBLIC_VAPID_KEY_OF_SERVER,);// TODO: Send to server.catch(err)console.error('Could not subscribe due to:', err);

Se rechaza una solicitud si el usuario deniega el permiso o si el navegador bloquea o no admite la API Push o ServiceWorkers. Cheque SwPush.isEnabled para confirmar el estado.

Invoque notificaciones push enviando un mensaje con la siguiente carga útil.

"notification":"ltr"

Solamente title es requerido. Ver Notificationpropiedades de instancia.

Mientras la suscripción está activa, Service Worker escucha PushEvent ocurrencias y crea Notificación instancias en respuesta.

Darse de baja usando SwPush.unsubscribe().

Una aplicación puede suscribirse a SwPush.notificationClicks observable para ser notificado cuando un usuario hace clic en una notificación. Por ejemplo:

this.swPush.notificationClicks.subscribe((action, notification)=>// TODO: Do something in response to notification click.);