Inviare web push notification da ASP.NET Core

di Morgan Pizzini, in ASP.NET Core,

Quando sviluppiamo un'applicazione sappiamo che le notifiche sono gli alert che ricordano all'utente l'esistenza della nostra applicazione, e che ne garantiscono un utilizzo continuo nel corso del tempo.

Sebbene a prima vista il concetto di notifica possa sembrare semplice, andando un po' più a fondo scopriamo che la creazione un sistema di notifiche non è così banale. Creando applicazioni cross-platform dobbiamo riuscire a creare anche delle notifiche cross platform. Sui dispositivi dove la gestione delle notifiche è demandata a background task, la realizzazione si traduce nella sottoscrizione, a seconda del device, dell'applicazione ad un centro di notifica differente (iOs, Android, Microsoft) o a servizi universali (Aws, Azure).

Un mondo più facile? PWA

Con l'utilizzo di un'applicazione PWA (Progressive Web App), la registrazione è completamente demandata al browser! Quindi la discriminante non sarà più la piattaforma di utilizzo, bensì un url di endpoint fornito dal browser stesso!

Ogni browser implementa uno standard di comunicazione definito Push API (qui le specifiche complete), il quale consente, chiamando il push service dedicato, di inviare una notifica ad una applicazione che gira sul browser.

Ecco un tipico esempio di sottoscrizione fornita dal browser:

{
  "endpoint": "https://pushservice.com/browser-identify",
  "keys": {
    "p256dh":
        "BIPUL12DLfytvTajnryr2PRdAgXS3HGKiLqndGcJGabyhHheJYlNGCeXl1dn18gSJ1WAkAPIxr4gK0_dQds4yiI=",
        "auth":"FPssNDTKnInHVndSTdbKFw=="
  }
}

Come possiamo dedurre, l'url indicato come endpoint sarà il servizio di push su cui il browser sarà in ascolto:

In entrambi i casi la comunicazione dovrà obbligatoriamente avvenire su protocollo https per consentire la sicurezza del messaggio nella comunicazione.

Questo standard, implementato su tutti i browser moderni, fa sì che la nostra applicazione possa essere complementamente platform agnostic il che garantirà a noi molti meno sforzi!

ASP.NET Core & Lib.Net.Http.WebPush

All'interno di questo articolo andremo ad utilizzare la libreria Lib.Net.Http.WebPush (https://github.com/tpeczek/Lib.Net.Http.WebPush), libreria per .NET Core, che implementa il protocollo di comunicazione per l'invio delle notifiche ai diversi endpoint.

5 pagine in totale: 1 2 3 4 5

Attenzione: Questo articolo contiene un allegato.

Contenuti dell'articolo

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

Top Ten Articoli

Articoli via e-mail

Iscriviti alla nostra newsletter nuoviarticoli per ricevere via e-mail le notifiche!

In primo piano

I più letti di oggi

In evidenza

Misc