Cum Push Funcționează

De Matt Gaunt
Matt este un factor care contribuie la WebFundamentals

Înainte de a ajunge în API, să ne uităm la împinge la un nivel ridicat, începe să se termine. Apoi, ca westep prin subiecte individuale sau API mai târziu, veți avea o idee despre cum și de ce it ‘ simportant.

cei trei pași cheie pentru implementarea push sunt:

  1. adăugarea logicii din partea clientului pentru a abona un utilizator la push (adică., JavaScript și UI în aplicația yourweb care înregistrează un utilizator pentru a împinge mesaje).
  2. apelul API DIN back-end / aplicație care declanșează un mesaj push pe dispozitivul unui utilizator.
  3. fișierul JavaScript service worker care va primi un „eveniment push” La sosirea apăsăriidispozitiv. În acest JavaScript veți putea afișa o notificare.să ne uităm la ceea ce implică fiecare dintre acești pași într-un pic mai detaliat.

    Pasul 1: partea clientului

    primul pas este de a” abona ” un utilizator pentru a împinge mesaje.

    abonarea unui utilizator necesită două lucruri., În primul rând, obținerea permisiunii utilizatorului de a trimitemesaje push. În al doilea rând, obținerea unui PushSubscription din browser.

    aPushSubscription conține toate informațiile de care avem nevoie pentru a trimite un mesaj push acelui utilizator.Puteți” Un fel de ” cred că de acest lucru ca un ID pentru dispozitivul utilizatorului.

    Acest lucru se face în JavaScript cu PushAPI.

    înainte de a vă abona la un utilizator, va trebui să generați un set de” chei ale serverului de aplicații”, pe care le vom acoperi ulterior.tastele serverului de aplicații, cunoscute și sub denumirea de chei VAPID, sunt unice pentru serverul dvs., Acestea permit serviciului apush să știe ce server de aplicații a Abonat un utilizator și să se asigure că este același server care declanșează mesajele push către acel utilizator.după ce v-ați abonat la utilizator și aveți un PushSubscription, va trebui să trimitețiPushSubscription detalii la backend / server. Pe serverul dvs., veți salva acest lucrusubscriere într-o bază de date și utilizați-o pentru a trimite un mesaj push acelui utilizator.,

    Pasul 2: trimiteți un mesaj Push

    când doriți să trimiteți un mesaj push utilizatorilor dvs., trebuie să efectuați un apel API către un pushservice. Acest apel API ar include ce date să trimiteți, cui să trimiteți mesajul și anycriteria despre cum să trimiteți mesajul. În mod normal, acest apel API se face de pe serverul dvs.

    câteva întrebări pe care vi le puteți pune:

    • cine și care este serviciul push?

    • cum arată API-ul? Este JSON, XML, altceva?

    • ce poate face API-ul?,

    cine și ce este Serviciul Push?

    un serviciu push primește o solicitare de rețea, o validează și transmite un mesaj push către browserul corespunzător. Dacă browserul este offline, mesajul este în coadă până când browserul vine online.fiecare browser poate folosi orice serviciu push Doresc, este ceva dezvoltatorii nu au controlover. Aceasta nu este o problemă, deoarece fiecare serviciu push se așteaptă la același apel API. Ceea ce înseamnă că nu trebuie să-ți pese cine este serviciul de împingere. Trebuie doar să vă asigurați că apelul dvs.,

    pentru a obține URL-ul corespunzător pentru a declanșa un mesaj push (adică URL-ul pentru serviciul push) trebuie doar să te uiți la valoarea endpoint într-un PushSubscription.

    mai jos este un exemplu de valori pe care le veți obține de la o înscriere:

    tastele din abonament vor fi acoperite mai târziu.

    cum arată API-ul?

    am menționat că fiecare serviciu web push se așteaptă la același apel API. Acest API este Theweb Push Protocol.It este un standard IETF care definește modul în care efectuați un apel API către un serviciu push.,

    apelul API necesită setarea anumitor anteturi, iar datele să fie un flux de octeți. Ne vom uita la bibliotecile care pot efectua acest apel API pentru noi, precum și cum să o facem noi înșine.

    ce poate face API-ul?

    API-ul oferă o modalitate de a trimite un mesaj unui utilizator, cu / fără date, și oferăinstrucțiuni despre modul de trimitere a mesajului.

    datele pe care le trimiteți cu un mesaj push trebuie să fie criptate. Motivul pentru aceasta este că acesta împiedică serviciile push, care ar putea fi oricine, să poată vizualiza datele trimise cu mesajul push., Acest lucru este important, având în vedere că browserul este cel care decide ce serviciu push touse, care ar putea deschide ușa browserelor folosind un serviciu push care nu este sigur sau securizat.

    când declanșați un mesaj push, Serviciul push va primi apelul API și coada themessage. Acest mesaj va rămâne în coadă până când dispozitivul utilizatorului va intra online și pushservice poate livra mesajele. Instrucțiunile pe care le puteți oferi serviciului push definesc modul în caremesajul push este în coadă.

    instrucțiunile includ detalii cum ar fi:

    • timpul de a trăi pentru un mesaj push., Aceasta definește cât timp un mesaj ar trebui să fie în coadă înainteeste eliminat și nu este livrat.

    • definiți urgența mesajului. Acest lucru este util în cazul în care serviciul push păstreazăviața bateriei utilizatorilor prin furnizarea de mesaje cu prioritate ridicată.

    • dați unui mesaj push un nume „topic” care va înlocui orice mesaj în așteptare cu acest nou mesaj.,

    Pasul 3: Apăsați Evenimentul de pe Dispozitivul Utilizatorului

    după ce am trimis un mesaj împinge, împinge serviciu va păstra mesajul tau pe server untilone de următoarele evenimente are loc:

    1. dispozitivul vine on-line și serviciul push livrează mesajul.
    2. mesajul expiră. Dacă se întâmplă acest lucru, serviciul push elimină mesajul din coada sa și nu va fi livrat niciodată.,

    când serviciul push livrează un mesaj, browserul va primi mesajul, va decripta anydata și va expedia un evenimentpush în lucrătorul dvs. de servicii.

    un lucrător de serviciu este un fișier JavaScript”special”. Browserul poate executa acest JavaScript fără ca pagina dvs. să fie deschisă. Se poate executa chiar și acest JavaScript atunci când browser-ul este închis. De asemenea, un lucrător de servicii areapi, cum ar fi push, care nu sunt disponibile pe pagina web (adică API-urile care nu sunt disponibile în afara unui script de serviciu).,

    în cadrul evenimentului „push” al lucrătorului de service puteți efectua orice sarcini de fundal. Puteți efectua apeluri de analiză, pagini cache offline și afișați notificări.

    acesta este întregul flux pentru mesageria push. Să trecem prin fiecare pas în detaliu.

    Feedback

    a fost această pagină utilă?
    Da
    care a fost cel mai bun lucru despre această pagină?
    M-A ajutat să-mi finalizez obiectivele
    Vă mulțumim pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.,

    avea informațiile de care aveam nevoie
    Vă mulțumim pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.

    a avut informații exacte
    Vă mulțumim pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.

    a fost ușor de citit
    Vă mulțumim pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.

    altceva
    Vă mulțumim pentru feedback., Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.

    nu
    care a fost cel mai rău lucru despre această pagină?
    nu m-a ajutat să-mi finalizez obiectivele
    vă mulțumesc pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.

    lipseau informațiile de care aveam nevoie
    Vă mulțumim pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.,

    a avut informații inexacte
    Vă mulțumim pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.

    a fost greu de citit
    Vă mulțumim pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.

    altceva
    Vă mulțumim pentru feedback. Dacă aveți idei specifice despre cum să îmbunătățiți această pagină, vă rugăm să creați o problemă.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *