Push notifikace & deep links
Relevantní notifikace. Přímá cesta do aplikace.
Stavíme notifikační systémy, které doručí správnou zprávu ve správný čas — a deep links, které uživatele dovedou přesně tam, kam potřebují.
Push notifikace — přímý kanál k uživateli¶
Push notifikace jsou nejpřímější způsob, jak oslovit uživatele mobilní aplikace. Ale jen pokud je používáte správně. Irrelevantní spam = uninstall. Relevantní, kontextová notifikace ve správný čas = engagement a akceschopnost.
Stavíme notifikační infrastrukturu od backendu po zobrazení na zařízení. Ne „pošleme push” — ale „doručíme správnou zprávu správnému uživateli ve správný okamžik.”
Platformní push služby¶
APNs (Apple Push Notification service)¶
iOS vyžaduje komunikaci výhradně přes APNs. Žádná alternativa, žádný workaround.
- Token-based autentizace: JWT token s P8 klíčem. Jednodušší správa než certificate-based, žádná expirace certifikátů.
- Priority levels: Immediate (10) pro viditelné notifikace, energy-efficient (5) pro background updates.
- Silent push: Probudí aplikaci na pozadí bez zobrazení notifikace. Ideální pro background data sync, content pre-fetching.
- Expiration: Nastavitelná expirace — pokud je zařízení offline, APNs drží notifikaci a doručí ji po připojení (do expiry).
FCM (Firebase Cloud Messaging)¶
Android standard pro push notifikace. Firebase jako abstrakční vrstva.
- Notification vs Data message: Notification messages zobrazí systém automaticky. Data messages zpracuje aplikace — plná kontrola nad zobrazením, timing, custom UI.
- Topic messaging: Subscribe na topic (
topic_orders,topic_alerts), backend pošle na topic — FCM distribuuje. Efektivnější než individuální push pro broadcast scénáře. - Channels (Android 8+): Notifikační kanály s vlastním zvukem, vibracemi, LED. Uživatel může granulárně ovládat — ztlumit marketingové, ponechat transakční.
Rich notifications¶
Notifikace nejsou jen text. Rich notifications přidávají vizuální i interaktivní prvky:
Obsah¶
- Obrázky: Preview zásilky, produkt, mapa s polohou. Až 10MB na iOS (Notification Service Extension stáhne obrázek).
- Akční tlačítka: „Potvrdit doručení”, „Odmítnout”, „Zobrazit detail” — akce přímo z notifikace bez otevření aplikace.
- Custom UI (iOS): Notification Content Extension pro vlastní layout — progress bar, mapa, interaktivní prvky.
- Expandable (Android): BigTextStyle, BigPictureStyle, InboxStyle, MessagingStyle — různé layouty pro různé typy obsahu.
Interakce¶
- Inline reply: Odpověď přímo z notifikace (chat, komentáře).
- Quick actions: Předdefinované akce — schválit/zamítnout, přiřadit/eskalovat.
- Dismissal tracking: Analytika i pro dismissed notifikace — co uživatel ignoruje.
Segmentace a personalizace¶
Hromadný blast na všechny uživatele je anti-pattern. Efektivní notifikace jsou cílené:
Segmentace¶
- Role-based: Řidič dostane notifikace o zásilkách, dispatcher o změnách v plánu, manažer o KPI alertech.
- Location-based: Geofencing — notifikace při vstupu/výstupu z oblasti. Proximity — blízko konkrétní pobočky, skladu, zákazníka.
- Behavior-based: Uživatel nedokončil workflow → reminder. Uživatel nepoužil aplikaci 7 dní → re-engagement.
- Preference-based: Uživatel si vybírá kategorie — transakční (vždy), informační (opt-in), marketingové (opt-in).
Kontrola a limity¶
- Frequency capping: Maximální počet notifikací za den/týden. Žádný uživatel nedostane více než X zpráv.
- Quiet hours: Žádné notifikace mezi 22:00-07:00 (konfigurovatelné per uživatel).
- A/B testing: Různé varianty textu, obrázků, timing. Měření open rate a conversion. Automatický výběr vítěze.
Deep linking¶
Universal Links (iOS) a App Links (Android)¶
Standardní HTTP URL, které se otevřou v aplikaci místo v prohlížeči:
https://app.example.com/orders/12345→ otevře detail objednávky v aplikaci- Pokud není aplikace nainstalovaná → otevře se web verze (graceful fallback)
- Apple App Site Association (iOS) a Digital Asset Links (Android) pro ověření vlastnictví domény
- Žádné custom URI scheme (
myapp://) — nespolehlivé, security riziko
Deferred deep linking¶
Uživatel klikne na link, ale nemá aplikaci nainstalovanou:
- Link uloží kontext (campaign, target screen, parametry)
- Redirect na App Store / Google Play
- Uživatel nainstaluje a poprvé spustí aplikaci
- Aplikace načte uložený kontext a otevře správnou obrazovku
Implementace přes Firebase Dynamic Links (deprecated → custom řešení), Branch.io, nebo vlastní attribution service. Clipboard-based fallback pro iOS (s user consent).
Attribution a analytics¶
Každý deep link nese informaci o původu:
- Campaign tracking: UTM parametry → z jaké kampaně uživatel přišel
- Conversion funnel: Klik → instalace → registrace → první akce
- Retention: Uživatelé z deep link kampaní vs. organické instalace
- Revenue attribution: Objednávka vznikla díky push notifikaci s deep linkem?
Transakční notifikace¶
Notifikace vázané na business události — ne marketing, ale operativní informace:
- Potvrzení: Objednávka přijata, platba provedena, registrace dokončena
- Stav: Zásilka odeslána, zásilka doručena, request schválen/zamítnut
- Alerty: Anomálie v systému, SLA breach, security incident
- Reminders: Blížící se deadline, neschválený request, nedokončený workflow
Delivery garantie: Doručení pod 5 sekund. Pro kritické notifikace fallback na SMS (pokud push nedoručen do 60s). Audit trail — kdy odeslána, doručena, přečtena.
Backend infrastruktura: Message queue (RabbitMQ, SQS) pro spolehlivé doručení. Template engine pro konzistentní formátování. Preference service pro respektování uživatelských nastavení. Rate limiter pro ochranu platformních služeb.
Technologický stack¶
Push: APNs (HTTP/2 API), FCM, OneSignal, Amazon SNS.
Deep linking: Universal Links, App Links, Branch.io, Firebase Dynamic Links, custom attribution.
Backend: Node.js/Python push service, RabbitMQ/SQS, Redis (token store), PostgreSQL (preferences, audit).
Analytics: Firebase Analytics, Mixpanel, Amplitude, custom Grafana dashboards.
Testing: Push tester tools, deep link validator, notification preview, A/B testing framework.
Časté otázky
APNs (Apple Push Notification service) je pro iOS, FCM (Firebase Cloud Messaging) pro Android. Oba jsou platformní služby — nelze je obejít. Backend posílá push přes obě služby. Abstrakční vrstva (vlastní nebo Firebase) unifikuje rozhraní.
Soft ask před systémovým dialogem — vysvětlete uživateli, proč chcete posílat notifikace a jakou hodnotu přinesou. Timing: ptejte se po prvním úspěšném use case, ne při prvním spuštění. Granulární kategorie — uživatel si vybere, co chce dostávat.
Ano — deferred deep linking. Uživatel klikne na link, je přesměrován do App Store/Google Play, nainstaluje aplikaci, po prvním spuštění se otevře správná obrazovka. Context přežije instalaci.
Delivery rate, open rate, conversion rate, opt-out rate. A/B testing obsahu a timingu. Kohorty podle segmentu. Všechna data v analytickém dashboardu s trendy.