/preload through to the user clicking through. You subscribe via onEvent (or the platform-specific equivalent — a Combine publisher on Swift, a Flow on Kotlin, etc.) and react however your app needs.
This page lists every event in one place. For the exact API on a given platform, see the SDK pages.
Three stages, one stream
All events arrive on a single stream, but it helps to know which stage each one belongs to:- After
/preloadreturns — the SDK has decided whether an ad will be available for the current assistant message. Firesad.filled,ad.no-fill, orad.error. - While the ad renders — the iframe starts streaming content and finishes. Fires
ad.render-started,ad.render-completed, andad.height(when the iframe reports its size). - As the user interacts — fires
ad.viewedonce the MRC viewability standard is met,ad.clickedon tap-through, and (for video / rewarded creatives)video.started,video.completed,reward.granted.
Reference
The exact field names per platform live on the SDK pages — they all carry the same semantics, just under their language-native casing.
Where to next
Displaying ads
Where these events come from in the rendering flow.
Pacing
What happens to events when you suppress ads for a turn.
Compliance
The OMID standard behind
ad.viewed and per-SDK certification status.Debugging
onDebugEvent and server-side debug forwarding for deeper insight.