When a message from CleverPush is successfully delivered to the device manufacturer (e.g. Google, Apple), it is listed as “Sent” in the statistics. From now on, the device manufacturer is responsible for distributing the message to the devices. When the message arrives at the device, it is processed by our SDKs and marked as “delivered”.
The following reasons can ensure that the message is displayed as sent but not as delivered in CleverPush and may therefore not have been displayed on the device.
Devices must have an active internet connection to receive push notifications. If the device is offline, in flight mode or has an unstable internet connection, the push message is only displayed when the connection is stable.
It is also important to note the set expiration date. By default, this is 28 days, but can be defined per push message and also globally in the CleverPush channel settings. If the device is offline longer than the defined expiration date, the message will no longer be displayed when the device comes back online.
In addition, it can happen that the device has lost the connection to the Apple or Google servers. We recommend deactivating the Internet connection on the device and then reactivating it.
iOS: If the device was offline and now goes online again, only the last push message sent is received by the device. Unfortunately, Apple has this limitation, see the APNS developer docs.
Another possibility is that the device does not match the segments, tags or topics of the recently sent messages. It is advisable to locate the device in CleverPush under Channels -> Subscriptions in the subscription list. You can then see which segments etc. the device has in the subscription profile. If the device has no segments, it only receives messages that were sent without segmentation, i.e. to all users.
Push notification device settings
In the system settings of the device under Notifications -> (App Name) push notifications for the app can be completely deactivated. Here it is important to ensure that the necessary settings are all allowed.
Energy saving mode
Some devices have special energy saving rules that can either prevent the delivery of push messages or reduce the number of messages displayed.
Android: In the settings, search for:
- Energy saving mode or Battery – When “Battery Saver” and/or “Restrict Apps and Start Screen” is enabled, receiving all background activity (push notifications) will be restricted.
- Adaptive Battery – When enabled, the device will automatically turn on or off “Low Power Mode” based on usage patterns.
- Battery optimization or Background Usage Restrictions – Background features (such as push notifications) are limited for battery-optimized apps. Make sure your app is not optimized.
iOS: If the device is in energy-saving mode (recognizable by the yellow battery symbol at the top right), the number of notifications sent by the system can be throttled.
App was force-killed (Android)
When an app is in the Force Stopped / Force Killed state, most events, including FCM events for push notifications, are not received. An app can be brought into this state in the following ways.
- In Settings > Apps, “Force stop” is pressed.
- Long press the back button on some devices.
- Using a third-party task killer like Hibernator or Greenify.
- Automatically on some devices due to custom Android tweaks made by manufacturers. This is a known issue that affects all push providers. The website dontkillmyapp.com contains instructions for all common manufacturers on how to solve the problem on the device.
Do not disturb mode
Do not disturb mode ensures that notifications do not appear on the lock screen, but are still visible in the notification center.