Ad Experience Controls

If you use Prebid SDK to render the winning bid you can customize behaviour using the following API.

Rendering Controls

The following properties enable rendering customization of Video Interstitial Ads.

Max Video Duration

This setting determines the longest video duration allowed, measured in seconds. When using the Prebid SDK, this value is sent in the imp.video.maxduration object of the bid request. If the <Duration> in the VAST tag received is longer than this set maximum, the SDK won’t load the video file, the ad won’t load, and an error message will appear.

API Object InterstitialAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedVideoAdUnit
Ad Unit Property adUnit.setMaxVideoDuration(seconds)
Server Property maxvideoduration
Default Value 3600 seconds
API Object InterstitialRenderingAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedAdUnit
Ad Unit Property adUnit.videoParameters.maxDuration
Server Property maxvideoduration
Default Value 3600 seconds

Application Muted

This option lets you switch the sound on or off during playback.

API Object InterstitialAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedVideoAdUnit
Ad Unit Property adUnit.setIsMuted(true)
Server Property ismuted
Default Value false
API Object InterstitialRenderingAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedAdUnit
Ad Unit Property adUnit.isMuted
Server Property ismuted
Default Value false

Close Button Area

This setting determines the percentage of the device screen that the close button should cover.

API Object InterstitialAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedVideoAdUnit
Ad Unit Property adUnit.setCloseButtonArea(factor)
Server Property closebuttonarea
Allowed Values 0..1
Default Size 70dp

Customization Example

Default Custom
Close Button Area - Default Close Button Area - Custom
API Object InterstitialRenderingAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedAdUnit
Ad Unit Property adUnit.closeButtonArea
Server Property closebuttonarea
Allowed Values 0..1
Default Value 0.1

Customization Example

Default Custom
Close Button Area - Default Close Button Area - Custom

Close Button Position

This setting controls where the close button appears on the screen.

API Object InterstitialAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedVideoAdUnit
Ad Unit Property adUnit.setCloseButtonPosition(Position.TOP_LEFT)
Server Property closebuttonposition
Allowed Values Position.TOP_LEFT, Position.TOP_RIGHT
Default Value Position.TOP_RIGHT

Customization Example

Default Custom
Close Button Position - Default Close Button Position - Custom
API Object InterstitialRenderingAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedAdUnit
Ad Unit Property adUnit.closeButtonPosition
Server Property closebuttonposition *
Allowed Values topLeft, topRight
Default Value topRight

Customization Example

Default Custom
Close Button Position - Default Close Button Position - Custom

Skip Button Area

This setting determines the percentage of the device screen that the skip button should cover.

API Object InterstitialAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedVideoAdUnit
Ad Unit Property adUnit.setSkipButtonArea(factor)
Server Property skipbuttonarea
Allowed Values 0..1
Default Value 70dp
API Object InterstitialRenderingAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedAdUnit
Ad Unit Property adUnit.skipButtonArea
Server Property skipbuttonarea
Allowed Values 0..1
Default Value 0.1

Customization Example

Default Custom
Close Button Position - Default Close Button Position - Custom

Skip Button Position

This control sets the position of the skip button.

API Object InterstitialAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedVideoAdUnit
Ad Unit Property adUnit.setSkipButtonPosition(Position.TOP_LEFT)
Server Property skipbuttonposition
Allowed Values Position.TOP_LEFT, Position.TOP_RIGHT
Default Value Position.TOP_RIGHT

Customization Example

Default Custom
Close Button Position - Default Close Button Position - Custom
API Object InterstitialRenderingAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedAdUnit
Ad Unit Property adUnit. skipButtonPosition
Server Property skipbuttonposition
Allowed Values topLeft, topRight
Default Value topLeft

Customization Example

Default Custom
Close Button Position - Default Close Button Position - Custom

Skip Delay

This setting determines the number of seconds after the start of playback before the skip or close button should appear.

API Object InterstitialAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedVideoAdUnit
Ad Unit Property adUnit.setSkipDelay(seconds)
Server Property skipdelay
Default Value 10 seconds
API Object InterstitialRenderingAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedAdUnit
Ad Unit Property adUnit.skipDelay
Server Property skipdelay
Default Value 10 seconds

Sound Button

This option switches on or off the visibility of the sound/mute button for users.

API Object InterstitialAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedVideoAdUnit
Ad Unit Property adUnit.setIsSoundButtonVisible(true)
Server Property not supported
Default Value false

Customization Example

Custom
Close Button Area - Default
API Object InterstitialRenderingAdUnit, RewardedAdUnit,
MediationInterstitialAdUnit, MediationRewardedAdUnit
Ad Unit Property adUnit.isSoundButtonVisible
Server Property not supported
Default Value false

Customization Example

Default Custom
Close Button Area - Default Close Button Area - Custom

Code Example

Here is how you can implement all the API’s to customize your ad.

  adUnit = MediationInterstitialAdUnit(
      activity,
      configId,
      EnumSet.of(AdUnitFormat.BANNER),
      mediationUtils
  )

  adUnit?.setMaxVideoDuration(30)
  adUnit?.setCloseButtonArea(0.1)
  adUnit?.setSkipDelay(5)
  adUnit?.setSkipButtonArea(0.1)
  adUnit?.setSkipButtonPosition(Position.TOP_RIGHT)
  adUnit?.setCloseButtonPosition(Position.TOP_LEFT)
  interstitialController = InterstitialRenderingAdUnit(configID: prebidConfigId,
                                                        minSizePercentage: CGSize(width: 30, height: 30))
  interstitialController?.delegate = self
  interstitialController?.videoParameters.maxDuration = SingleContainerInt(integerLiteral: 30)
  interstitialController?.closeButtonArea = 0.1
  interstitialController?.skipDelay = 5
  interstitialController?.skipButtonArea = 0.1
  interstitialController?.skipButtonPosition = .topRight
  interstitialController?.closeButtonPosition = .topRight