调用MobileAds.initialize()的正确方法是什么?

时间:2016-05-24 16:05:16

标签: android

来自reference

  

应该尽早调用此方法,并且每次只调用一次   应用程序启动。

我想通过以下方式从我的应用的Application类调用此方法:

public class MyApplication extends Application {

    // ...

    @Override
    public void onCreate() {
        super.onCreate();

        MobileAds.initialize(getApplicationContext(), myAppId);
    }
}

在这种情况下,这被视为良好做法吗?

这样做的正确方法是什么?

3 个答案:

答案 0 :(得分:9)

是的,这应该没问题,谷歌实际上建议这样做其他包。例如,在Google的setup guide for Analytics中,他们建议初始化GoogleAnalytics子类中的全局Application对象。

是的,这是初始化MobileAds的正确方法。

答案 1 :(得分:1)

是的,您的代码看起来很完美。一些谷歌示例建议使用Activity.onCreate,但这与doc

相矛盾
  

"应该尽早调用此方法,每次只调用一次   应用程序启动"。

这个thread解释了为什么要调用initialize。简而言之:它加快了第一次调用AdView.loadAd。与此同时,我注意到它减慢了应用程序的创建速度。

答案 2 :(得分:1)

调用<div class="row--animated"> <ul> <li>1</li> <li>2</li> <li>3</li> <li>4</li> <li>5</li> <li>6</li> <li>7</li> <li>8</li> <li>9</li> </ul> </div>是可选的,并且MobileAds.initialize()MobileAds.initialize()上执行。因此,在Main Thread的{​​{1}}中调用它会在onCreate的显示中产生滞后。

我在OnePlus 6上进行了测试,Activity的执行花费了 400-500毫秒

我的实现是在Activity实例的MobileAds.initialize()方法中创建的单独MobileAds.initialize()中调用Thread

onCreate