Review SDK support and compatibility

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

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:

PlatformVersion
HTML5Desktop: Chrome, Firefox, Safari, Edge, Opera
Mobile: Chrome/Android Browser (Android for phones and tablets), Safari and Chrome (iOS)
iOSiOS 10.0+
AndroidAndroid 4.4+
Google CastAll Cast devices
tvOStvOS 14+
RokuAll 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 platformHLSDASH
HTML5CheckmarkCheckmark
iOSCheckmarkRed-X
AndroidCheckmarkCheckmark
Google CastCheckmarkCheckmark
tvOSCheckmarkRed-X
RokuCheckmarkCheckmark

Video features and SDK versions

To learn more about the following features, read video advertising overview.

IAB Video SuiteSupport
VAST 4Warning1
VAST 3Warning2
VAST 2Checkmark
VPAID 2Red-X
VMAP 1.0.1Warning3
Ad Manager Video featuresSupport
Linear adsCheckmark
Non-linear ads (Overlays)Red-X
CompanionsWarning4
VAST 3 alternate companion ad resourcesRed-X
Active View viewabilityCheckmark
VAST RedirectsCheckmark
Companion backfill with display requestRed-X
Google Publisher Tag (GPT) compatibilityRed-X
Content awarenessRed-X
Ad rulesCheckmark
PoddingCheckmark
BumpersCheckmark
Reporting on multi-event tracking (MET)Checkmark
Skippable (reservation / non-TrueView)Warning5
AdSense for Video features 7Support
TrueView InStreamWarning6
InStream SelectCheckmark
Standard InStreamCheckmark
Full-slotRed-X
CompanionsWarning4
Companion backfillRed-X
OverlaysRed-X
Ad Manager Ad Exchange featuresSupport
TrueView InStreamWarning6
InStream SelectCheckmark
Standard InStreamCheckmark
Full-slotRed-X
CompanionsWarning4
Companion backfillRed-X
OverlaysRed-X
Active View viewabilityCheckmark
Why This Ad?Warning8

1 Of the VAST 4 features supported by Google Ad Manager, IMA support the following features:

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.

8Why 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.