Push notifikácie

Kompilátor
3 min readAug 19, 2018

Push notifikácie slúžia na doručenie informácií zo serveru používateľom (mobilnej, webovej) aplikácie. Neobsahujú konkrétnu správu (zvuk, ikonky,…), iba informáciu o tom, ako má zmeniť stav aplikácie/webu a na základe toho informovať používateľa alebo vyvolať príslušnú akciu.

Use casy — vhodné na push notifikácie

Use casov na využitie push notifikácií môže byť viacero. Je možné ich rozčleniť do viacerých kategórií:

Polohové informácie

  • informácia o kaviarňach v mojej blízkosti
  • informácie o zľavách v mojom okolí
  • používatelia s podobnými záujmami v mojom okolí
  • ….

Marketingové informácie

  • nové produkty
  • nové recepty
  • zľavy/ponuky
  • novinky
  • ….

Rozvojové informácie

  • denná spotreba kalórií
  • počet krokov
  • ubehnuté tempo

Biznis informácie

  • spotreba a zostatok na účte
  • nová správa/email

Push notifikácie a používatelia

Ako vidíme, príkladov použitia je stovky. Zároveň, ale na push notifikácie treba ísť s rozumom. Nesprávne zvolený use case, alebo jeho periodicita, môže používateľov viesť k zakázaniu push notifikácií. Pričom zo správania užívateľov väčšinou vychádza defaultné zakazovanie notifikácií, preto je potrebné pri štarte aplikácie vhodnou a dobre marketingovo pripravenou formou užívateľovi zdeliť, prečo by mal push notifikácie povoliť.

Implementácia push notifikácií

Vlastná implementácia

V prvom kroku je potrebné nahrať do databázy/backendu/administrácie zariadenia, ktoré povolili na začiatku push notifikácie (prípadne neskôr zmenili v nastaveniach) pre obe platformy.

Ukážka metódy (nemusí byť presne 1:1 voči tomuto zadaniu)

POST /add_device_ios

Typ: application/json

Body: device_id — string

POST /add_device_android

Typ: application/json

Body: device_id — string

Odoslať notifikáciu — iOS

  1. Pripojiť sa na apple server podľa dokumentácie — https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html
  2. Vytvoriť json (payload) vo formáte v akom chceme a s akými atribútmi správu používateľovi poslať. JSON nižšie je vzorový, je potrebné zachovať formát a atribúty, hodnoty sa menia podľa aplikácie a zadania.
{ "aps" : {     "content-available" : 1,     "alert" : "Some text.",     "badge" : 9,  },  "acme1" : "bar",}

content_available — povolí push notifikáciu na pozadí

alert — obsah, ktorý sa ukáže

badge — počet nových správ/notifikácií

Odoslať notifikáciu — Android

  1. Registrovať na nasledujúcom odkaze https://developers.google.com/cloud-messaging/registration
  2. Poslať správu cez gcm server podľa dokumentácie https://developers.google.com/cloud-messaging/http
  3. Vytvoriť payload v JSON formáte na podobnom princípe ako pri iOS implementácii.
{ "to" : "bk3RNwTe3H0:CI2k_HHwgIpoDKCIZvvDMExUdFQ3P1…", "notification" : {
"body" : "great match!",
"title" : "Portugal vs. Denmark", "icon" : "myicon" }
}

to — device token

body — telo správy

title — nadpis správy

icon — ikonka (buď z BE alebo v aplikácii)

Možnosť implementácie č. 2 — cez Firebase

Najvyužívanejšie riešenie v súčasnosti. Je možné využiť free firebase účet na otestovanie funkcionality a pre produkčné riešenie, ak je to nutné prepnúť do platenej verzie. Implementácia je jednoduchá aj z pohľadu mobilnej aplikácie, aj z pohľadu backendu, kedy sa iba odošle správa do Firebasu, z ktorého si ju prečíta daná mobilná aplikácia.

Iné komernečné riešenie

Taktiež je možné využiť iné komerčné riešenie , ktoré sa o push notifikácie stará ako napríklad:

--

--

Kompilátor

Kompilujeme vaše potřeby do úspěšných produktů