Skip to content

Journey of a push notification

A push notification goes through three stages: Reskyt, the operating system’s notification provider (Google or Apple), and the device. This page describes each stage and who is responsible for it.

Diagram of a push notification journey: send origin, API, sending service and batch delivery in Reskyt, then Google FCM or Apple APNs, and finally the phone

  1. The send is created. The origin can be the backoffice, the push API or an automation. Reskyt resolves which devices it goes to based on the audience (for example zone, country or language) and, by default, only to those with notifications enabled.
  2. Delivery is prepared. A sending service fixes the audience, splits it into batches and distributes them by operating system using queues.
  3. It is handed to the provider. Reskyt hands each notification to Firebase Cloud Messaging (FCM) on Android or to the Apple Push Notification service (APNs) on iOS. Reskyt does not communicate directly with the phone.
  4. The provider delivers it to the phone. The device receives it over its own connection to Google or Apple. The app displays it and, when tapped, opens the indicated URL. The notification is also kept in the app’s inbox.

Each send is recorded with the number of notifications sent and failed, and can be consulted from the backoffice.

StageResponsibleWhat it includes
Origin, API, sending service and hand-off to the providerReskytAudience resolution, batches, queues and send record
Delivery to the deviceGoogle and AppleFCM on Android, APNs on iOS
Device connectionDevice and the user’s networkWi-Fi or mobile data, firewall, VPN

If the phone has no connection at the time of the send, later delivery depends on the provider’s retention policy and on the notification’s expiry. See push troubleshooting.

The phone connects to Google or Apple over whichever network it is on. A corporate Wi-Fi, a firewall or a VPN can block that connection, so the same notification may arrive over mobile data or a home Wi-Fi and not over the corporate network. This is the first thing to rule out when testing notifications in a company environment.

According to each provider’s documentation, these are the outbound ports the device needs:

PlatformProviderPorts
AndroidGoogle FCM5228, 5229 and 5230
iOSApple APNs5223, with 443 as an alternative if the device cannot reach APNs on 5223

References: FCM, troubleshooting and Apple, enterprise networks. These values are defined by each provider and may change.

For a test notification to reach a phone connected to a corporate network, the customer’s network team must allow those connections. How to send a test: test push notifications.