1

加载 admob 广告使应用程序启动非常缓慢,看起来 admob 使用在 UI 线程上运行的 WKWebview。

如果我在后台获取(获取数据而不显示它们)广告并将它们保存在内存中以便当应用程序启动或进入前台时它不会滞后,是否可以?有没有针对此的指导方针?

我的用户通常每 2-3 小时访问一次该应用程序,因此该应用程序很有可能不会被终止,并且广告会保留在内存中以供将来使用

4

1 回答 1

0

https://developers.google.com/admob/android/banner#load_an_ad

请参考此声明注意:在主线程上对 Mobile Ads SDK 进行所有调用。

另请参阅此链接https://groups.google.com/g/google-admob-ads-sdk/c/NBpj7fy7wYc

Hi everyone,

Below are my responses to your concerns:

    I am having the same issue with my app, this MobileAds.initialize() method, when used as prescribed, is responsible for a huge part of my app startup time.  A median of 405ms and a p95 of 1.5 seconds.


It is important to note that initializing the SDK using the MobileAds.initialize() method is optional. Also, if you decided not to call this method, the SDK will be initialized automatically on your very first Ad request which might increase the Ads load time to a few milliseconds more, similar to what Minas have observed. That said, you should be able to load Ads with or without implementing the MobileAds.initialize() as it is mainly for the purpose of initializing the SDK ahead to decrease load time on the first Ad request.

     Is it safe to run the MobileAds.initialize() method on a background thread instead of running it on the main UI thread?


Please note that according to this guide, all calls to the Mobile Ads SDK such as the MobileAds.initialize() should be executed on the main thread and not in the background thread.

Regards,
Steven Balan
Mobile Ads SDK Team
于 2020-11-02T06:34:05.740 回答