Google Mobile Ads SDK v17.0.0 for Android has just been released, and it comes with two important changes that you should be aware of:
- A
tag is now required in AndroidManifest.xml. - NativeAppInstallAd and NativeContentAd APIs are deprecated in favor of UnifiedNativeAd.
Required AndroidManifest.xml changes
Starting in version 17.0.0, if you are an AdMob publisher you are now required to add your AdMob app ID in your AndroidManifest.xml
file. Once you find your AdMob app ID in the AdMob UI, add it to your manifest adding the following
tag:
<manifest> <application> <!-- TODO: Replace with your real AdMob app ID --> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-################~##########"/> </application> </manifest>
Failure to add this tag will result in the app crashing at app launch with a message starting with "The Google Mobile Ads SDK was initialized incorrectly."
What if I'm using Google Ad Manager instead of AdMob?
Publishers using Google Ad Manager will need to declare themselves as an Ad Manager app with a different
tag to avoid the same crash:
<manifest> <application> <meta-data android:name="com.google.android.gms.ads.AD_MANAGER_APP" android:value="true"/> </application> </manifest>
See the getting started guide (AdMob | Ad Manager) for additional details on how to make this change.
NativeAppInstallAd and NativeContentAd APIs are deprecated
This release also officially deprecates the NativeAppInstallAd and NativeContentAd APIs in favor of the previously released UnifiedNativeAd API. The UnifiedNativeAd
APIs offer a consolidated way to render any type of native ad, reducing the number of lines of code needed to integrate native ads by up to 50%.
The following example shows how to load both app install and content ads using the new unified API:
AdLoader adLoader = new AdLoader.Builder(context, "ca-app-pub-3940256099942544/2247696110") .forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() { @Override public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) { // Show the ad. } }) .build(); adLoader.loadAd(new AdRequest.Builder().build());
Check out the native ads guide to get started with the unified API.
What else changed?
See the release notes for a full list of changes. If you have any questions about the release, please reach out to us on the Google Mobile Ads SDK developer forum.