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
andoffsetHeight
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
Refer to the IAB guidelines 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 14+ |
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 | ||
iOS | ||
Android | ||
Google Cast | ||
tvOS | ||
Roku |
Video features and SDK versions
To learn more about the following features, read video advertising overview.
IAB Video Suite | Support |
---|---|
VAST 4 | 1 |
VAST 3 | 2 |
VAST 2 | |
VPAID 2 | |
VMAP 1.0.1 | 3 |
Ad Manager Video features | Support |
Linear ads | |
Non-linear ads (Overlays) | |
Companions | 4 |
VAST 3 alternate companion ad resources | |
Active View viewability | |
VAST Redirects | |
Companion backfill with display request | |
Google Publisher Tag (GPT) compatibility | |
Content awareness | |
Ad rules | |
Podding | |
Bumpers | |
Reporting on multi-event tracking (MET) | |
Skippable (reservation / non-TrueView) | 5 |
AdSense for Video features 7 | Support |
TrueView InStream | 6 |
InStream Select | |
Standard InStream | |
Full-slot | |
Companions | 4 |
Companion backfill | |
Overlays | |
Ad Manager Ad Exchange features | Support |
TrueView InStream | 6 |
InStream Select | |
Standard InStream | |
Full-slot | |
Companions | 4 |
Companion backfill | |
Overlays | |
Active View viewability | |
Why This Ad? | 8 |
1 Of the VAST 4 features supported by Google Ad Manager, IMA support the following features:
- VAST 4.2
- Support for Secure Interactive Media Interface Definition (SIMID)
- Allowance of multiple
UniversalAdID
nodes
- VAST 4.0
- AdID
- Mezzanine file
- New VAST error codes
- New VAST macros
AdVerifications
support
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
,
to supports tradditional skippable ads.
6 TrueView skippable ads are only supported in the IMA DAI SDKs for HTML5, iOS, 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.
Caveats for JavaScript frameworks
There are certain considerations when using a JavaScript framework, such as
React or AngularJS, with the IMA HTML5 SDK. These frameworks often move elements
of the DOM, which can break the IMA SDK since the SDK expects the DOM to be
static when it's initiated. The IMA SDK supports JavaScript frameworks as long
as the SDK is initiated after the framework has finished moving DOM elements.
Specifically, the HTML5 element passed as the adUiElement
argument when
constructing the
StreamManager
shouldn't be moved once it's instantiated.
Apple AirPlay support
The IMA SDK doesn't support Apple AirPlay. Either disable AirPlay or disable ad requests when AirPlay is detected.