iOS AdMob ads not showing up unless on Test Device
-(void)adViewDidReceiveAd:(GADBannerView *)bannerView;
-(void)adView:(GADBannerView *)bannerView didFailToReceiveAdWithError:(GADRequestError *)error;
There can be number of reasons for not showing the Live ads.
- Check your google admob account for the payment info. If not filled, fill it.
- Check if your device is registered as test device, else you may get suspension from the google for 30 days or so.
- You can check the delegate methods and print the logs:
In my case, I was getting error as { 'error': 'Request Error: No ad to show.', 'adType':'banner' }
But it showed at the client side, after I delivered to the client. So, I think that this issue was due to the reason that google had no advertisements in my region.
If you are working with iOS10, you should add this to your .plist:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
<key>NSAllowsArbitraryLoadsForMedia</key>
<true/>
<key>NSAllowsArbitraryLoadsInWebContent</key>
<true/>
</dict>
Only test ads will appear otherwise. You can find more details about it at Firebase's Admob documentation.