I am going to talk about both push notification platforms we used just briefly.
To begin with, we used React Native on the client-side.
And here the story begins.FCM
Firebase Cloud Messaging
is a free cloud service provided by Firebase (Google). It is widely used by both web and mobile developers
to implement notifications into different platforms (Web, Android, iOS).
An interesting FCM feature is Topic messaging. It
allows sending push messages to multiple devices that have opted-in to a particular topic.
It's quite easy here to set receiving notifications on the client-side and sending them from the server-side.In the case of sending push messages to the topic, there is no need to store device tokens.OneSignal
is one more service for mobile (Android, iOS) and web push notifications, email, SMS & in-app messaging
The most interesting features among others are:
1) sending push messages to target large groups of devices directly by data filters
2) personalizing notifications with Tags'Tags'
is something interesting to talk about. But a bit later.TL;DR
If you need 100% push message delivery in every app state
then skip the silent notifications and try alert notifications (also known as notification-only
To notify client about some event in background mode (and if long pool/websocket doesn't suit your purpose), you can try silent notifications.
But! When your app ends up in a killed state such a push message doesn't pop up
(at least within React Native).