Search...
Menu

Interstitial Ads

💡Tips

  • 🚀 Improve user experience with preloading mechanism
  • 🔧 Recommended to use standardized callback handling process

csharp Copy
public void InitializeInterstitialAd() 
{
    McSdkCallbacks.Interstitial.OnAdLoadedEvent += OnInterstitialAdLoadedEvent;
    McSdkCallbacks.Interstitial.OnAdLoadFailedEvent += OnInterstitialAdLoadFailedEvent;
    McSdkCallbacks.Interstitial.OnAdDisplayFailedEvent += OnInterstitialAdDisplayFailedEvent;
    McSdkCallbacks.Interstitial.OnAdHiddenEvent += OnInterstitialAdHiddenEvent;
    McSdkCallbacks.Interstitial.OnAdRevenuePaidEvent += OnInterstitialAdRevenuePaidEvent;
    McSdkCallbacks.Interstitial.OnAdClickedEvent += OnInterstitialAdClickedEvent;
    McSdkCallbacks.Interstitial.OnAdDisplayedEvent += OnInterstitialAdDisplayedEvent;
    
    LoadInterstitialAd();
}

private void LoadInterstitialAd() 
{
    McSdk.LoadInterstitial("your mediation unit id");
}

private void OnInterstitialAdLoadedEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    // Ad load success event  
    // Reset retry attempt
    retryAttempt = 0;
}

private void OnInterstitialAdLoadFailedEvent(string adUnitId, McSdkBase.ErrorInfo errorInfo)
{
    // Ad load failure event  
    // We recommends that you retry with exponentially higher delays up to a maximum delay (in this case 8 seconds) or the maximum number of retries (in this case 3)
    if (retryAttempt >= 3) return;
    retryAttempt++;
    double retryDelay = Math.Pow(2, Math.Min(3, retryAttempt));
    Invoke("LoadInterstitialAd", (float)retryDelay);
}

private void OnInterstitialAdDisplayFailedEvent(string adUnitId, McSdkBase.ErrorInfo errorInfo, McSdkBase.AdInfo adInfo)
{
    // Ad display failure event  
    // pre-load
    LoadInterstitialAd();
 }

private void OnInterstitialAdHiddenEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    // Ad closed event  
    // pre-load
    LoadInterstitialAd();
}

private void OnInterstitialAdRevenuePaidEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    // Revenue tracking event  
}   

private void OnInterstitialAdClickedEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    // Ad click event  
}

private void OnInterstitialAdDisplayedEvent(string adUnitId, McSdkBase.AdInfo adInfo)
{
    // Ad display success event  
    // pre-load
    LoadInterstitialAd();
}

csharp Copy
if (McSdk.IsInterstitialReady("your mediation unit id")) {
    McSdk.ShowInterstitial("your mediation unit id");
} else {
    LoadInterstitialAd();
}

3. Customized Parameter Configuration

csharp Copy
McSdk.SetInterstitialExtraParameter("your mediation unit id", "inter_test_extra_key", "inter_test_extra_value");
#if UNITY_ANDROID
    McSdk.SetInterstitialLocalExtraParameter("your mediation unit id", "inter_test_local_extra_key", new AndroidJavaObject("java.lang.String", "inter_test_local_extra_value"));
#elif UNITY_IOS
    McSdk.SetInterstitialLocalExtraParameter("your mediation unit id", "inter_test_local_extra_key", "inter_test_local_extra_value");
#endif

McSdk.LoadInterstitial("your mediation unit id");

Previous
Rewarded Video Ads
Next
Banner Ads
Last modified: 2025-07-29Powered by