Skip to content

Controlling In-App Notifications

In-app notifications (IANs) are enabled by default. All controls below are per-alias — different users on the same device can have different settings.

The classic use case: block IANs until the user has logged in, so a full-screen popup never covers your login form.

val pulsateManager = PulsateFactory.getInstance()
// Before login:
pulsateManager.setInAppNotificationEnabled(false)
// After login:
pulsateManager.setInAppNotificationEnabled(true)
pulsateManager.showLastInAppNotification() // deliver what was blocked (see below)

Check the current state:

pulsateManager.isInAppNotificationEnabled(object : IPulsateValueListener<Boolean> {
override fun onSuccess(value: Boolean) { /* ... */ }
override fun onError(e: Throwable) { }
})

showLastInAppNotification() displays the most recent IAN that was blocked while IANs were disabled. It shows the message even if IANs are currently disabled — call it right after re-enabling:

pulsateManager.setInAppNotificationEnabled(true)
pulsateManager.showLastInAppNotification()

There is also reshowLastInApp(), which repeats the last in-app message that was already shown — useful for QA/debug screens.

Small (banner) IANs display for 12 seconds by default. To change it:

val pulsateManager = PulsateFactory.getInstance()
pulsateManager.setSmallInAppNotificationDuration(8) // seconds

Read it back:

pulsateManager.getSmallInAppNotificationDuration(object : IPulsateValueListener<Int> {
override fun onSuccess(value: Int) { /* seconds */ }
override fun onError(e: Throwable) { }
})