_CORE
AI & Agentic Systems Core Information Systems Cloud & Platform Engineering Data Platform & Integration Security & Compliance QA, Testing & Observability IoT, Automation & Robotics Mobile & Digital Banking & Finance Insurance Public Administration Defense & Security Healthcare Energy & Utilities Telco & Media Manufacturing Logistics & E-commerce Retail & Loyalty
References Technologies Blog Know-how Tools
About Collaboration Careers
CS EN
Let's talk

Push Notifications & Deep Links

Relevant notifications. Direct path into the app.

We build notification systems that deliver the right message at the right time — and deep links that take users exactly where they need to go.

>98%
Delivery rate
<5s
Delivery latency
>95%
Deep link success
>70%
Opt-in rate

Push Notifications — Direct Channel to the User

Push notifications are the most direct way to reach a mobile app user. But only if used correctly. Irrelevant spam = uninstall. Relevant, contextual notification at the right time = engagement and actionability.

We build notification infrastructure from the backend to device display. Not “we’ll send a push” — but “we’ll deliver the right message to the right user at the right moment.”

Platform Push Services

APNs (Apple Push Notification service)

iOS requires communication exclusively through APNs. No alternative, no workaround.

  • Token-based authentication: JWT token with P8 key. Simpler management than certificate-based, no certificate expiration.
  • Priority levels: Immediate (10) for visible notifications, energy-efficient (5) for background updates.
  • Silent push: Wakes the app in the background without displaying a notification. Ideal for background data sync, content pre-fetching.
  • Expiration: Configurable expiration — if the device is offline, APNs holds the notification and delivers it after reconnection (until expiry).

FCM (Firebase Cloud Messaging)

Android standard for push notifications. Firebase as abstraction layer.

  • Notification vs Data message: Notification messages are displayed automatically by the system. Data messages are processed by the app — full control over display, timing, custom UI.
  • Topic messaging: Subscribe to a topic (topic_orders, topic_alerts), backend sends to topic — FCM distributes. More efficient than individual pushes for broadcast scenarios.
  • Channels (Android 8+): Notification channels with custom sound, vibration, LED. User can control granularly — mute marketing, keep transactional.

Rich Notifications

Notifications are not just text. Rich notifications add visual and interactive elements:

Content

  • Images: Shipment preview, product, map with location. Up to 10MB on iOS (Notification Service Extension downloads image).
  • Action buttons: “Confirm delivery”, “Reject”, “View details” — actions directly from the notification without opening the app.
  • Custom UI (iOS): Notification Content Extension for custom layout — progress bar, map, interactive elements.
  • Expandable (Android): BigTextStyle, BigPictureStyle, InboxStyle, MessagingStyle — different layouts for different content types.

Interaction

  • Inline reply: Reply directly from the notification (chat, comments).
  • Quick actions: Predefined actions — approve/reject, assign/escalate.
  • Dismissal tracking: Analytics even for dismissed notifications — what the user ignores.

Segmentation and Personalization

Mass blasting all users is an anti-pattern. Effective notifications are targeted:

Segmentation

  • Role-based: Driver gets notifications about shipments, dispatcher about schedule changes, manager about KPI alerts.
  • Location-based: Geofencing — notification on entry/exit from an area. Proximity — near a specific branch, warehouse, customer.
  • Behavior-based: User didn’t complete a workflow → reminder. User hasn’t used the app in 7 days → re-engagement.
  • Preference-based: User selects categories — transactional (always), informational (opt-in), marketing (opt-in).

Control and Limits

  • Frequency capping: Maximum number of notifications per day/week. No user receives more than X messages.
  • Quiet hours: No notifications between 10pm-7am (configurable per user).
  • A/B testing: Different variants of text, images, timing. Measuring open rate and conversion. Automatic winner selection.

Deep Linking

Standard HTTP URLs that open in the app instead of the browser:

  • https://app.example.com/orders/12345 → opens order detail in the app
  • If the app is not installed → the web version opens (graceful fallback)
  • Apple App Site Association (iOS) and Digital Asset Links (Android) for domain ownership verification
  • No custom URI schemes (myapp://) — unreliable, security risk

Deferred Deep Linking

User clicks a link but doesn’t have the app installed:

  1. Link saves context (campaign, target screen, parameters)
  2. Redirect to App Store / Google Play
  3. User installs and launches the app for the first time
  4. App loads the saved context and opens the correct screen

Implemented via Firebase Dynamic Links (deprecated → custom solution), Branch.io, or a custom attribution service. Clipboard-based fallback for iOS (with user consent).

Attribution and Analytics

Every deep link carries information about its origin:

  • Campaign tracking: UTM parameters → from which campaign the user came
  • Conversion funnel: Click → install → registration → first action
  • Retention: Users from deep link campaigns vs. organic installs
  • Revenue attribution: Did an order originate from a push notification with a deep link?

Transactional Notifications

Notifications tied to business events — not marketing, but operational information:

  • Confirmation: Order received, payment made, registration completed
  • Status: Shipment sent, shipment delivered, request approved/rejected
  • Alerts: System anomaly, SLA breach, security incident
  • Reminders: Approaching deadline, unapproved request, incomplete workflow

Delivery guarantee: Delivery under 5 seconds. For critical notifications fallback to SMS (if push not delivered within 60s). Audit trail — when sent, delivered, read.

Backend infrastructure: Message queue (RabbitMQ, SQS) for reliable delivery. Template engine for consistent formatting. Preference service to respect user settings. Rate limiter to protect platform services.

Technology 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) is for iOS, FCM (Firebase Cloud Messaging) for Android. Both are platform services — they cannot be bypassed. The backend sends pushes via both services. An abstraction layer (proprietary or Firebase) unifies the interface.

Soft ask before the system dialog — explain to the user why you want to send notifications and what value they'll provide. Timing: ask after the first successful use case, not at first launch. Granular categories — the user chooses what they want to receive.

Yes — deferred deep linking. The user clicks a link, is redirected to the App Store/Google Play, installs the app, and on first launch the correct screen opens. Context survives installation.

Delivery rate, open rate, conversion rate, opt-out rate. A/B testing of content and timing. Cohorts by segment. All data in an analytics dashboard with trends.

Máte projekt?

Pojďme si o něm promluvit.

Domluvit schůzku