Come Push Funziona

Da Matt Gaunt
Matt è un collaboratore di WebFundamentals

Prima di ottenere l’API, vediamo spinta da un alto livello dall’inizio alla fine. Quindi, come westep attraverso singoli argomenti o API in seguito, avrai un’idea di come e perché è importante.

I tre passaggi chiave per implementare push sono:

  1. Aggiunta della logica lato client per sottoscrivere un utente a push (es., il JavaScript e l’interfaccia utente nell’app yourweb che registra un utente per inviare messaggi).
  2. La chiamata API dal back-end / applicazione che attiva un messaggio push al dispositivo di un utente.
  3. Il file JavaScript del service worker che riceverà un “evento push” quando il push arriva sul dispositivo. È in questo JavaScript che sarai in grado di mostrare una notifica.

Diamo un’occhiata a ciò che ciascuno di questi passaggi comporta in un po ‘ più in dettaglio.

Passo 1: Lato client

Il primo passo è quello di “sottoscrivere” un utente per spingere la messaggistica.

La sottoscrizione di un utente richiede due cose., Innanzitutto, ottenere il permesso dall’utente di inviareloro messaggi push. In secondo luogo, ottenere un PushSubscription dal browser.

A PushSubscription contiene tutte le informazioni di cui abbiamo bisogno per inviare un messaggio push a quell’utente.Puoi” tipo ” pensare a questo come un ID per il dispositivo di quell’utente.

Questo è tutto fatto in JavaScript con il PushAPI.

Prima di sottoscrivere un utente è necessario generare una serie di”chiavi del server delle applicazioni”, che tratteremo in seguito.

Le chiavi del server delle applicazioni, note anche come chiavi VAPID, sono uniche per il tuo server., Consentono al servizio apush di sapere quale server di applicazioni ha sottoscritto un utente e assicurarsi che sia lo stesso server che attiva i messaggi push a quell’utente.

Una volta che hai sottoscritto l’utente e hai un PushSubscription, dovrai inviare i dettagliPushSubscription al tuo backend / server. Sul tuo server, salverai questoiscrizione a un database e usala per inviare un messaggio push a quell’utente.,

Passo 2: Invia un messaggio Push

Quando vuoi inviare un messaggio push ai tuoi utenti devi effettuare una chiamata API a un pushservice. Questa chiamata API includerebbe quali dati inviare, a chi inviare il messaggio e anycriteria su come inviare il messaggio. Normalmente questa chiamata API viene eseguita dal tuo server.

Alcune domande che potresti farti:

  • Chi e che cos’è il servizio push?

  • Che aspetto ha l’API? È JSON, XML, qualcos’altro?

  • Cosa può fare l’API?,

Chi e che cos’è il Servizio Push?

Un servizio push riceve una richiesta di rete, la convalida e invia un messaggio push al browser appropriato. Se il browser non è in linea, il messaggio viene messo in coda fino a quando il browser è online.

Ogni browser può utilizzare qualsiasi servizio push che desidera, è qualcosa che gli sviluppatori non hanno controllo. Questo non è un problema perché ogni servizio push si aspetta la stessa chiamata API. Significa che non devi preoccuparti di chi è il servizio di spinta. Devi solo assicurarti che la tua chiamata API sia valida.,

Per ottenere l’URL appropriato per attivare un messaggio push (cioè l’URL per il servizio push) è sufficiente guardare il valore endpointin un PushSubscription.

Di seguito è riportato un esempio dei valori che otterrete da una PushSubscription:

Le chiavi nell’abbonamento saranno coperte in seguito.

Che aspetto ha l’API?

Ho detto che ogni servizio push web si aspetta la stessa chiamata API. Quella API è theWeb Push Protocol.It è uno standard IF che definisce come si effettua una chiamata API a un servizio push.,

La chiamata API richiede che alcune intestazioni siano impostate e che i dati siano un flusso di byte. Guarderemo le librerie che possono eseguire questa chiamata API per noi e come farlo da soli.

Cosa può fare l’API?

L’API fornisce un modo per inviare un messaggio a un utente, con / senza dati, e fornisceistruzioni su come inviare il messaggio.

I dati inviati con un messaggio push devono essere crittografati. La ragione di ciò è che impedisce ai servizi push, che potrebbero essere chiunque, di poter visualizzare i dati inviati con il messaggio push., Questo è importante dato che è il browser che decide quale servizio push usare, che potrebbe aprire la porta ai browser che utilizzano un servizio push che non è sicuro o protetto.

Quando si attiva un messaggio push, il servizio push riceverà la chiamata API e accoderà il messaggio. Questo messaggio rimarrà in coda fino a quando il dispositivo dell’utente non sarà online e pushservice sarà in grado di recapitare i messaggi. Le istruzioni che puoi dare al servizio push definiscono comeil messaggio push è in coda.

Le istruzioni includono dettagli come:

  • Il time-to-live per un messaggio push., Questo definisce per quanto tempo un messaggio deve essere messo in coda prima di essere rimosso e non consegnato.

  • Definire l’urgenza del messaggio. Questo è utile nel caso in cui il servizio push stia preservando la durata della batteria degli utenti fornendo solo messaggi ad alta priorità.

  • Dare un messaggio push un nome “topic” che sostituirà qualsiasi messaggio in sospeso con questo nuovo messaggio.,

Passo 3: Evento push sul dispositivo dell’Utente

Una volta inviato un messaggio push, il servizio push manterrà il tuo messaggio sul suo server fino a quando non si verifica uno dei seguenti eventi:

  1. Il dispositivo entra in linea e il servizio push consegna il messaggio.
  2. Il messaggio scade. Se ciò si verifica, il servizio push rimuove il messaggio dalla coda e non verrà mai consegnato.,

Quando il servizio push invia un messaggio, il browser riceverà il messaggio, decrittograferà anydata e invierà un evento push nel service worker.

Un service worker è un file JavaScript”speciale”. Il browser può eseguire questo JavaScript senza che la tua pagina sia aperta. Può anche eseguire questo JavaScript quando il browser è chiuso. Un service worker ha anche API, come push, che non sono disponibili nella pagina Web (cioè API che non sono disponibili da uno script di service worker).,

È all’interno dell’evento “push” del service worker che è possibile eseguire qualsiasi attività in background. Youcan effettuare chiamate di analisi, pagine di cache offline e mostrare le notifiche.

Questo è l’intero flusso per la messaggistica push. Consente di passare attraverso ogni passo in modo più dettagliato.

Feedback

Questa pagina è stata utile?
Qual è stata la cosa migliore di questa pagina?
Mi ha aiutato a completare il mio obiettivo(s)
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.,

Aveva le informazioni di cui avevo bisogno
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.

Aveva informazioni accurate
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.

E ‘ stato facile da leggere
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.

Qualcos’altro
Grazie per il feedback., Se hai idee specifiche su come migliorare questa pagina, crea un problema.

No
Qual è stata la cosa peggiore di questa pagina?
Non mi ha aiutato a completare i miei obiettivi
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.

Mancavano le informazioni di cui avevo bisogno
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.,

Aveva informazioni imprecise
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.

E ‘ stato difficile da leggere
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.

Qualcos’altro
Grazie per il feedback. Se hai idee specifiche su come migliorare questa pagina, crea un problema.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *