I am putting ads in my app and I need to support AdMob mediation and DFP (double-click for publishers) ads in my app. I think I did everything right, I included the (new) AdMob SDK, as well as all the additional publisher SDKs and adapters from this url:
https://developers.google.com/mobile-ads-sdk/ad-network-mediation
Then I created a new DfpAdView
like this:
final DfpAdView ad = new DfpAdView(this, AdSize.BANNER, /* my ad id here */);
adView.addView(ad);
ad.loadAd(new AdRequest());
When I make the ad request I get the following exception:
09-05 09:16:00.703: E/Ads(10863): Cannot find adapter class 'GADMAdapterCustomEvents'. Did you link the ad network's mediation adapter? Skipping ad network.
09-05 09:16:00.703: E/Ads(10863): java.lang.ClassNotFoundException: GADMAdapterCustomEvents
09-05 09:16:00.703: E/Ads(10863): at java.lang.Class.classForName(Native Method)
09-05 09:16:00.703: E/Ads(10863): at java.lang.Class.forName(Class.java:217)
09-05 09:16:00.703: E/Ads(10863): at java.lang.Class.forName(Class.java:172)
09-05 09:16:00.703: E/Ads(10863): at com.google.ads.g.a(SourceFile:133)
09-05 09:16:00.703: E/Ads(10863): at com.google.ads.i.run(SourceFile:116)
09-05 09:16:00.703: E/Ads(10863): at android.os.Handler.handleCallback(Handler.java:615)
09-05 09:16:00.703: E/Ads(10863): at android.os.Handler.dispatchMessage(Handler.java:92)
09-05 09:16:00.703: E/Ads(10863): at android.os.Looper.loop(Looper.java:137)
09-05 09:16:00.703: E/Ads(10863): at android.app.ActivityThread.main(ActivityThread.java:4745)
09-05 09:16:00.703: E/Ads(10863): at java.lang.reflect.Method.invokeNative(Native Method)
09-05 09:16:00.703: E/Ads(10863): at java.lang.reflect.Method.invoke(Method.java:511)
09-05 09:16:00.703: E/Ads(10863): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
09-05 09:16:00.703: E/Ads(10863): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
09-05 09:16:00.703: E/Ads(10863): at dalvik.system.NativeStart.main(Native Method)
09-05 09:16:00.703: E/Ads(10863): Caused by: java.lang.NoClassDefFoundError: GADMAdapterCustomEvents
09-05 09:16:00.703: E/Ads(10863): ... 14 more
09-05 09:16:00.703: E/Ads(10863): Caused by: java.lang.ClassNotFoundException: GADMAdapterCustomEvents
09-05 09:16:00.703: E/Ads(10863): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
09-05 09:16:00.703: E/Ads(10863): at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
09-05 09:16:00.703: E/Ads(10863): at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
09-05 09:16:00.703: E/Ads(10863): ... 14 more
AdMob Mediation has different ad id (Mediation IDs) per platform (Android/iOS) and you get this exception when you pass an iOS ad id into an Android DfpAdView.