Attaullah
Attaullah

Reputation: 4021

Can I called loadMethod while Ad is closed/onAdDismissed - AdMob?

I want integrated AdMob into my app. but here is an issue we manually need to reload Ad for showing. I want to try when some close/Dismiss the Ad automatically load again that I called it again onAdDissmissed method. Is this a policy violation? or Is a good programming practice or not?

Here my code oncreate method

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my); 
    loadMethodAdMob(); 
}

load Method

public void loadMethodAdMob() {
    AdRequest adRequest = new AdRequest.Builder().build();
    InterstitialAd.load(this, AD_UNIT_ID, adRequest, new InterstitialAdLoadCallback() {
        @Override
        public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
            // will be null until an ad is loaded.
            MyActivity.this.interstitialAd = interstitialAd;
            mToast("Ad Loaded");
            interstitialAd.setFullScreenContentCallback(new FullScreenContentCallback() {
                @Override
                public void onAdDismissedFullScreenContent() {
                    MyActivity.this.interstitialAd = null;
                    mToast("The ad was dismissed.");
                    InterstitialAdMob(); // i called it here is this ok
                }
                @Override
                public void onAdShowedFullScreenContent() { 
                    mToast("The ad was shown.");
                }
            });
        } 
    });
}

button click

public void buttonClickShowAd(){
    if (interstitialAd != null) {
        interstitialAd.show(this);
    } else {
        mToast("Ad did not load");
        requestForReload();
    }
}

Upvotes: 3

Views: 721

Answers (1)

Amod Gokhale
Amod Gokhale

Reputation: 2438

You can load n-number of interstitial ads in advance so that it will be available when show method is called. Above code is perfectly fine.

Reference - https://developers.google.com/admob/android/interstitial#some_best_practices

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 calling load() before you intend to call show() 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.


However you might also want to check Disallowed interstitial implementation policy when you load multiple objects in advance.

https://support.google.com/admob/answer/6201362?hl=en

Upvotes: 2

Related Questions