In-app notifications (IANs) are messages shown while the user is inside your app. They come in two shapes:
- Small in-app — a banner (like a Snackbar) at the top or bottom of the screen. Shows for 12 seconds by default.
- Big in-app — a full-screen popup with up to two buttons, launched in its own Activity.
Both are built in the Pulsate CMS campaign builder; no app code is needed to display them.
Delivery model
- Pulsate delivers one in-app notification per session. During session start, the SDK downloads at most one pending IAN and displays it.
- If several IANs are queued for a user, they arrive one per app open — the user gets the next one on the next session.
- An IAN sent while the user is actively using the app is not shown immediately; it appears at the next app launch.
- If an IAN can't be displayed (no eligible screen), the SDK retries for about a minute, then records an
IN_APP_BOUNCEDevent. The bounced message can be re-shown later withshowLastInAppNotification()(see Controlling In-Apps).
Theming
Colors of both IAN types are customizable via colors.xml — see Theming.
Controlling delivery
You can disable IANs per user (e.g. until login), change the small-IAN duration, and re-show blocked messages — see Controlling In-Apps.

