VideoAdUnit Object

Use the VideoAdUnit object to create and configure an outstream video ad unit in your app.

Video Outstream is only supported with Google Ad Manager.



Create a new Outstream Video Ad Unit associated with a Prebid Server configuration ID and a video player size.

VideoAdUnit("configID", width, height, VideoAdUnit.PlacementType.placement); //placement to be deprecated in favor of parameters.placement)


  • configId: String; Prebid Server configuration ID.
  • width: Integer; Width of the video player.
  • height: Integer; Height of the video player.
  • placement (DEPRECATED FIELD) Enumeration. Possible values:
    • IN_FEED


Parameters is a sub class of videoAdUnit. Create new Parameters class to define the parameters of the video ad unit. Parameters contain the OpenRTB video attributes.


placement: [int] or [enum]: OpenRTB placement

protocols: [int] or [enum]: OpenRTB Protocols

api: [int] or [enum]: OpenRTB api frameworks

maxBitrate: int: OpenRTB maxBirate

minBitrate: int: OpenRTB minBitrate

maxDuration:int: OpenRTB maxDuration

minDuration: int: OpenRTB minDuration

mimes: [string]: OpenRTB mime types

playbackMethod: [int]: OpenRTB playbackMethod


OpenRTB 2.5 Placement Type for the auction can be expressed as an integer array or can use an enum for easier readability. Option 1 (in-stream) is intentionally left out due to lack of in-stream support in Prebid SDK.

  • 2 or IN_BANNER : In-Banner placement exists within a web banner that leverages the banner space to deliver a video experience as opposed to another static or rich media format. The format relies on the existence of display ad inventory on the page for its delivery.
  • 3 or IN_ARTICLE : In-Article placement loads and plays dynamically between paragraphs of editorial content; existing as a standalone branded message.
  • 4 or IN_FEED : In-Feed placement is found in content, social, or product feeds.
  • 5 : Slider / Floater While OpenRTB uses “5” to also designate interstitial as a placement type, interstitial is not used in the standard outsream format. For Interstital, use the videointerstital or RewardedVideoAdUnit ad unit


Array of integers or enum representing the supported OpenRTB Frameworks:

  • 1 or Signals.Api.VPAID_1 : VPAID 1.0
  • 2 or Signals.Api.VPAID_2 : VPAID 2.0
  • 3 or Signals.Api.MRAID_1 : MRAID-1
  • 4 or Signals.Api.ORMMA : ORMMA
  • 5 or Signals.Api.MARAID_2 : MRAID-2
  • 6 or Signals.Api.MARAID_3 : MRAID-3


Integer representing the OpenRTB 2.5 maximum bit rate in Kbps.


Integer representing the OpenRTB 2.5 minimum bit rate in Kbps.


Integer representing the OpenRTB 2.5 maximum video ad duration in seconds.


Integer representing the OpenRTB 2.5 minimum video ad duration in seconds.


Array of string representing the supported OpenRTB 2.5 content MIME types (e.g., “video/x-ms-wmv”, “video/mp4”).


Array of OpenRTB 2.5 playback methods. If none are specified, any method may be used. Only one method is typically used in practice. It is strongly advised to use only the first element of the array.

  • 1 or Signals.PlaybackMethod.AutoPlaySoundOn : Initiates on Page Load with Sound On
  • 2 or Signals.PlaybackMethod.AutoPlaySoundOff : Initiates on Page Load with Sound Off by Default
  • 3 or Signals.PlaybackMethod.ClickToPlay : Initiates on Click with Sound On
  • 4 or Signals.PlaybackMethod.MouseOver : Initiates on Mouse-Over with Sound On
  • 5 or Signals.PlaybackMethod.EnterSoundOn : Initiates on Entering Viewport with Sound On
  • 6 or Signals.PlaybackMethod.EnterSoundOff: Initiates on Entering Viewport with Sound Off by Default


Array or enum of OpenRTB 2.5 supported Protocols. Values can be one of:

  • 1 or Signals.Protocols.VAST_1_0 : VAST 1.0
  • 2 or Signals.Protocols.VAST_2_0 : VAST 2.0
  • 3 or Signals.Protocols.VAST_3_0 : VAST 3.0
  • 4 or Signals.Protocols.VAST_1_0_Wrapper : VAST 1.0 Wrapper
  • 5 or Signals.Protocols.VAST_2_0_Wrapper : VAST 2.0 Wrapper
  • 6 or Signals.Protocols.VAST_3_0_Wrapper : VAST 3.0 Wrapper
  • 7 or Signals.Protocols.VAST_4_0 : VAST 4.0
  • 8 or Signals.Protocols.VAST_4_0_Wrapper : VAST 4.0 Wrapper


VideoAdUnit inherits all methods from the AdUnit object.


private PublisherAdView amBanner;
AdUnit adUnit;

void setupAndLoadAMBannerVAST() {

private void setupPBBannerVAST() {
   adUnit = new VideoAdUnit("configId", 300, 250);

   VideoInterstitialAdUnit adUnit = new VideoInterstitialAdUnit("1001-1");         

  VideoAdUnit.Parameters parameters = new VideoAdUnit.Parameters();

    parameters.setPlacement(2);  // or alternative enum value Signals.Placement.InBanner
    parameters.setApi(Arrays.asList(1,2));  // or alternative enum values [Signals.Api.VPAID_1, Signals.Api.VPAID_2]
    parameters.setMimes(Arrays.asList("video/x-flv", "video/mp4"));
    parameters.setPlaybackMethod(1); // or alternative enum value (Signals.PlaybackMethod.AutoPlaySoundOn)
    parameters.setProtocols(Arrays.asList(2,3)); // or alternative enum values (Signals.Protocols.VAST_2_0, Signals.Protocols.VAST_3_0)


private void setupAMBannerVAST() {
   setupAMBanner(300, 250, "/networkId/adUnit");

private void setupAMBanner(int width, int height, String id) {
   amBanner = new PublisherAdView(this);
   amBanner.setAdSizes(new AdSize(width, height));

private void loadBanner() {
   final PublisherAdRequest.Builder builder = new PublisherAdRequest.Builder();
   final PublisherAdRequest request =;
   adUnit.fetchDemand(request, new OnCompleteListener() {
       public void onComplete(ResultCode resultCode) {
           DemoActivity.this.resultCode = resultCode;