Implementing interstitial ads in Unity

To display a full-screen interstitial ad using the Advertisements API, initialize the SDK, then use the Load function to load ad content to an Ad Unit and the Show function to show the ad.

Note: Starting from SDK version 4.4.1, the Unity Ads package is now called the Advertisement Legacy package in the Unity Editor. The Advertisement Legacy package version 4.4.2 is still functional but will not receive any further updates for new or enhanced features. From SDK versions beyond 4.4.2, only native updates will be supported for Android and iOS developers, with no further updates provided for Unity developers.

In SDK versions 3.7.0 and later, you can use the IUnityAdsLoadListener and IUnityAdsShowListener callbacks to implement logic for when content succeeds or fails to load or show respectively.

Note: If you call Show without specifying an Ad Unit ID, the method shows loaded content in the Unity Standard Placement.

using UnityEngine;
using UnityEngine.Advertisements;
public class InterstitialAdExample : MonoBehaviour, IUnityAdsLoadListener, IUnityAdsShowListener
    [SerializeField] string _androidAdUnitId = "Interstitial_Android";
    [SerializeField] string _iOsAdUnitId = "Interstitial_iOS";
    string _adUnitId;
    void Awake()
        // Get the Ad Unit ID for the current platform:
        _adUnitId = (Application.platform == RuntimePlatform.IPhonePlayer)
            ? _iOsAdUnitId
            : _androidAdUnitId;
    // Load content to the Ad Unit:
    public void LoadAd()
        // IMPORTANT! Only load content AFTER initialization (in this example, initialization is handled in a different script).
        Debug.Log("Loading Ad: " + _adUnitId);
        Advertisement.Load(_adUnitId, this);
    // Show the loaded content in the Ad Unit:
    public void ShowAd()
        // Note that if the ad content wasn't previously loaded, this method will fail
        Debug.Log("Showing Ad: " + _adUnitId);
        Advertisement.Show(_adUnitId, this);
    // Implement Load Listener and Show Listener interface methods: 
    public void OnUnityAdsAdLoaded(string adUnitId)
        // Optionally execute code if the Ad Unit successfully loads content.
    public void OnUnityAdsFailedToLoad(string _adUnitId, UnityAdsLoadError error, string message)
        Debug.Log($"Error loading Ad Unit: {_adUnitId} - {error.ToString()} - {message}");
        // Optionally execute code if the Ad Unit fails to load, such as attempting to try again.
    public void OnUnityAdsShowFailure(string _adUnitId, UnityAdsShowError error, string message)
        Debug.Log($"Error showing Ad Unit {_adUnitId}: {error.ToString()} - {message}");
        // Optionally execute code if the Ad Unit fails to show, such as loading another ad.
    public void OnUnityAdsShowStart(string _adUnitId) { }
    public void OnUnityAdsShowClick(string _adUnitId) { }
    public void OnUnityAdsShowComplete(string _adUnitId, UnityAdsShowCompletionState showCompletionState) { }

Next steps: To improve your implementation, refer to the Implementing rewarded ads in Unity documentation.