当前位置: 首页 > 知识库问答 >
问题:

我们应该先调用MobileAds.setRequestConfiguration还是MobileAds.initialize?

万修然
2023-03-14

关于这一点的文献不多。我想知道,我们应该先打电话吗

RequestConfiguration conf= new RequestConfiguration.Builder()
        .setMaxAdContentRating(
                MAX_AD_CONTENT_RATING_T)
        .build();

MobileAds.setRequestConfiguration(conf);
MobileAds.initialize(context, APP_ID);

MobileAds.initialize(context, APP_ID);
RequestConfiguration conf= new RequestConfiguration.Builder()
        .setMaxAdContentRating(
                MAX_AD_CONTENT_RATING_T)
        .build();

MobileAds.setRequestConfiguration(conf);

https://developers.google.com/admob/android/quick-start

尽管谷歌建议致电<code>MobileAds。尽早初始化

在加载广告之前,让您的应用通过调用MobileAds.initialize()初始化Mobile Ads SDK,MobileAds.initialize初始化SDK,并在初始化完成后(或30秒超时后)回调完成侦听器。这只需要做一次,理想情况下是在应用启动时。

他们还提到,在MobileAds.initialize之前需要设置“请求特定标志”。

警告:在调用MobileAds.initialize()时,移动广告SDK或中介合作伙伴SDK可能会预加载广告。如果您需要获得欧洲经济区(EEA)用户的同意,设置任何特定于请求的标志(如taForChildDirected处理或tag_for_under_age_of_consent),或在加载广告之前采取其他操作,请确保在初始化移动广告SDK之前这样做。

所以,不太清楚应该先调用哪个。

共有3个答案

雷方伟
2023-03-14

根据官方文件

加载广告之前,让您的应用程序通过调用< code > Mobile Ads . initialize()来初始化移动广告SDK,这将初始化SDK,并在初始化完成后(或30秒超时后)回调完成监听器。这只需要做一次,最好是在应用程序启动时。

因此,您应该首先初始化< code>MobileAds,看看官方文档中的示例:

   protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    MobileAds.initialize(this, new OnInitializationCompleteListener() {
        @Override
        public void onInitializationComplete(InitializationStatus initializationStatus) {
        }
    });
    mAdView = findViewById(R.id.adView);
    AdRequest adRequest = new AdRequest.Builder().build();
    mAdView.loadAd(adRequest);
}
巫马曜文
2023-03-14

这样做:

MobileAds.RequestConfiguration =
    new RequestConfiguration
        .Builder()
        .SetTagForChildDirectedTreatment(RequestConfiguration.TagForChildDirectedTreatmentTrue)
        .SetMaxAdContentRating(RequestConfiguration.MaxAdContentRatingG)
#if DEBUG
        .SetTestDeviceIds(new[] { "..." })
#endif
        .Build();
陈朗
2023-03-14

根据谷歌开发者支持,以下是正确的做法

https://groups.google.com/forum/#!分类主题/google-admob-ads-sdk/android/17oVu0sABjs

RequestConfiguration conf= new RequestConfiguration.Builder()
        .setMaxAdContentRating(
                MAX_AD_CONTENT_RATING_T)
        .build();

MobileAds.setRequestConfiguration(conf);
MobileAds.initialize(context, APP_ID);
 类似资料:
  • 从外观上看-似乎创建了一个对象的克隆。如果是这样,那么对于实现可克隆接口(只有不可变对象是新的,因为可变对象有引用复制)的关注,哪一个是最好的,为什么? 我昨天实现了克隆,然后意识到我必须为非字符串/首字母元素提供自己的修改。然后我被告知我现在正在使用的。这两个实现似乎都提供了类似的功能。 谢谢

  • 问题内容: 通过它的外观- 似乎创建了一个对象的克隆。如果是这样的话,那么与实现Cloneable接口有关的担忧(只有不可变对象才是新对象,因为可变对象复制了引用)是最好的,为什么? 昨天我实现了cloneable,然后意识到我必须对非 String / Primative 元素提供自己的修改。然后,我被告知我正在使用哪个。两种实现似乎都提供了类似的功能。 谢谢 问题答案: Josh Bloch提

  • 问题内容: 我正在使用c / c 为osx和linux开发命令行界面可执行文件。该项目将链接到opencv。我应该使用libc 还是libstdc ++? 问题答案: 我会为每个操作系统使用本机库,即GNU / Linux上的libstdc 和Mac OS X上的libc 。 libc 在GNU / Linux上不是100%完整的,而libstdc 更完整时使用libc并没有真正的优势。另外,如果

  • 问题内容: 和CSS 和有什么不一样?我应该使用哪一个?为什么? 问题答案: 所有这些答案似乎都是不正确的。与直觉相反,在CSS 中不是pixel 。至少不是在简单的物理意义上。 从W3C,EM,PX,PT,CM,IN…阅读本文,了解如何为CSS发明一个“神奇的”单元。的含义因硬件和分辨率而异。(该文章是最新的,最新更新为2014-10。) 我自己的思考方式: px单位是CSS的魔术单位。它与当前

  • 问题内容: 我正在一个将Angular和Underscore都作为依赖项的项目。 当我需要创建对象的副本时,根据当时的心情,我可以使用或 在我看来,这些方法中的一种可能比另一种更快速/可靠/健壮。 假设已经包含两个库,那么这两个函数中的任何一个是否存在使另一个函数更好或更坏使用的已知问题? 问题答案: 关于您的问题: angular.copy和_.clone是不同的。这不是哪个更好的问题,而是关于

  • 问题内容: 我想从文本文件中读取每一行并将它们存储在ArrayList中(每一行是ArrayList中的一项)。 到目前为止,我知道BufferedInputStream写入缓冲区,并且仅在缓冲区为空时才进行另一次读取,这可以最大程度地减少或至少减少操作系统的操作量。 我正确吗-我说得通吗? 如果以上情况是在任何情况下,任何人都想使用DataInputStream。最后,我应该使用这两个中的哪一个