Loading an Interstitial Ad
To load an interstitial ad, first instantiate a MaxInterstitialAd
object corresponding to your ad unit.
Then call that object’s loadAd()
method.
Implement MaxAdListener
so that you are notified when your ad is ready (you are also notified of other ad-related events).
public class ExampleActivity extends Activity
private MaxInterstitialAd interstitialAd ;
private int retryAttempt ;
void createInterstitialAd ()
interstitialAd = new MaxInterstitialAd ( " «ad-unit-ID» " , getApplicationContext () ) ;
interstitialAd . setListener ( this ) ;
public void onAdLoaded ( final MaxAd maxAd )
// Interstitial ad is ready to be shown. interstitialAd.isReady() will now return 'true'
public void onAdLoadFailed ( final String adUnitId , final MaxError error )
// Interstitial ad failed to load
// AppLovin recommends that you retry with exponentially higher delays up to a maximum delay (in this case 64 seconds)
long delayMillis = TimeUnit . SECONDS . toMillis ( ( long ) Math . pow ( 2 , Math . min ( 6 , retryAttempt ) ) ) ;
new Handler () . postDelayed ( new Runnable ()
public void onAdDisplayFailed ( final MaxAd maxAd , final MaxError error )
// Interstitial ad failed to display. AppLovin recommends that you load the next ad.
public void onAdDisplayed ( final MaxAd maxAd ) {}
public void onAdClicked ( final MaxAd maxAd ) {}
public void onAdHidden ( final MaxAd maxAd )
// Interstitial ad is hidden. Pre-load the next ad
class ExampleActivity : Activity(), MaxAdListener
private lateinit var interstitialAd: MaxInterstitialAd
private var retryAttempt = 0.0
fun createInterstitialAd ()
interstitialAd = MaxInterstitialAd ( " «ad-unit-ID» " , applicationContext )
interstitialAd. setListener ( this )
override fun onAdLoaded (maxAd: MaxAd)
// Interstitial ad is ready to be shown. interstitialAd.isReady() will now return 'true'
override fun onAdLoadFailed (adUnitId: String?, error: MaxError?)
// Interstitial ad failed to load
// AppLovin recommends that you retry with exponentially higher delays up to a maximum delay (in this case 64 seconds)
val delayMillis = TimeUnit.SECONDS. toMillis ( Math. pow ( 2.0 , Math. min ( 6.0 , retryAttempt ) ). toLong () )
Handler (). postDelayed ( { interstitialAd. loadAd () }, delayMillis )
override fun onAdDisplayFailed (ad: MaxAd?, error: MaxError?)
// Interstitial ad failed to display. AppLovin recommends that you load the next ad.
override fun onAdDisplayed (maxAd: MaxAd) {}
override fun onAdClicked (maxAd: MaxAd) {}
override fun onAdHidden (maxAd: MaxAd)
// Interstitial ad is hidden. Pre-load the next ad
Showing an Interstitial Ad
To show an interstitial ad, call showAd( this )
on the MaxInterstitialAd
object that you created.
if ( interstitialAd . isReady () )
// `this` is the activity that will be used to show the ad
interstitialAd . showAd ( this ) ;
if ( interstitialAd.isReady )
// `this` is the activity that will be used to show the ad
interstitialAd. showAd ( this )
Lock Screen Ads
The AppLovin MAX SDK provides APIs with which you can display interstitial ads in the lock screen.
Use cases for this integration include audio apps, which typically appear on the lock screen.
Loading a Lock Screen Ad
You load an interstitial ad to display on the lock screen in a similar way to how you would normally load an interstitial ad
That process is described above.
However, you need to set an extra parameter for the MaxInterstitialAd
, and the Activity
you pass in must implement the LifecycleOwner
interface.
import androidx.lifecycle.LifecycleOwner ;
public class ExampleActivity extends Activity
implements MaxAdListener , LifecycleOwner
private FrameLayout adContainerView ;
private MaxInterstitialAd interstitialAd ;
private int retryAttempt ;
void createInterstitialAd ()
interstitialAd = new MaxInterstitialAd ( " «ad-unit-ID» " , getApplicationContext () ) ;
interstitialAd . setExtraParameter ( " container_view_ads " , " true " ) ;
interstitialAd . setListener ( this ) ;
import androidx.lifecycle.LifecycleOwner
class ExampleActivity : Activity(), MaxAdListener, LifecycleOwner
private lateinit var adContainerView: FrameLayout
private lateinit var interstitialAd: MaxInterstitialAd
private var retryAttempt = 0.0
fun createInterstitialAd ()
interstitialAd = MaxInterstitialAd ( " «ad-unit-ID» " , applicationContext )
interstitialAd. setExtraParameter ( "container_view_ads" , "true" )
interstitialAd. setListener ( this )
Showing a Lock Screen Ad
To show the lock screen interstitial ad, call showAd(…)
with the ViewGroup
in the ad.
if ( interstitialAd . isReady () )
// `this` is the activity that will be used to show the ad
interstitialAd . showAd ( adContainerView, getLifecycle () , this ) ;
if ( interstitialAd.isReady )
// `this` is the activity that will be used to show the ad
interstitialAd. showAd ( adContainerView, getLifecycle (), this )
The networks that support this feature are AppLovin Bidding and AppLovin Exchange.
Adding Custom Support to Adapters
To add support into a custom adapter or one of our open source adapters, override the following showInterstitialAd(…)
method.
public void showInterstitialAd ( final MaxAdapterResponseParameters parameters,
final ViewGroup containerView,
final Lifecycle lifecycle,
final MaxInterstitialAdapterListener listener )