Supported on: Android SDK
1.0.33+How It Works
- You create an in-app message in the Console with content, layout, and trigger rules.
- The message definition is synced to the SDK via the config bundle.
- On every
track()call (including auto-tracked events), the SDK evaluates all active message triggers. - If conditions match, the message is presented automatically.
In-app messages are fully server-driven. You can change the message content, trigger rules, and audience without an app update.
Message Types
Triggers
Messages trigger based on events and optional conditions, configured in the Console:- Event match — e.g., trigger on
workout_completed - Property conditions — e.g.,
duration >= 30 - Frequency —
once,once_per_session, orevery_time - Delay — wait N seconds after the trigger event before showing
Module Access
Module Methods
Suppressing Messages
Suppress messages during critical flows like checkout or onboarding to avoid interrupting the user:AppDNAInAppMessageDelegate
All 4 methods on this delegate fire fromMessageManager for every in-app message lifecycle event. Register your delegate via AppDNA.inAppMessages.setDelegate(...).
shouldShowMessage is a true veto. The SDK calls it BEFORE constructing the view or tracking the in_app_message_shown analytics event. If you return false, the message is suppressed entirely — no view, no analytics. The interface’s default implementation returns true, so hosts that don’t implement this method continue to see all messages.
Implement the delegate to respond to message lifecycle events:
Example Implementation
Rich Media
In-app messages support rich media content configured in the Console:- Lottie animations — animated hero images or backgrounds
- Video — inline video with optional autoplay and looping
- Icon buttons — CTA buttons with icon references (Lucide, Material, or emoji)
- Haptic feedback — triggered on message display or button taps
- Particle effects — confetti, sparkles, or other effects on message actions
- Blur backdrop — glassmorphism-style blurred background for modals
Auto-Tracked Events
Full Example
In-app messages are created in the Console under Engagement > In-App Messages. Design the message, set trigger rules, and publish. The SDK handles everything else.

