Google Interactive Media Ads (IMA) SDK for HTML5 supports Secure Interactive
Media Interface Definition (SIMID) version 1.1. This guide covers the specific
SIMID features and messages that IMA SDK supports.

## Understand creative to player messages

The following table lists the messages that the SIMID creative can send to the
IMA SDK:

| Message | Description |
|---|---|
| `clickThru` | Handles ad clicks based on the URI creative provides. |
| `fatalError` | Terminates the ad session and reports a fatal error from the creative. |
| `getMediaState` | Returns the current state of the media player including URI, currentTime, duration, volume, and muted status. |
| `log` | Forwards creative log messages to IMA SDK for debugging. |
| `reportTracking` | Requests IMA SDK to ping tracking URLs on behalf of the creative. |
| `requestChangeAdDuration` | Requests to modify the total duration of the ad session. |
| `requestNavigation` | Requests navigation to an external URI. |
| `requestPause` | Requests that IMA SDK pause the media player. |
| `requestPlay` | Requests that IMA SDK resume or play the media player. |
| `requestResize` | Requests to resize the video player. If the player allows resizing, IMA SDK resizes the player. |
| `requestSkip` | Requests that the SDK skip the current ad. |
| `requestStop` | Requests that the SDK stop the ad session. |
| `handleSkipShown` | Notifies IMA SDK that the creative has displayed the ad skip UI. |
| `requestFocus` | Requests focus for the creative's iframe. |

### Review unsupported creative to player messages

IMA SDK doesn't handle the following `CreativeMessage` types:

- `requestChangeVolume`
- `requestFullscreen`
- `requestExitFullscreen`

## Understand player to creative messages

The following table lists messages the IMA SDK supports sending to the SIMID
creative:

| Message | Description |
|---|---|
| `init` | Sent during session setup with environment data and ad parameters. |
| `startCreative` | Notifies the creative to initiate and display the creative iframe. |
| `adStopped` | Notifies that the ad session has ended, including a reason code. |
| `adSkipped` | Notifies the creative that the user or IMA SDK skipped the ad. |
| `resize` | Notifies the creative of player or video dimension changes. |
| `appBackgrounded` | Notifies the creative that the application has entered the background. |
| `appForegrounded` | Notifies the creative that the application has returned to the foreground. |
| `fatalError` | Notifies the creative of a player-side error. |
| `log` | Sends log messages from the player to the creative. |
| `focusIn` | Notifies that the creative has received focus. |

### Review media state updates

IMA SDK sends `mediaStateUpdate` messages to the creative for the following
events:

- `play`
- `pause`
- `stalled` (buffering)
- `seeking`
- `seeked`
- `ended`
- `durationchange`
- `timeupdate`, periodically.
- `volumechange` including mute status.