Configure Marketing Cloud Engagement
Runtime Toggles
Listen for Events
Track View States
Prevent or Delay Display
Customize Fonts
Set the Status Bar Color
Button Action Methods
Event Tracking
Handle URLs
Data Protection and Privacy
Changelog
Control message display and get information about the in-app message display lifecycle by using the in-app messaging EventListener.
After the SDK initializes, register your in-app message EventListener with InAppMessageManager.
Use this code to register an event listener in version 11 of the SDK for Android.
1// Set at configuration time
2SFMCSdk.configure(applicationContext as Application, SFMCSdkModuleConfig.build {
3 inAppMessagingFeatureModuleConfig = InAppMessagingFeatureConfig.builder().apply {
4 setEventListener(object : InAppMessageManager.EventListener {
5 override fun shouldShowMessage(message: InAppMessage): Boolean {
6 return if (shouldShowMessage /* Your Custom logic confirming to show in-app message */) {
7 true
8 } else {
9 // Store message id for later
10 val blockedMessageId = message.id
11 false
12 }
13 }
14 override fun didShowMessage(message: InAppMessage) = Unit
15 override fun didCloseMessage(message: InAppMessage, action: InAppMessageCloseAction) = Unit
16 })
17 }.build()
18})
19
20// Or set at anytime after configuration
21InAppMessagingFeature.requestSdk { inAppMessagingFeatureModule ->
22 inAppMessagingFeatureModule.getInAppMessageManager().setInAppMessageListener(...)
23}Use this code to register an event listener in version 10 of the SDK for Android.
1MarketingCloudSdk.requestSdk { engagementSdk ->
2 engagementSdk.inAppMessageManager.setInAppMessageListener(object :
3 InAppMessageManager.EventListener {
4 override fun shouldShowMessage(message: InAppMessage): Boolean {
5 return if (shouldShowMessage /* Your Custom logic confirming to show in-app message */) {
6 true
7 } else {
8 // Store message id for later
9 val blockedMessageId = message.id
10 false
11 }
12 }
13 override fun didShowMessage(message: InAppMessage) = Unit
14 override fun didCloseMessage(message: InAppMessage) = Unit
15 })
16}Use this code to register an event listener in version 8 of the SDK for Android.
1SFMCSdk.requestSdk { sdk ->
2 sdk.mp {
3 it.inAppMessageManager.setInAppMessageListener(object : InAppMessageManager.EventListener {
4 override fun shouldShowMessage(message: InAppMessage): Boolean {
5 return if (shouldShowMessage /* Your Custom logic confirming to show in-app message */) {
6 true
7 } else {
8 // Store message id for later
9 val blockedMessageId = message.id
10 false
11 }
12 }
13 override fun didShowMessage(message: InAppMessage) = Unit
14 override fun didCloseMessage(message: InAppMessage) = Unit
15 })
16 }
17}Use this code to register an event listener in version 7 of the SDK for Android.
1MarketingCloudSdk.requestSdk { sdk ->
2 sdk.inAppMessageManager.setInAppMessageListener(object : InAppMessageManager.EventListener {
3
4 override fun shouldShowMessage(message: InAppMessage): Boolean {
5
6 return if (shouldShowMessage /* Your Custom logic confirming to show in-app message */) {
7 true
8 } else {
9 // Store message id for later
10 val blockedMessageId = message.id()
11 false
12 }
13 }
14
15 override fun didShowMessage(message: InAppMessage) = Unit
16 override fun didCloseMessage(message: InAppMessage) = Unit
17 })
18}