我最近使用Admob添加了一个插页式广告,其中包含Google Play服务库(这仍然是错误的BTW)。
插页式广告运作良好,但接下来的电话:
// Begin loading interstitial
interstitial.loadAd(adInterstitialRequest);
非常慢,我的应用首次启动时可能会延迟最多2秒。
我该怎么做才能避免这种情况?我完全按照Google here提供的示例。
仅供参考我尝试使用AsyncTask
在后台加载广告,但似乎无法做到这一点:
03-23 15:50:21.939: E/AndroidRuntime(3572): Caused by: java.lang.IllegalStateException: loadAd must be called on the main UI thread.
谢谢
答案 0 :(得分:1)
您使用的是广告收听者吗? 试试这个:
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();
}
}
答案 1 :(得分:1)
为避免应用程序启动速度变慢,请延迟初始化,直到您的活动已加载并且可见:
mAdView.postDelayed( new Runnable() { @Override public void run() { mAdView.loadAd(adRequest); } }, 500 );