Integrating Fullscreen Ads


The integration of fullscreen ads (also referred to as Interstitial Ads) is very similar to in-view (video) ads.

Since you have already integrated in-view ads, follow the steps below to receive a video ad in a fullscreen mode - VAST Interstitial (Vertical, Rewarded).


Integrating the HTML / MRAID Interstitial is very similar to the Video. Provide the MRAID content controller, instead of Video content controller.

Getting a Video Ad in Fullscreen Mode

  1. Substitute the in-view unit controller:
Substituting the In-View Unit Controller
@property (nonatomic, strong) IAViewUnitController *viewUnitController;

For the fullscreen unit controller (rename it to the fullscreenUnitController):

Substituting for the Fullscreen Unit Controller
@property (nonatomic, strong) IAFullscreenUnitController *fullscreenUnitController;
  1. Remove the initialization of in-view unit controller,

Removing Initialization

IAViewUnitController *viewUnitController =
[IAViewUnitController build:^(id<IAViewUnitControllerBuilder>  _Nonnull builder)
   builder.unitDelegate = self;   
   [builder addSupportedContentController:self.videoContentController];

self.viewUnitController = viewUnitController;
  1. Add the initialization of the fullscreen unit controller:

Adding Fullscreen Unit Controller Initialization

IAFullscreenUnitController *fullscreenUnitController =
  [IAFullscreenUnitController build:^(id<IAFullscreenUnitControllerBuilder> _Nonnull builder)
     builder.unitDelegate = self;
     // all the needed content controllers should be added to the desired unit controller:
     [builder addSupportedContentController:self.videoContentController];
self.fullscreenUnitController = fullscreenUnitController; // the Fullscreen Unit Controller should be retained by a client side;
  1. Inside the ad spot initialization, provide the fullscreen unit controller instead of the in-view unit controller.

  2. Remove the former

Removing the In-view Unit Controller

[builder addSupportedUnitController:self.viewUnitController];

and provide the new one:

Providing the Fullscreen Unit Controller
[builder addSupportedUnitController:self.fullscreenUnitController];
  1. On the ad fetching completion block, remove the showAdInParentView API invocation:

Removing the Invocation

if (adSpot.activeUnitController == weakSelf.viewUnitController) {
  [weakSelf.viewUnitController showAdInParentView:weakSelf.view];

add instead:

Adding a New Invocation

if (adSpot.activeUnitController == weakSelf.fullscreenUnitController) {
  [weakSelf.fullscreenUnitController showAdAnimated:YES completion:nil];


The fullscreen unit controller tries to obtain an appropriate user's view controller (for displaying model views) from the delegate method IAParentViewControllerForUnitController:.

You have now finished integrating Video Ads!

You can now begin to integrate other ad types: