InStream ads

InStream is an ad format that lets you monetize your app by serving ads while video content is playing. An InStream ad consists of a scenario with multiple video blocks.

The type of video unit in an InStream scenario determines how the video ad should be played relative to the main video content.

About InStream

To set up an InStream scenario, create a video resource in the Boost interface. Once created, the video resource is assigned a unique identifier (Page ID). This ID should be used in the Mobile Ads SDK.

To increase ad revenue, you can set up playing multiple ads within a single ad placement: an AdPod. You can set up the AdPod for an ad placement in the Boost interface.

Types of video units supported by the Mobile Ads SDK:

  • Pre-roll: A video ad is played before the main content.
  • Mid-roll: A video ad is played at a certain time within the main content.
  • Post-roll: A video ad is played after the main content.
  • Pause-roll: A video ad is played when the user clicks the pause button.
  • In-roll: A video ad is played anywhere in the video when a certain point is reached.

API for working with InStream ads

There are multiple APIs for working with InStream ads:

ExoPlayer AdsLoader API

An API for basic integration of InStream ads into ExoPlayer. It lets you quickly integrate the display of InStream ads. The API supports Pre-roll, Mid-roll, and Post-roll ad breaks.

Limits

  1. A specific version of ExoPlayer is required.
  2. In-roll and Pause-roll video ads aren't supported.

InStream API

An API for advanced integration of InStream ads. It lets you support playing any type of ad break and use your own implementation of a player. InStream ads consist of video ads that are played automatically and manually.

Use the InstreamAdBinder API to automatically play Pre-roll, Mid-roll, and Post-roll ad breaks. Use the InstreamAdBreak API to manually trigger ad breaks.

Note

You can use the InstreamAdBinder and InstreamAdBreak APIs at the same time under certain conditions:

  1. Use different instances of the ad player.
  2. Don't trigger playback using the InstreamAdBreak API while the main video is paused via the InstreamAdBinder API.
  3. Use InstreamAdBreak from InstreamAd of the InstreamAdBreakType.INROLL or InstreamAdBreakType.PAUSEROLL types. The InstreamAdBinder will automatically render all other ad break types for you.