我使用 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;
}
但是广告显示需要一些时间。我添加了一些日志消息,它们显示广告已加载 onAdLoaded 被调用。
我测量了广告展示前的延迟,每次都不一样。在 Nexus 5 (marshmallow) 上,它从 100ms 到 1500ms,这不是很好,但很舒服。但在 Nexus 7 (2012) 和 Nexus 10 等其他设备上,它从 4s 到 6s 不等,这很糟糕。
我还遇到了打乱我的 fragment 生命周期的问题。而且我不得不更改从后台弹出的 fragment ,这有帮助(我不会在广告显示之前删除 fragment ,而是在 onAdClosed 之后执行此操作),但此步骤不会消除广告显示前的延迟。
所有这些步骤也在 8.3.0 上完成
谁能帮我消除这个延迟?
最佳答案
我在本周的一些广告中注意到了这一点。似乎他们正在提供一种导致这种延迟的新型插页式广告,因为它以前从未发生过。在修复之前,我暂时禁用了文字和图片广告(因为视频广告似乎效果不错)。
关于android - 插屏广告延迟展示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33545184/