Admob interstitial loadEd功能太慢了

时间:2014-03-23 07:34:19

标签: android admob google-play-services

我最近使用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.

谢谢

2 个答案:

答案 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
             );

另见AdMob causes delay in displaying fragments