我最近在Google Play服务库中添加了一个使用Admob的插页式广告(顺便说一句,这个问题还是很棘手)。

插页式广告效果不错,但调用了以下方法:

// 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.

谢谢

最佳答案

您在使用广告监听器吗?
尝试这个:

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

10-08 01:41