我正在尝试在我的应用中测试插页式广告,并且第一个插页式广告正常工作。但是,当我使用mInterstitialAd.loadAd(new AdRequest.Builder().build())
请求新的第二个广告时,永远不会调用onAdLoaded()。
我的AdListener,如果它有帮助:
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
adIsLoaded = true;
}
@Override
public void onAdOpened() {
mInterstitialAd.loadAd(new AdRequest.Builder().build());
adIsLoaded = false;
adIsTimeReady = false;
}
@Override
public void onAdClosed() {
new CountDownTimer(adInterval, adInterval) { //timer to only show new ad if atleast some interval of time has passed
public void onTick(long millisUntilFinished) {}
public void onFinish() {
adIsTimeReady = true;
}
}.start();
我正在使用模拟器,因此广告是测试广告。是否只有一个测试广告或某个广告,并且无法请求新广告?
谢谢, 斯蒂芬
答案 0 :(得分:1)
似乎问题是我在前一个广告关闭之前尝试加载新广告。下面我简单地删除了onAdOpened方法并将其内容移动到onAdClosed方法。
mInterstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
adIsLoaded = true;
}
@Override
public void onAdClosed() {
mInterstitialAd.loadAd(new AdRequest.Builder().build());
adIsLoaded = false;
adIsTimeReady = false;
new CountDownTimer(adInterval, adInterval) {
public void onTick(long adInterval) {}
public void onFinish() {
adIsTimeReady = true;
}
}.start();
}
});