Android - 新的非页内广告未加载(Admob)

时间:2017-09-12 15:29:00

标签: android admob loading ads interstitial

我正在尝试在我的应用中测试插页式广告,并且第一个插页式广告正常工作。但是,当我使用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();

我正在使用模拟器,因此广告是测试广告。是否只有一个测试广告或某个广告,并且无法请求新广告?

谢谢, 斯蒂芬

1 个答案:

答案 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();
        }
    });