I need some help regarding AdMob interstitial ad.
I want to preload the interstitial ad in one activity. this is straight forward.
// Create an ad.
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(AD_UNIT_ID);
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice(TEST_DEVICE_ID).build();
// Load the interstitial ad.
interstitialAd.loadAd(adRequest);
Now I want to send the interstitial Ad to another activity using intent. I don't know how to send it using
intent.putExtra("myAd", interstitialAd);
Thanks in advance.
Solved this problem by using a singleton design pattern.
}
in activityA create an load ad
in Activity B retreive and show ad by
In ThisActivity, you can pre-load ad object with PreLoader asynchronously:
in OtherActivity, you can get ad object by:
wish this is helpful.
InterstitialAd
can be instantiated using anyContext
so you could instantiate it (and request ad) duringonCreate
ofApplication
subclass and then later show the ad from anywhere in your code.This way, you maximise the chances of an ad being loaded by the time you want to show it.
It would be good practice to use an
AdManager
(like mentioned in another answer), but not necessary to do so.Interstitial ads are not meant or built to be passed around like that using intents' extras.
It's better to
Example for 2nd case (semi pseudo code):
Using
Activity A
Activity B