I'm trying to show ads every few button presses, the first two times it works fine but it never gets to show a third. Is my code wrong? I'm using Vscode and Android Studio.
This is the code I am using:
InterstitialAd _interstitialAd;
static bool _isInterstitialAdReady = false;
InterstitialAd _createInterstitialAd = new InterstitialAd(
adUnitId: Ads.interstitial,
listener: (MobileAdEvent event) {},
);
@override
void initState() {
super.initState();
WidgetsBinding.instance.addPostFrameCallback(_afterLayout);
FirebaseAdMob.instance.initialize(appId: Ads.appId);
_interstitialAd = InterstitialAd(
adUnitId: Ads.interstitial,
listener: (MobileAdEvent event) {
switch (event) {
case MobileAdEvent.loaded:
_isInterstitialAdReady = true;
break;
case MobileAdEvent.failedToLoad:
_isInterstitialAdReady = false;
break;
case MobileAdEvent.closed:
_interstitialAd.dispose();
_interstitialAd = _createInterstitialAd..load();
break;
default:
}
});
_interstitialAd.load();
}
@override
void dispose() {
// Add these to dispose to cancel timer when user leaves the app
_interstitialAd?.dispose();
super.dispose();
}
Call method:
if (ButtonCounter.rouletteCounter >= 10 && _isInterstitialAdReady) {
_interstitialAd
..load()
..show();
ButtonCounter.rouletteCounter = 0;
} else {
ButtonCounter.rouletteCounter++;
print('_isInterstitialReady: $_isInterstitialAdReady');
}