Use the following to plan and manage your player and app development for Dynamic Ad Insertion (DAI).
Jump to a specific section
DAI platform support
Support for video player controls
Override a default ad tag
Override stream variant parameters
Frequently asked questions
Compare DAI player implementation types.
Platform support
Support for Dynamic Ad Insertion is shown below, including those platforms where it is not supported. You can click to see sample apps and to see more information about each platform.
Basic sample apps demonstrate video tracking events only. These are ideal for publishers who only use pre-rolls.
Advanced sample apps demonstrate all basic app functionality, as well as bookmarking, snapback, subtitles, scrubbing and countdown timers. These are ideal for publishers who monetize long-form content.
Platform | SSB support | DAI‑enabled IMA SDK | Sample apps | Additional documentation |
---|---|---|---|---|
iOS | Yes | iOS IMA SDK | iOS sample apps | iOS quickstart guide iOS reference |
Android or FireTV |
Yes | Android IMA SDK | Android sample apps | Android quickstart guide Android reference |
tvOS (Apple TV) |
Yes | tvOS IMA SDK | tvOS sample apps | tvOS quickstart guide tvOS reference |
Roku | Yes | SDK downloaded at run time |
Roku sample apps | Roku quickstart guide |
Chromecast | Yes | SDK downloaded at run time |
Sample receiver app |
Chromecast quickstart guide |
HTML5 | Yes | SDK downloaded at run time |
HTML5 sample app DAI demo HTML5 player |
HTML5 quickstart guide |
Support for video player controls
Video player controls are only supported with IMA SDK activation. All advanced sample apps demonstrate feature functionality across the various supported platforms. The cue point information feature can also be demonstrated within basic sample apps.
-
Total Ads Countdown and Per Ad Countdown: Ability to add a countdown to state the amount of time remaining for the total number of ad(s).
iOS and Android: The IMA SDK has this optional feature available.
Roku and tvOS: Within the IMA SDK, the advanced sample app has an example of this feature. You need to include custom code if this feature is required.
-
Subtitles: Ability to add closed captioning within the content stream. Supported subtitle programs include:
Timed Text Markup Language (TTML) (side-car): TTML is intended to be used for the purpose of transcoding or exchanging timed text information among legacy distribution content formats presently in use for subtitling and captioning functions.
WebVTT (side-car): WebVTT files provide captions or subtitles for video content, textual video descriptions, chapters for content navigation, and more generally any form of metadata that is time-aligned with audio or video content.
- Bookmarking: Bookmarking is the ability to save and then return to a specific point in the content stream. Suppose a user watches five minutes of content, leaves same video stream, and then returns to it. Bookmarking saves the user's position in the stream so the stream can pick up from where it left off, providing a seamless experience to the viewer.
- Snapback: Snapback is the ability to take the user back to the start of the ad break they seeked past and then return them to their seek location after that ad break has completed.
- Scrubbing: Typically a long-form content feature, provides the ability to see the first frame of the content as the user is scrolling through the content bar.
Override a default ad tag
When you define a DAI content source for VOD or live linear stream in Ad Manager, you need to specify a default video ad tag.
When your video player requests a stream, this ad tag will be used exactly as you have specified it in the UI. However, you have the ability to override parameters of that tag in your stream request.
Learn how to supply targeting parameters to your stream.
Override stream variant parameters
The default HLS playlist order is determined by the publisher.
Overriding the variant selection and order parameters can be specified during stream creation time. This allows you to specify the subset of variants that should be included in the response to a master playlist request and the order of those variants. The subset and order of variants will remain the same for the life of the stream, unless explicitly overridden.
Learn how to override stream variant parameters.
Frequently asked questions
On VOD streams, you can configure whether to show pre-roll ads using ad rules.
On live linear streams, you can configure Ad Manager to show pre-roll ads. Optionally, your video player can make a client-side Ad Manager ad request to show a pre-roll to a user before requesting the Ad Manager DAI live stream.
Set up an ad holiday
On live linear streams, you can use the "ad holiday" feature to avoid showing viewers another DAI ad immediately after they've just watched a pre-roll ad.
There are two parts to implementing an ad holiday:
- Specify the "Ad holiday duration" when you set up a live stream for DAI.
- Pass in the
dai-ah
parameter set to1
in theadtagparameters
array on your stream creation request. This is the same array that is used when you override Ad Manager ad tag parameters and when you set stream variant parameters.
When you create a CDN configuration for your video on demand content, you have the option to define a default CDN configuration, and additional CDN delivery settings. This allows you to set up more than one CDN and dynamically choose which you'd like to serve from, at the start of a session using a key-value.
Once you set up and save your CDN configurations, Ad Manager assigns a name to each. This name should be passed into the stream create request as a value of the dai-dlid
parameter. *
For SSB, the parameter would simply be passed as dai-dlid=AaBbC1aaBa0obA1BABaaBA
(where AaBbC1aaBa0obA1BABaaBA
is the name that appears in Ad Manager).
When using the IMA SDK, it should be passed into the stream create request using ad tag parameters.
* If no name is passed into the request, Ad Manager uses the default CDN.
ingestUrl
that was specified for Ad Manager in your content source MRSS feed. For live linear streams, this would be the URL for the stream from your encoder. Learn more about the best practices for DAI backup streams.