Android Admob区间加载AD功能太慢
最近,我使用Admob和Google Play服务库(顺便说一句,它仍然有很多缺陷)添加了一个间隙广告 中间层工作正常,但以下调用:Android Admob区间加载AD功能太慢,android,admob,google-play-services,Android,Admob,Google Play Services,最近,我使用Admob和Google Play服务库(顺便说一句,它仍然有很多缺陷)添加了一个间隙广告 中间层工作正常,但以下调用: // Begin loading interstitial interstitial.loadAd(adInterstitialRequest); 速度非常慢,第一次启动我的应用程序时可能会延迟2秒 我能做些什么来避免这种情况?我完全遵循谷歌提供的例子 仅供参考我尝试使用异步任务在后台加载广告,但似乎不可能: 03-23 15:50:21.939: E/Andr
// Begin loading interstitial
interstitial.loadAd(adInterstitialRequest);
速度非常慢,第一次启动我的应用程序时可能会延迟2秒
我能做些什么来避免这种情况?我完全遵循谷歌提供的例子
仅供参考我尝试使用异步任务在后台加载广告
,但似乎不可能:
03-23 15:50:21.939: E/AndroidRuntime(3572): Caused by: java.lang.IllegalStateException: loadAd must be called on the main UI thread.
谢谢你你在使用广告监听器吗? 试试这个:
interstitial = new InterstitialAd(this);
interstitial.setAdUnitId(Your-ad-id-here);
// Create ad request.
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR).build();
// Begin loading your interstitial.
interstitial.loadAd(adRequest);
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
displayInterstitial();
}
}
为避免应用程序启动速度减慢,请延迟初始化,直到您的活动已加载且可见:
另请参见如何从后台任务中使用RunOnUIThread。这里解释的用法:我需要的是避免使用这个UI线程。实际上,这个答案对我没有帮助。同样的问题是,引入新的AdMob会导致在某些设备上加载应用程序的巨大延迟。横幅广告约3秒,间隙广告约3秒。这只是调用loadAd,而不是实际显示广告。
mAdView.postDelayed(
new Runnable() {
@Override
public void run() {
mAdView.loadAd(adRequest);
}
}, 500
);