Skip to main content

Available providers

Apple APNs

Firebase FCM

Expo

OneSignal

Airship

Amazon SNS

Pusher Beams

Pusher

MagicBell

Pushbullet

Beamer

NowPush

Amazon SNS also sends . Apple APNs and Firebase FCM are the two the register device tokens for.
Can’t find a provider? Start a chat on the Courier site, or email support@courier.com

Channel overrides

covers the two levels and which one wins. These are the fields a push channel override accepts, whichever provider sends.

Tracking

Courier attaches a trackingUrl to every push request. Posting to it updates the notification’s state. The do this for you. To do it manually:

Example message

Example request

event is DELIVERED or CLICKED.

Provider-specific tracking

Each provider puts the trackingUrl somewhere different in the payload your app receives:

Targeting specific devices

If a user has tokens from more than one app, target a subset at send time. Use it for per-platform notifications, or when several apps share one provider project. The already tag every token they register with the app’s own identifier, the bundle id on iOS and the package name on Android. Nothing to set up, so the only thing you write is the filter.

Filter tokens at send time

Pass filterByBundleId and bundleId in the provider override to send only to tokens whose device.app_id matches:
Use the bundle id of the app whose devices you want, com.acme-corp.app above. If bundleId matches none of the user’s tokens, the message is not delivered to that provider. The same override structure works for any push provider:
Filtering reads the tokens Courier manages, whether an SDK registered them or your backend did. A token passed inline in to, such as firebaseToken or apn.token, carries no device record and bypasses the filter.
Registering tokens from your backend rather than through an SDK? Set device.app_id yourself on the write. has that call.
Custom data not reaching the device? data maps into the push payload by default. covers the v1 template setting that can stop it.