interstitial ads implementation using application class android

642 Views Asked by At

I want to load the ad interstitial ads in the application class and then display that ad when the user navigates from activity A to B. How to achieve this?

1

There are 1 best solutions below

2
On

You can create and InterstitialAdsManager class:

public class MyInterstitialAdsManager extends InterstitialAdLoadCallback {
    private InterstitialAd mInterstitialAd;

    public MyInterstitialAdsManager(Context context) {
        loadNewInterstitialAd(context);
    }

    @Override
    public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
        mInterstitialAd = interstitialAd;
        mInterstitialAd.setImmersiveMode(true);
        mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {});
    }

    @Override
    public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
        mInterstitialAd = null;
    }

    private void loadNewInterstitialAd(Context context) {
        AdRequest adRequest = new AdRequest.Builder().build();
        InterstitialAd.load(context, "your-ad-id", adRequest, this );
    }

    public void showAd(Activity activity) {
        if (mInterstitialAd != null) {
            mInterstitialAd.show(activity);
        }

        loadNewInterstitialAd(activity);
    }
}

and use it inside your application class:

public class MyApplication extends Application {
    public InterstitialAdsManager adsManager;

    @Override
    public void onCreate() {
        super.onCreate();

        MobileAds.initialize(this, new OnInitializationCompleteListener() {
            @Override
            public void onInitializationComplete(InitializationStatus initializationStatus) {
                adsManager = new InterstitialAdsManager(this);
            }
        });
    }
}