我是Android开发的新手。我有一个Web视图应用程序。我当前的代码Admob interstitial只加载一次。有人能帮我在网页加载后如何设置Admob Interstitial load吗?
AdRequest adRequest = new AdRequest.Builder().build();
// Prepare the Interstitial Ad
interstitial = new InterstitialAd(MainActivity.this);
// Insert the Ad Unit ID
interstitial.setAdUnitId(getString(R.string.admob_interstitial_id));
interstitial.loadAd(adRequest);
// Prepare an Interstitial Ad Listener
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
// Call displayInterstitial() function
displayInterstitial();
}
public void displayInterstitial() {
// If Ads are loaded, show Interstitial else show nothing.
if (interstitial.isLoaded()) {
interstitial.show();
}
}
});发布于 2017-05-16 18:52:01
以下是代码
mWebView.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
//web page loaded , show your interstitial
}
});发布于 2020-10-22 10:44:27
我也有同样的问题。这对我很有效(在Flutter中):
import 'package:firebase_admob/firebase_admob.dart';
InterstitialAd _interstitialAd;
bool _isInterstitialAdReady;
void prepAd(){
initState();
_loadInterstitialAd();
}
void runAd() {
_interstitialAd.show();
}
void initState() {
_isInterstitialAdReady = false;
_interstitialAd = InterstitialAd(
adUnitId: InterstitialAd.testAdUnitId,
listener: _onInterstitialAdEvent,
);
}
void _loadInterstitialAd() {
_interstitialAd.load();
}
// TODO: Implement _onInterstitialAdEvent()
void _onInterstitialAdEvent(MobileAdEvent event) {
switch (event) {
case MobileAdEvent.loaded:
_isInterstitialAdReady = true;
break;
case MobileAdEvent.failedToLoad:
_isInterstitialAdReady = false;
print('Failed to load an interstitial ad');
break;
case MobileAdEvent.closed:
dispose();
prepAd();
break;
default:
// do nothing
}
}
void dispose() {// TODO: Dispose InterstitialAd object
_interstitialAd?.dispose();
}一开始我只运行了一次prepAd(),然后在需要的时候只运行了runAd()。如果需要,可以在runAd()中检查_isInterstitialAdReady == true
https://stackoverflow.com/questions/43999116
复制相似问题