AI-generated Key Takeaways
-
Starting with GMA SDK 21.0.0, you can enable optimized SDK initialization and ad loading to improve ad responsiveness and prevent ANRs.
-
To enable these optimizations, you need to add
<meta-data>
tags forOPTIMIZE_INITIALIZATION
andOPTIMIZE_AD_LOADING
in your app'sAndroidManifest.xml
file. -
Beginning with GMA SDK 24.0.0, the
OPTIMIZE_INITIALIZATION
andOPTIMIZE_AD_LOADING
flags are set totrue
by default. -
You can optimize initialization by calling
MobileAds.initialize()
on a background thread, or by enabling theOPTIMIZE_INITIALIZATION
flag if calling on the main thread. -
The
OPTIMIZE_AD_LOADING
flag optimizes ad load calls for all ad formats.
Starting from Google Mobile Ads (GMA) SDK version 21.0.0, you can enable optimized SDK initialization and ad loading to improve the overall responsiveness of ads and help prevent "Application Not Responding" (ANR) errors on your app. This guide outlines the changes you need to make to enable these optimizations.
Requirements
- Complete the Get Started guide.
- Google Mobile Ads SDK version 21.0.0 or higher.
Update your manifest file
There are two optimization flags available: OPTIMIZE_INITIALIZATION
and
OPTIMIZE_AD_LOADING
. Once they're turned on, the initialization and ad
loading tasks that require extended processing time are offloaded to
background threads.
Follow the instructions below to add the corresponding <meta-data>
tags in
your app's AndroidManifest.xml
file and turn on the flags. Note that you can
turn on one or both options in the same app.
- Optimize Google Mobile Ads SDK initialization
The best way to optimize initialization is to call
MobileAds.initialize()
on a background thread, as described in the Get Started guide. If you are already doing so, you don't need to enable this flag.If you must call the method on the main thread, enabling the flag below will move some of the initialization tasks to the background thread.
<manifest> ... <application> ... <meta-data android:name="com.google.android.gms.ads.flag.OPTIMIZE_INITIALIZATION" android:value="true"/> </application> </manifest>
- Optimize ad loading
The flag below optimizes ad load calls for all ad formats:
<manifest> ... <application> ... <meta-data android:name="com.google.android.gms.ads.flag.OPTIMIZE_AD_LOADING" android:value="true"/> </application> </manifest>