Interstitial
Integration
Section titled “Integration”Unlike banners, interstitials can only be integrated with code. Below we show a simple example to understand how it works:
import UIKitimport WortiseSDK
class ViewController: UIViewController {
private var interstitialAd: WAInterstitialAd!
override func viewDidLoad() { super.viewDidLoad() ... interstitialAd = WAInterstitialAd(adUnitId: "test-interstitial") interstitialAd.loadAd() }
override func willMove(toParent controller: UIViewController?) { super.willMove(toParent: controller) ... interstitialAd.destroy() }
func showInterstitial() { if interstitialAd.isAvailable { interstitialAd.showAd(from: self) } }}Delegate configuration
Section titled “Delegate configuration”As with banners, a listener can be set to receive the events that happen during the interstitial lifecycle. For this, you need to implement the WAInterstitialDelegate interface as shown in the example below:
extension ViewController : WAInterstitialDelegate {
func didClick(interstitialAd: WAInterstitialAd) { // Invoked when the ad has been clicked }
func didDismiss(interstitialAd: WAInterstitialAd) { // Invoked when the ad has been dismissed }
func didFailToLoad(interstitialAd: WAInterstitialAd, error: WAAdError) { // Invoked when the ad could not be loaded // (because of an error or no fill) }
func didFailToShow(interstitialAdenAd: WAInterstitialAd, error: WAAdError) { // Invoked when the ad could not be shown }
func didImpress(interstitialAd: WAInterstitialAd) { // Invoked when the ad has generated an impression }
func didLoad(interstitialAd: WAInterstitialAd) { // Invoked when the ad has been loaded }
func didPayRevenue(interstitialAd: WAInterstitialAd, data: WARevenuedata) { // Invoked when the ad has generated revenue }
func didShow(interstitialAd: WAInterstitialAd) { // Invoked when the ad has been shown }}Once the interface is implemented, the delegate is assigned to the ad instance:
interstitialAd.delegate = self© 2026 Wortise. All rights reserved.