iOS app from AdMob error = com.google.DummyAdapter

2019-03-12 04:03发布

问题:

 <Google> Cannot find an ad network adapter with the name(s): (
"com.google.DummyAdapter"
). Remember to link all required ad network adapters and SDKs, and   set -ObjC in the 'Other Linker Flags' setting of your build target.

In my AdMob.com account in the mediation stack next to the name of my app, under mediation it says 2 ad sources and when I click on 2 ad sources it shows iAd at 1.50 eCPM and AdMob at 1.00 (floor) eCPM. Next to AdMob it says AdMob Network (Not maximizing revenue. Optimize now). (App is currently NOT in iOS app store).

I'm using GoogleMobileAdsSDKiOS-7.1.0. When -7.1.0 was new I followed all the instructions on Admob site for ads to work on it. So I already have -ObjC set in "other linker flags". I have all the network adapters and SDK. So I don't know why yesterday and today I'm getting this Google message but never before. Why am I getting the message with "com.google.DummyAdapter"?

(I only receive the Google message when I build and run Xcode project on iPhone 6 device. Has no affect on other devices. Only iPhone 6 live ads don't fill even though AdMob.com shows 13 impressions)

回答1:

AdMob sends back a mediation list with only "com.google.DummyAdapter" when the actual network list returned to the app is empty. This is a special case, and it essentially just means "no fill".

It is quite possible that this happens if you set an eCPM floor and AdMob is your only network. For example, if you set a floor of 1.00 and AdMob does not have an ad worth $1.00 eCPM to show, AdMob excludes itself from your mediation chain.

In this example I'd still expect iAd to be returned. As for why it wasn't, maybe your ad unit had country level settings with iAd disabled in your country (wild guess).



回答2:

This is one of those errors where the solution is different for different people.

In my case, the fix was:
1. Find googlemobileads.framework in the finder.
2. Drag it into the trash.
3. Re-download.
4. Unzip.
5. Drag the new one into the same location where the old one was.

If that doesn't work for you, look around; there are a lot of similar questions, and one of them will probably have the answer.