InAppMessage
data class InAppMessage(val id: String?, val layout: InAppLayout, val maxDisplays: Int?, val cooldownSec: Long?, val expireEpochSec: Long?, val rawJson: String)
A parsed native in-app: the layout, optional opt-in frequency caps, and the raw config JSON. The raw JSON is retained so the presenting Activity can be handed the message by value through an Intent extra (re-parsed on the other side), which survives process death and configuration changes.