This page describes how to implement a VideoAdUnit
for the display of instream videos.
Use the VideoAdUnit
object to create and configure an instream video ad unit in your app.
Instream video is only supported with Google Ad Manager.
Create a new instream VideoAdUnit
associated with a Prebid Server configuration ID and a video player size.
VideoAdUnit("configID", width, height, VideoAdUnit.PlacementType.placement);
Parameters
configId
: String; Prebid Server configuration ID. Note: this is a Prebid Server impression-level stored request ID.width
: Integer; Width of the video player.height
: Integer; Height of the video player.placement
(DEPRECATED FIELD) Enumeration. Possible values:
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.
Parameters
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 unitArray of integers or enum representing the supported OpenRTB Frameworks:
1
or Signals.Api.VPAID_1
: VPAID 1.02
or Signals.Api.VPAID_2
: VPAID 2.03
or Signals.Api.MRAID_1
: MRAID-14
or Signals.Api.ORMMA
: ORMMA5
or Signals.Api.MARAID_2
: MRAID-26
or Signals.Api.MARAID_3
: MRAID-3Integer 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 On2
or Signals.PlaybackMethod.AutoPlaySoundOff
: Initiates on Page Load with Sound Off by Default3
or Signals.PlaybackMethod.ClickToPlay
: Initiates on Click with Sound On4
or Signals.PlaybackMethod.MouseOver
: Initiates on Mouse-Over with Sound On5
or Signals.PlaybackMethod.EnterSoundOn
: Initiates on Entering Viewport with Sound On6
or Signals.PlaybackMethod.EnterSoundOff
: Initiates on Entering Viewport with Sound Off by DefaultArray or enum of OpenRTB 2.5 supported Protocols. Values can be one of:
1
or Signals.Protocols.VAST_1_0
: VAST 1.02
or Signals.Protocols.VAST_2_0
: VAST 2.03
or Signals.Protocols.VAST_3_0
: VAST 3.04
or Signals.Protocols.VAST_1_0_Wrapper
: VAST 1.0 Wrapper5
or Signals.Protocols.VAST_2_0_Wrapper
: VAST 2.0 Wrapper6
or Signals.Protocols.VAST_3_0_Wrapper
: VAST 3.0 Wrapper7
or Signals.Protocols.VAST_4_0
: VAST 4.08
or Signals.Protocols.VAST_4_0_Wrapper
: VAST 4.0 WrapperVideoAdUnit
inherits all methods from the AdUnit object.
adUnit.fetchDemand(new OnCompleteListener2() {
@Override
public void onComplete(ResultCode resultCode, Map<String, String> unmodifiableMap) {
String uri = Util.generateInstreamUriForGam("Your_ad_unit_id", 640, 480, unmodifiableMap);
adsLoader = new ImaAdsLoader(RubiconInstreamVideoIMADemoActivity.this, Uri.parse(uri));
initializePlayer(); // where you create the IMA player and set the adsLoader in the player
}
});