Select platform: [HTML5](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/html5/compatibility.md.txt "View this page for the HTML5 platform docs.") [Android](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/android/compatibility.md.txt "View this page for the Android platform docs.") [iOS](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/ios/compatibility.md.txt "View this page for the iOS platform docs.") [tvOS](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/tvos/compatibility.md.txt "View this page for the tvOS platform docs.") [Cast](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/cast/compatibility.md.txt "View this page for the Cast platform docs.") [Roku](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt "View this page for the Roku platform docs.")

<br />

This page provides general information on IMA DAI support and compatibility
for browsers, video formats, and platforms.

## Supported video formats and browsers

HTML5 is still a new and evolving standard. As a result, support for various
features differs among browsers, and there is no single default video format
supported by all major browsers. The three main video formats used in the
majority of browsers are H.264, HLS, and Dash.

## VAST event compatibility

This section lists the VAST events that are automatically reported to the
server based on the information returned in the VAST response.

### Fully supported

`complete`, `creativeView`,
`firstQuartile`, `impression`, `midpoint`,
`pause`, `resume`, `rewind` (fired when there
is any significant seeking in the backward direction), `start`,
`thirdQuartile`.

### Partially supported

- **`click`**


  The `Click` event is only sent for video ads.
  Clicks cannot be captured on the native fullscreen players on Android, iOS,
  or desktop, but clicks can still be captured by an in-page click tracking
  element when the video is closed. However, if the video element uses native
  controls on the iPad, clicks cannot be captured.
- **`fullscreen`**   


  IMA supports a **simulated full screen** mode,
  in which the video takes up the whole browser window.
  IMA considers a video to be in full screen mode
  when its `offsetWidth` and `offsetHeight`
  are at least the size of the document body.
  This mode is supported on all browsers.


  On the iPhone and pre-3.0 Android platforms,
  video always plays in full screen mode.
- **`mute`** , **`unmute`**


  iOS and Android only have native control of the volume. As such, IMA cannot
  determine the volume or mute state, nor is the SDK notified of changes. Below is
  a list of the browser versions which do and do not support
  `mute`, `unmute`:
  - **Supported:** Firefox 3.5+, Chrome 8+, Safari 4+
  - **Not supported:** iOS, Android

  <br />

Refer to the
[IAB guidelines](https://www.iab.com/wp-content/uploads/2015/06/VASTv3_0.pdf) for
further details on VAST ad serving.

### Ad events when rewatching ad breaks

IMA does not fire ad events when rewatching ads for the following reasons:

- Event URLs should only be triggered once, otherwise it could be read as spammy behavior.
- This lets users seek in and around the ad breaks that they've already viewed, creating a better seeking experience.

These are the only events fired when rewatching ad breaks:

- `AD_PERIOD_STARTED`
- `AD_PERIOD_ENDED`

## Supported video player platforms

The Google IMA SDKs are supported on the following platforms:

| Platform | Version |
|---|---|
| **HTML5** | **Desktop** : Chrome, Firefox, Safari, Edge, Opera **Mobile**: Chrome/Android Browser (Android for phones and tablets), Safari and Chrome (iOS) |
| **iOS** | iOS 10.0+ |
| **Android** | Android 4.4+ |
| **Google Cast** | All Cast devices |
| **tvOS** | tvOS 15+ |
| **Roku** | All devices that are still receiving software updates from Roku |

## Video stream format support

IMA supports both HLS and DASH across its SDKs. See this table for support
on specific SDK platforms. For proper stream playback, your video player
needs to support the stream type being used.

| IMA SDK platform | HLS | DASH |
|---|---|---|
| **HTML5** | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| **iOS** | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| **Android** | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| **Google Cast** | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| **tvOS** | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| **Roku** | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |

## Video features and SDK versions

To learn more about the following features, read
[video advertising overview](https://support.google.com/admanager/answer/1711021).

| IAB Video Suite | Support |
|---|---|
| VAST 4 | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [1](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#vast4-footnote) |
| VAST 3 | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [2](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#vast3-footnote) |
| VAST 2 | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| VPAID 2 | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| VMAP 1.0.1 | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [3](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#vmap-footnote) |
| Linear ads | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Non-linear ads (Overlays) | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Companions | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [4](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#companions-footnote) |
| VAST 3 alternate companion ad resources | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Active View viewability | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| VAST Redirects | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Companion backfill with display request | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Google Publisher Tag (GPT) compatibility | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Content awareness | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Ad rules | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Podding | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Bumpers | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Reporting on multi-event tracking (MET) | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Skippable (reservation / non-TrueView) | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [5](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#skippable-footnote) |
| TrueView InStream | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [6](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#trueview-footnote) |
| InStream Select | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Standard InStream | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Full-slot | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Companions | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [4](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#companions-footnote) |
| Companion backfill | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Overlays | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| TrueView InStream | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [6](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#trueview-footnote) |
| InStream Select | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Standard InStream | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Full-slot | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Companions | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [4](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#companions-footnote) |
| Companion backfill | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Overlays | ![Red-X](https://developers.google.com/static/interactive-media-ads/images/no.png "Red-X") |
| Active View viewability | ![Checkmark](https://developers.google.com/static/interactive-media-ads/images/check.png "Checkmark") |
| Why This Ad? | ![Warning](https://developers.google.com/static/interactive-media-ads/images/warn.png "Warning") [8](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/roku/compatibility.md.txt#wta-footnote) |

^1^ Of the
[VAST 4 features supported by Google Ad
Manager](https://support.google.com/admanager/answer/7358411), IMA support the following features:

- VAST 4.2
  - Support for [Secure
    Interactive Media Interface Definition (SIMID)](https://support.google.com/admanager/answer/1711021#simid)
  - Allowance of multiple `UniversalAdID` nodes
- VAST 4.0
  - AdID
  - Mezzanine file
  - New VAST error codes
  - New VAST macros
  - `AdVerifications` support

<br />

^2^ The following VAST 3.0 features are not
yet supported:

- Companion `adSlotId`
- Companion delivery options
- Icons

^3^ The following VMAP features are not yet supported:

- VMAP-specific tracking events
- VMAP-specific error codes
- Overlay ads
- Time offsets other than hh:mm:ss or "start" and "end"
- Display `breakType` attribute
- `repeatAfter` attribute

^4^ Only image companions are supported. Image companions
require custom implementation for populating ads. Companion ads are not supported on tvOS.

^5^ Traditional skippable ads are only supported in
the IMA DAI SDKs for HTML5, iOS, tvOS, Roku, and Android (including Android TV).
With the Cast SDK, you must declare skipping capability with
[`StreamRequest.senderCanSkip`](https://developers.google.com/ad-manager/dynamic-ad-insertion/sdk/cast/reference/js/StreamRequest#senderCanSkip),
to supports tradditional skippable ads.

^6^ TrueView skippable ads are supported in
the IMA DAI SDKs for HTML5, iOS, tvOS, Roku, and Android (including Android TV).

^7^ AdSense features are not supported in the Cast SDK.

^8^ *Why This Ad?* requires that the
`adUiElement` parameter be passed when creating the `StreamManager`.
*Why This Ad?* is not supported in the Cast SDK.

> [!IMPORTANT]
> **Important:** Using the HTML5 IMA DAI SDK with skippable ads or *Why This Ad?* requires that the `adUiElement` parameter be passed when creating the `StreamManager`.