Interstitial Integration for iOS
The ironSource Interstitial is a full-screen ad unit, usually served at natural transition points during the app lifecycle. We support both static and video interstitials. You can also serve interstitials through the ironSource Mediation platform.
Before you start Make sure you have correctly integrated the ironSource SDK into your application. Integration is outlinedStep 1. Implement the Delegate
The ironSource SDK fires several events to inform you of Interstitial Activity. The SDK will notify your delegate of all possible events listed below:
+ (void)setLevelPlayInterstitialDelegate:(nullable id<LevelPlayInterstitialDelegate>)delegate;
#pragma mark - LevelPlayInterstitialDelegate
/**
Called after an interstitial has been loaded
@param adInfo The info of the ad.
*/
- (void)didLoadWithAdInfo:(ISAdInfo *)adInfo {
}
/**
Called after an interstitial has attempted to load but failed.
@param error The reason for the error
*/
- (void)didFailToLoadWithError:(NSError *)error {
}
/**
Called after an interstitial has been opened.
This is the indication for impression.
@param adInfo The info of the ad.
*/
- (void)didOpenWithAdInfo:(ISAdInfo *)adInfo {
}
/**
Called after an interstitial has been dismissed.
@param adInfo The info of the ad.
*/
- (void)didCloseWithAdInfo:(ISAdInfo *)adInfo {
}
/**
Called after an interstitial has attempted to show but failed.
@param error The reason for the error
@param adInfo The info of the ad.
*/
- (void)didFailToShowWithError:(NSError *)error andAdInfo:(ISAdInfo *)adInfo {
}
/**
Called after an interstitial has been clicked.
@param adInfo The info of the ad.
*/
- (void)didClickWithAdInfo:(ISAdInfo *)adInfo {
}
/**
Called after an interstitial has been displayed on the screen.
This callback is not supported by all networks, and we recommend using it
only if it's supported by all networks you included in your build.
@param adInfo The info of the ad.
*/
- (void)didShowWithAdInfo:(ISAdInfo *)adInfo {
}
Do not assume the callbacks are always running on the main thread. Any UI interaction or updates resulting from ironSource callbacks need to be passed to the main thread before executing.
You can view the full listeners implementation here.
Step 2. Load Interstitial Ad
To request an interstitial ad, call the following method:
Step 3. Check Ad Availability
After you call the loadInterstitial in Step 2, you will be notified when the ad is loaded through the delegate with the method didLoadWithAdInfo.
//Called after an interstitial has been loaded
- (void)didLoadWithAdInfo:(ISAdInfo *)adInfo{}
/**
Called after an interstitial has been loaded
*/
public func didLoad(with adInfo: ISAdInfo) {
}
Alternatively, you can request the ad availability directly by calling the following function and it will return a true or false boolean:
Once the Interstitial ad is available you will be able to show the ad to your users. With ironSource’s Ad Placements, you can customize and optimize the Interstitial experience. This tool enables you to present Interstitial ads to your users in different places, i.e. app launch, between levels, etc. You can use the function in the next step to define the exact placement you’d like to show an ad from.
In addition to ironSource’s Ad Placements, you can now configure capping and pacing settings for selected placements. Capping and pacing improve the user experience in your app by limiting the number of ads served within a defined timeframe.
We recommend calling the following to verify if a placement is capped before you serve the Interstitial to your user:
[IronSource isInterstitialCappedForPlacement:placementName];
IronSource.isInterstitialCapped(forPlacement: “placement”)
Navigate to the Ad Placement document for more details.
Step 4. Show Interstitial Ad
Once you receive the interstitialDidLoad callback, you are ready to show an Interstitial Ad to your users. To provide the best experience for your users, make sure to pause any game action, including audio, during the time the ad is displayed.
Invoke the following method to serve an Interstitial ad to your users:
(void)showInterstitialWithViewController:(UIViewController *)viewController;
IronSource.showInterstitial(with: <UIViewController>)
If you’ve set up placements for your Interstitial, call the following method to serve an Interstitial ad in a specific placement:
[IronSource showInterstitialWithViewController:YOUR_VIEWCONTROLLER placement:YOUR_PLACEMENT_NAME]
IronSource.showInterstitial(with: <UIViewController>, placement: <String?>)
Done!
You can now deliver ironSource Interstitial Ads through the Interstitial Mediation platform!
If this is a new integration for your application, your app will by default be in ‘Test Mode‘ on your ironSource dashboard. While your app is in Test Mode, the ironSource SDK will print more logs to the console in order to provide greater visibility into the SDK processes. To test your ad inventory, set up your Test Devices. Until you turn on live ad inventory, you will receive test campaigns that don’t generate revenue. Make sure to select ‘Go Live!‘ on the Ad Units page when your app is ready for live ad inventory.
Follow our integration guides to integrate additional Interstitial Ad networks or configure additional ad units: