class SampleApplication : Application(), Batch.Messaging.LifecycleListener {
override fun onCreate() {
super.onCreate()
Batch.Messaging.setLifecycleListener(this)
}
override fun onBatchMessageShown(messageIdentifier: String?) {
Log.i("App", "onBatchMessageShown $messageIdentifier")
}
override fun onBatchMessageActionTriggered(
messageIdentifier: String?,
ctaIdentifier: String?,
action: BatchMessageAction
) {
Log.i("App", "onBatchMessageActionTriggered $messageIdentifier")
//For MEP messages, ctaIdentifier might be "mepCtaIndex:0", "mepCtaIndex:1", etc.
}
override fun onBatchMessageClosed(
messageIdentifier: String?,
reason: Batch.Messaging.LifecycleListener.MessagingCloseReason?
) {
Log.i("BatchSample", "onBatchMessageClosed $messageIdentifier with reason $reason")
when(reason) {
MessagingCloseReason.Auto -> Log.i("App",
"onBatchMessageCancelledByAutoclose $messageIdentifier"
)
MessagingCloseReason.User -> Log.i("App",
"onBatchMessageCancelledByUser $messageIdentifier"
)
MessagingCloseReason.Action -> Log.i("App",
"onBatchMessageCancelledByAction $messageIdentifier"
)
MessagingCloseReason.Error -> Log.i("App",
"onBatchMessageCancelledByError $messageIdentifier"
)
}
}
}