插页式广告会延迟显示

时间:2015-11-05 12:58:05

标签: android admob google-play-services interstitial

我使用google-play-services 8.1.0(但它也在7.8.0上测试过)。我使用以下代码创建了AdMob插页式广告:

_interstitialAd = new InterstitialAd(this);
_interstitialAd.setAdUnitId(getString(R.string.interstitial_admob));
_interstitialAd.setAdListener(new AdListener() {
    @Override
    public void onAdClosed() {
        Logger.log("onAdClosed");
        requestNewInterstitial();
    }

    public void onAdFailedToLoad(int errorCode) {
        Logger.log("onAdFailedToLoad");
    }

    public void onAdLeftApplication() {
        Logger.log("onAdLeftApplication");
    }

    public void onAdOpened() {
        Logger.log("onAdOpened");
    }

    public void onAdLoaded() {
        Logger.log("onAdLoaded");
    }
});
requestNewInterstitial();

经过一些用户操作后,我致电

if (_interstitialAd.isLoaded()) {
        _interstitialAd.show();
        return;
    }

但广告显示需要一些时间。我已添加了一些日志消息,并显示广告已加载到广告已加载。

我在广告展示之前测量了延迟,并且每次都有不同之处。在Nexus 5(棉花糖)上它是100毫秒,这是好的1500毫米,这是不好,但舒适。但是在Nexus 7(2012)和Nexus 10等其他设备上,它从4s到6s不等,这很糟糕。

此外,我遇到的问题搞砸了我的片段生命周期。我不得不改变从后台堆栈弹出的片段,这有助于(我不会在广告显示之前删除片段,但是在onAdClosed之后执行此操作),但此步骤在广告显示之前不会消除延迟。

所有这些步骤也在8.3.0上完成

有人可以帮助我消除这种延迟吗?

2 个答案:

答案 0 :(得分:1)

本周我注意到了一些广告。他们似乎正在服务于一种导致这种延迟的新型间隙,因为它从未发生过。我暂时禁用了文字广告和图片广告(因为视频广告似乎运作良好),直到它被修复。

答案 1 :(得分:0)

您无法量化您遇到的延迟。所以很难回答这个问题。但是,如果在调用show()之前已经下载了广告,那么唯一的延迟就是渲染,这会受到您运行的硬件以及您当时正在进行的其他处理的影响。