This guide walks you through a minimal Pulsate integration. Budget about 20 minutes.
The four required steps
- Install the SDK — add the Maven Central dependency and your App ID / App Key.
- Start a session — start the first Pulsate session for your user; every future session is automatic.
- Configure push notifications — connect Firebase Cloud Messaging so Pulsate can send pushes.
- Request permissions — ask the user for notification permission (and location permission if you use geofencing).
After these four steps you can send your first campaign from the Pulsate CMS.
Recommended next steps
- Show the Feed — give users access to their message feed.
- Pass user data — names, emails, and phone numbers unlock personalization.
- Send custom attributes and custom events — power segmentation and event-triggered campaigns.
- Set up deeplinks — let campaigns open specific screens in your app.
Minimal integration at a glance
// 1. Application class — initialize with your credentials
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
PulsateFactory.getInstance(PulsateAuthData(APP_ID, APP_KEY))
}
}
// 2. First screen after login — start the session for your user
val pulsateManager = PulsateFactory.getInstance()
pulsateManager.startPulsateSessionForAlias(
"unique-user-id-in-your-system",
object : IPulsateRequestListener {
override fun onSuccess() { /* session started */ }
override fun onError(e: Throwable?) { /* handle error */ }
},
)
Do not start a session from
Application.onCreate()— Pulsate needs an Activity on screen. Start it from your first Activity or Fragment instead. See Sessions.

