Silent push notifications allow background updates without interrupting the user. They are automatically handled within the SDK but can be customized for specific use cases.
Android SDK
A Dengage silent push uses the same payload as a normal push. The only difference is messageSource.
messageSource Type | Notification UI |
|---|---|
DENGAGE | Normal push — Yes |
DENGAGE_SILENT | Silent push — No |
showDengageNotification — what it actually does
showDengageNotification — what it actually doesDengageUtils.showDengageNotification(remoteMessage.data) is a Dengage SDK method. Despite its name, it does not display a notification by itself. It only checks whether messageSource is "DENGAGE" and, if so, routes the payload into Dengage.onMessageReceived(), where the SDK builds and posts the tray notification from the data fields (title, message, etc.).
Per our Silent Push documentation, a Dengage silent push uses the same payload structure as a normal push. The only difference is that messageSource is DENGAGE_SILENT. Such pushes are not intended to show notification UI. In the default Android SDK flow, showDengageNotification returns false for DENGAGE_SILENT, so they do not enter the Dengage notification-display path unless the app manually routes them there.
Empty-looking notifications — not a Dengage issue
For DENGAGE_SILENT pushes, the Dengage SDK does not display any notification. If an empty-looking notification appears on the device, it was most likely displayed by:
- Another push provider integrated in the app, or
- Custom app code in the FCM service / notification handler that posts a notification independently of Dengage.
The Dengage SDK cannot be responsible for notifications it never processes.
Before investigating Dengage, verify:
- Whether
messageSourceis actuallyDENGAGE_SILENT(Dengage skips these by default). - Whether any other provider or custom
onMessageReceivedlogic is posting a notification for the same FCM message. - Whether the FCM payload contains a
notificationblock that Android may auto-display when the app is in the background.
Recommendations
- Verify
messageSourceon every incoming push. - Handle silent pushes as data-only — do not call the normal notification flow.
- Confirm
titleandmessageare present for any Dengage push meant to be visible (messageSource = "DENGAGE").
How to identify a silent push
Read messageSource from the FCM data payload:
fun isSilentDengagePush(data: Map<String, String?>): Boolean =
data["messageSource"] == "DENGAGE_SILENT"
fun isNormalDengagePush(data: Map<String, String?>): Boolean =
data["messageSource"] == "DENGAGE"SDK behavior
| Condition | SDK action |
|---|---|
messageSource == "DENGAGE" | Shows notification |
messageSource == "DENGAGE_SILENT" | Skipped — no notification |
| Other / missing | Ignored by SDK |
Implementation
Route pushes in your FCM service by messageSource:
class MyFcmService : FcmMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
when (remoteMessage.data["messageSource"]) {
"DENGAGE_SILENT" -> handleSilentPush(remoteMessage.data)
"DENGAGE" ->
super.onMessageReceived(remoteMessage)
else -> { /* non-Dengage push */ }
}
}
private fun handleSilentPush(data: Map<String, String?>) {
// Sync data, refresh cache, etc. — no notification UI
}
}Testing checklist
- Backend sends the correct
messageSource(DENGAGEorDENGAGE_SILENT) DENGAGE→ notification visibleDENGAGE_SILENT→ no notification UI from Dengagetitleandmessagepresent for visible Dengage pushes- No other provider or custom code posting notifications for silent pushes
iOS
On iOS, silent push notifications are automatically handled by the operating system. No extra configuration is needed.
How to Access and Enable Silent Push
Step 1: Navigate to Application Settings
- Go to Settings > Integrations > Applications.
Step 2: Create or Edit an Application
- To create a new application:
- Click the New button.
- Choose the application type (iOS, Huawei, or Android).
- To edit an existing application:
- Select an existing application from the list and edit.
Step 3: Enable Silent Push
- Under the Push Notifications section, ensure that Push Notifications are enabled.
- Check the Uninstall Tracking option to enable Silent Push.



Step 4: Save Changes
- Click Save to apply the settings.
When Uninstall Tracking is enabled under Push Notification, a silent push is sent at night. Devices that have uninstalled the app are detected during the nightly calculation, and their statuses are updated accordingly.