Push setup
Chumbaq sends through your own Firebase Cloud Messaging and Apple Push Notification service credentials. Nothing about your push setup moves.
Credentials
- Android and web: a Firebase service account for your Firebase project.
- iOS: your APNs key or certificate.
Add both to your Chumbaq project. They're used only to send your messages.
The four engagement events
Each one is a different column of a campaign's report.
| Event | When |
|---|---|
delivered | The device took the message |
impression | The user could actually see it |
click | They tapped it, or one of its buttons |
dismissed | They swiped it away |
A push that arrives while notifications are blocked is delivered and never seen, so click-through is measured against impressions, not deliveries.
Rich notifications on iOS
Only app extensions can draw on an iOS notification, so images, carousels and countdowns need two targets in your app. The SDK supplies their contents.
| Extension | Adds | Entry point |
|---|---|---|
| Notification Service | The image and the action buttons | ChumbaqNotificationService.populate(_:withContentHandler:) |
| Notification Content | Carousels and countdowns | ChumbaqNotificationContent.makeView(for:) |
aps must carry mutable-content: 1, or iOS never wakes the extension and the push arrives plain.Rich notifications on Android
ChumbaqMessagingService renders images, carousels, countdowns (API 24+) and action buttons (Android shows at most three). To handle messages yourself, subclass it:
class MyMessagingService : ChumbaqMessagingService() {
override fun onChumbaqMessage(message: RemoteMessage): Boolean {
// …handle it; true means "do not show the default notification"
return true
}
override fun onChumbaqTokenRefresh(token: String) {
// The Chumbaq backend has already been told.
}
}The fallback chain is carousel, then image, then plain, so rich campaigns still arrive on devices that can't draw them.
Dead tokens
When FCM or APNs reports a token as unregistered, Chumbaq switches it off, so your audience counts and delivery rates stay honest.