Push notifikácie
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
- Pripojiť sa na apple server podľa dokumentácie — https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/APNSOverview.html
- 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
- Registrovať na nasledujúcom odkaze https://developers.google.com/cloud-messaging/registration
- Poslať správu cez gcm server podľa dokumentácie https://developers.google.com/cloud-messaging/http
- 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:
- One Signal
- Urban AirShip
- iné