Push Notifications allow receiving alerts in Native Mobile applications from our remote servers (web applications) even when the Native Mobile applications are not running. This mechanism describes a style of communication where the request for a given transaction is initiated by the publisher or central server. It is usually contrasted with Pull communications.
In the Native Mobile arena, this is an essential piece to create effective communication between devices and server-side applications.
The basic idea is that after the Server knows its clients, it is able to send dedicated messages or broadcast a general message to all of them. The canonical case is an Email Client Application, which receives notifications from the server side every time a new message arrives at the Inbox.
Each Native Mobile platform has its own technology to implement this mechanism, Apple has the Apple Push Notifications Service (APNS) and Google has Firebase Cloud Messaging (Google Cloud Messaging has been deprecated as of April 10, 2018).
In addition, there are some Notifications Providers, which provide interfaces that can be used by the applications to easily set up and use Push Notifications for all mobile platforms in a scalable and portable way. Some of these Notification Providers are One Signal and JPush (Chinese provider).
There are four main components:
- Native Mobile Application, which will be the "client-side" (receiver) of the Push Notification messages.
- Web Application, which will be the "server-side" (sender) of the Push Notification messages.
- Push Notification Service, an external resource that provides Push Notification delivery for each platform.
- Notification Provider, an external resource that provides an interface to easily interact with the Push Notification Services.
Want to know how to include Push Notifications in GeneXus-generated Smart Device applications?