Search...
Menu

Interstitial Ads

💡Tips

  • 🚀 Use preloading mechanism to enhance UX
  • ⚠️ Handle lifecycle properly to prevent memory leaks
  • 🔧 Recommended to use standardized callback workflow

java Copy
MCInterstitialAd mInterstitialAd = new MCInterstitialAd(activity, "your mediation unit id");  
mInterstitialAd.setListener(new MCAdListener() {  
    @Override  
    public void onAdLoaded(MCAdInfo mcAdInfo) {  
        // Ad load success callback  
        // Reset retry attempt
        retryAttempt = 0;
    }  

    @Override  
    public void onAdDisplayed(MCAdInfo mcAdInfo) {  
        // Ad display success callback  
        // pre-load
        mInterstitialAd.loadAd();
    }  

    @Override  
    public void onAdHidden(MCAdInfo mcAdInfo) {  
        // Ad closed callback  
        // pre-load
        mInterstitialAd.loadAd();
    }  

    @Override  
    public void onAdClicked(MCAdInfo mcAdInfo) {  
        // Ad click callback  
    }  

    @Override  
    public void onAdLoadFailed(MCError mcError) {  
        // Ad load failure callback  
        // 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++;
		long delayMillis = TimeUnit.SECONDS.toMillis((long) Math.pow(2, Math.min(3, retryAttempt)));
		new Handler().postDelayed(new Runnable() {
    		@Override
    		public void run() {
        		mInterstitialAd.loadAd();
    		}
		}, delayMillis);
    }  

    @Override  
    public void onAdDisplayFailed(MCAdInfo mcAdInfo, MCError mcError) {  
        // Ad display failure callback  
        mInterstitialAd.loadAd();
    }  
});  

mInterstitialAd.setRevenueListener(new MCAdRevenueListener() {  
    @Override  
    public void onAdRevenuePaid(MCAdInfo adInfo) {  
        // Revenue tracking callback  
    }  
});  

mInterstitialAd.loadAd(); 

java Copy
if (mInterstitialAd.isReady()) {  
    mInterstitialAd.showAd(activity, null);  
} else {
    mInterstitialAd.loadAd();
}  

3. Resource Release

java Copy
if (mInterstitialAd != null) {  
    mInterstitialAd.destroy();  
}  

4. Customized Parameter Configuration

java Copy
mInterstitialAd = new MCInterstitialAd(activity, "your mediation unit id");  
mInterstitialAd.setListener(new MCAdListener() {  
    ...  
    @Override  
    public void onAdLoaded(MCAdInfo mcAdInfo) {  
        // Retrieve custom parameters  
        mcAdInfo.getOriginJsonString();  
    }  
    ...  
});  

Map<String, Object> loadExtraParameter = new HashMap<>();  
loadExtraParameter.put("test_load_extra_key", "test_load_extra_value");  
mInterstitialAd.setLoadExtraParameter(loadExtraParameter);  

Map<String, String> extraParameter = new HashMap<>();  
extraParameter.put("test_extra_key", "test_extra_value");  
mInterstitialAd.setExtraParameter(extraParameter);  

mInterstitialAd.loadAd();  
Previous
Rewarded Ads
Next
App Open Ads
Last modified: 2025-07-21Powered by