onFailedToReceiveAd(Ad request successful, but no ad returned due to lack of ad inventory when using admob with adwhirl

If you are getting this error, then your code is correct. The issue is that AdMob does not always have an ad to return for every request. This may happen particularly if you have just registered your AdMob publisher ID, as it takes some time and multiple requests before the new ID starts returning ads.

Another reason your fill rate may be low is that you don't have AdSense backfill enabled, or you have filtered out some ads. Check your app settings to see if that is the case.

Finally, a test you can run to see if your AdWhirl code is implemented correctly is to request a test ad. You can do this by specifying test mode in AdWhirl:

AdWhirlTargeting.setTestMode(true);

If you get back a test ad, you'll know your code is working as intended.


One of the solutions you could try:

Some times this will happened if you changed language of your Android device to exotic language (Russian for example). Try to change it back to English and AdMob will find appropriate ad for you. Or you could go to the Google Settings->Ads->Reset advertising ID


I've just found that such error is shown if your AdMob account has been banned. But it works with a test device ID.