Interstitial ads are full-screen ads that cover the interface of their host app.
They're typically displayed at natural transition points in the flow of an app,
such as between activities or during the pause between levels in a game.
When an app shows an interstitial ad, the user has the choice to either tap on
the ad and continue to its destination or close it and return to the app.
This guide explains how to integrate interstitial ads into an Android
app.
When building and testing your apps, make sure you use test ads rather than
live, production ads. Failure to do so can lead to suspension of your account.
The easiest way to load test ads is to use our dedicated test ad unit ID for
Android interstitials:
/21775744923/example/interstitial
It's been specially configured to return test ads for every request, and you're
free to use it in your own apps while coding, testing, and debugging. Just make
sure you replace it with your own ad unit ID before publishing your app.
For more information about how Google Mobile Ads SDK test ads work, seeTest Ads.
Load an ad
To load an interstitial ad, call theAdManagerInterstitialAdstaticload()method and pass in anAdManagerInterstitialAdLoadCallbackto receive the loaded
ad or any possible errors. Notice that like other format load callbacks,AdManagerInterstitialAdLoadCallbackleveragesLoadAdErrorto provide higher fidelity error details.
Java
AdManagerInterstitialAd.load(this,AD_UNIT_ID,newAdManagerAdRequest.Builder().build(),newAdManagerInterstitialAdLoadCallback(){@OverridepublicvoidonAdLoaded(@NonNullAdManagerInterstitialAdinterstitialAd){Log.d(TAG,"Ad was loaded.");MyActivity.this.interstitialAd=interstitialAd;}@OverridepublicvoidonAdFailedToLoad(@NonNullLoadAdErrorloadAdError){Log.d(TAG,loadAdError.getMessage());interstitialAd=null;
}});MyAct
ivity.java
Kotlin
AdManagerInterstitialAd.load(this,AD_UNIT_ID,AdManagerAdRequest.Builder().build(),object:AdManagerInterstitialAdLoadCallback(){overridefunonAdLoaded(interstitialAd:AdManagerInterstitialAd){Log.d(TAG,"Ad was loaded.")this@MyActivity.interstitialAd=interstitialAd}overridefunonAdFailedToLoad(adError:LoadAdError){Log.d(TAG,adError.message)interstitialAd=null
}},)MyActivity.kt
Set the FullScreenContentCallback
TheFullScreenContentCallbackhandles events related to displaying yourInterstitialAd. Before showingInterstitialAd, make sure to set the
callback:
Java
interstitialAd.setFullScreenContentCallback(newFullScreenContentCallback(){@OverridepublicvoidonAdDismissedFullScreenContent(){// Called when fullscreen content is dismissed.Log.d(TAG,"The ad was dismissed.");// Make sure to set your reference to null so you don't// show it a second time.MyActivity.this.interstitialAd=null;}@OverridepublicvoidonAdFailedToShowFullScreenContent(AdErroradError){// Called when fullscreen content failed to show.Log.d(TAG,"The ad failed to show.");// Make sure to set your reference to null so you don't// show it a second time.MyActivity.this.interstitialAd=null;}@OverridepublicvoidonAdShowedFullScreenContent(){// Called when fullscreen content is shown.Log.d(TAG,"The ad was shown.");}@OverridepublicvoidonAdImpression(){// Called when an impression is recorded for an ad.Log.d(TAG,"The ad recorded an impression.");}@OverridepublicvoidonAdClicked(){// Called when ad is clicked.Lo
interstitialAd?.fullScreenContentCallback=object:FullScreenContentCallback(){overridefunonAdDismissedFullScreenContent(){// Called when fullscreen content is dismissed.Log.d(TAG,"Ad was dismissed.")// Don't forget to set the ad reference to null so you// don't show the ad a second time.interstitialAd=null}overridefunonAdFailedToShowFullScreenContent(adError:AdError){// Called when fullscreen content failed to show.Log.d(TAG,"Ad failed to show.")// Don't forget to set the ad reference to null so you// don't show the ad a second time.interstitialAd=null}overridefunonAdShowedFullScreenContent(){// Called when fullscreen content is shown.Log.d(TAG,"Ad showed fullscreen content.")}overridefunonAdImpression(){// Called when an impression is recorded for an ad.Log.d(TAG,"Ad recorded an impression.")}overridefunonAdClicked(){// Called when ad i
Interstitial ads should be displayed during natural pauses in the flow of an app.
Between levels of a game is a good example, or after the user completes a task.
To show an interstitial, use theshow()method.
Java
if(interstitialAd!=null){interstitialAd.show(this);}else{Log.d(TAG,"The interstitial ad is still loading.
Consider whether interstitial ads are the right type of ad for your app.
Interstitial ads work best in apps with natural transition points.
The conclusion of a task within an app, like sharing an image or completing a
game level, creates such a point. Make sure you consider at which points in your
app's workflow you'll display interstitial ads and how the user is likely to
respond.
Remember to pause the action when displaying an interstitial ad.
There are a number of different types of interstitial ads: text, image,
video, and more. It's important to make sure that when your app displays an
interstitial ad, it also suspends its use of some resources to allow the ad to
take advantage of them. For example, when you make the call to display an
interstitial ad, be sure to pause any audio output being produced by your app.
Allow for adequate loading time.
Just as it's important to make sure you display interstitial ads at an
appropriate time, it's also important to make sure the user doesn't have to
wait for them to load. Loading the ad in advance by callingload()before you intend to callshow()can ensure that your app has a fully loaded interstitial ad at the
ready when the time comes to display one.
Don't flood the user with ads.
While increasing the frequency of interstitial ads in your app might seem
like a great way to increase revenue, it can also degrade the user experience
and lower clickthrough rates. Make sure that users aren't so frequently
interrupted that they're no longer able to enjoy the use of your app.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eInterstitial ads are full-screen ads displayed at natural transition points in an Android app, giving users the choice to interact or close them.\u003c/p\u003e\n"],["\u003cp\u003eThis guide provides instructions on integrating interstitial ads into your Android app using the Google Mobile Ads SDK, including loading, displaying, and setting callbacks.\u003c/p\u003e\n"],["\u003cp\u003eAlways test with test ads to avoid account suspension before publishing your app, and replace the test ad unit ID with your own before release.\u003c/p\u003e\n"],["\u003cp\u003eImplement \u003ccode\u003eFullScreenContentCallback\u003c/code\u003e to manage ad events like clicks, dismissals, impressions, and display status, ensuring a smooth user experience.\u003c/p\u003e\n"],["\u003cp\u003eConsider best practices such as displaying ads during natural pauses, preloading ads for seamless transitions, and avoiding excessive ad frequency to maintain user engagement.\u003c/p\u003e\n"]]],["Interstitial ads, which are full-screen ads in apps, are displayed at natural transition points. To integrate them, use the `AdManagerInterstitialAd.load()` method with an `AdManagerInterstitialAdLoadCallback`. Always use test ad unit IDs during development. Set a `FullScreenContentCallback` to handle ad events. Show ads with the `show()` method during app pauses. It's crucial to load ads in advance, pause app resources during ad display, and avoid overwhelming users with excessive ads.\n"],null,[]]