Do you know the Push Notification Flow?


The diagram above describes the flow when a push notification is received in iOS or Android.

The methods described belong to each of the native APIs in iOS and Android and the platform used to send the messages in FCM (Firebase Cloud Messaging).

The flow seems to be a bit intimidating due to the different scenarios to consider; however, most are the same and are generated according to the following conditions:

  • Status of the application when the push notification reaches the device (foreground, background, or closed).
  • The type of operating system, that is, on iOS or Android.
  • The types of payloads that make up the message sent by the message server.

Of course, for solutions that use other types of hybrid technologies such as Cordova, React, Ionic or Flutter, the invoked methods change, but the conditions remain.

How are the flows verified?

The best way to check the different statuses of notification is through some valuable tools to apply testing to push notification messages. In the chapter called Testing Tools for Push Notifications in my book Push Notification HandBook for iOS and Android, the use of some is described.
To mention a few:
  • Firebase Notification Compose
  • FCM Legacy API with Postman
  • Push Notification Utility App

With these tools, the message's status can be validated from its sending by the notification server (which could be a microservice available with NodeJS and published in GCP or AWS) until its reception in the APP view.
Thus, we can verify a correct store's configurations, projects' configurations, and integrations of the APP side.
Additionally, a strategy has served me quite well to monitor the message from the APP side that I have called "Debugging hooks notification" and that I also describe in the book.

It consists of registering simply through Firebase, the hook methods of the push notifications mechanism.

It is correct, taking into account that this type of message integration is decoupled and asynchronous with the APP in different states, even in states where the application is closed, and the message needs to be tracked.


There is no doubt that well-managed and implemented Push Notifications type messages represent a great multi-purpose tool for users to trust through the APP. An instant message is announced, a statement is immediately alerted, and many other relevant applications the business. Knowing the flow of notifications and expected scenarios will save a lot of time both in implementation and detecting unexpected or undetected bugs in certification and testing cycles.
Next Post »
Thanks for your comment