Pulsate delivers push notifications through Firebase Cloud Messaging (FCM). This page connects your Firebase project to Pulsate.
Step 1 — Create (or open) your Firebase project
Go to the Firebase Console and create a project — or open the one your app already uses.
Step 2 — Register your Android app
In the Firebase project, add an Android app using the package name from your AndroidManifest.xml. Download the generated google-services.json and place it in your app module root (app/google-services.json), and apply the com.google.gms.google-services Gradle plugin if you haven't already.
Step 3 — Give Pulsate your FCM credentials
Pulsate's servers need permission to send messages through your Firebase project. FCM authorizes this with a service account key:
- In the Firebase Console open Project Settings → Service accounts.
- Click Generate new private key — this downloads a service-account JSON file.
- In the Pulsate CMS, open your app's push settings (Settings → App Settings) and upload the JSON file.
The service-account JSON is a credential — share it only through the CMS upload, never by email or chat.
Step 4 — Forward FCM callbacks (only if you have your own FirebaseMessagingService)
The SDK ships its own FirebaseMessagingService, so if your app doesn't implement one, there is nothing to do — Pulsate pushes just work.
If your app does implement its own FirebaseMessagingService (e.g. for other push providers), forward both callbacks to Pulsate:
class MyFirebaseMessagingService : FirebaseMessagingService() {
override fun onMessageReceived(remoteMessage: RemoteMessage) {
val pulsateManager = PulsateFactory.getInstance()
if (pulsateManager.onMessageReceived(remoteMessage)) {
// It was a Pulsate push — Pulsate handled it.
return
}
// Not a Pulsate push — handle it yourself.
handleMyOwnMessage(remoteMessage)
}
override fun onNewToken(token: String) {
super.onNewToken(token)
PulsateFactory.getInstance().onNewToken(token)
}
}
onMessageReceived returns true when the payload came from Pulsate and was handled, false otherwise.
Step 5 — Set your notification icon
Notifications use a small status-bar icon that must live in your app. See Notification Icons — without one, Android shows a default bell icon.
Verify
- Build and run the app on a device, start a session.
- Send a test campaign with a push from the Pulsate CMS.
- The push should arrive within seconds; tapping it should open your app.
If pushes don't arrive, check that notification permission is granted (Notification Permission) and that the device appears in the Pulsate CMS user list.

