Why does AdMob return NO FILL
Asked Answered
A

5

10

I'm using an AdMob view in an android app, but I'm unable to get any ad into the app.

For reference, I've added the view to a ListView as explained by Dan Dyer here

EDIT: I'm using GoogleAdMobAdsSdk-4.1.1. The release notes of Google AdMob Ads SDK for version 4.1.0 says:

"... - Added support for AdRequest.addTestDevice() and AdRequest.setTestDevices(). Note that AdRequest.setTesting() is now deprecated. ..."

This is how the ad is inserted to my ListView:

public View getView(int position, View convertView, ViewGroup parent) {

  // Some other code
  // Reusing convertView etc.

  AdView adView = 
     new AdView((Activity) getContext(), AdSize.BANNER, 
     "/xxxxxx/ca-pub-xxxxxxx/my_ad_unit");
  for (int i = 0; i < adView.getChildCount(); i++) {
    adView.getChildAt(i).setFocusable(false);
  }
  adView.setFocusable(false);
  float density = getContext().getResources().getDisplayMetrics().density;
  int height = Math.round(50 * density);
  AbsListView.LayoutParams params = new AbsListView.LayoutParams(
    AbsListView.LayoutParams.FILL_PARENT, height);

  adView.setLayoutParams(params);
  AdRequest request = new AdRequest();
  request.addTestDevice("xxxxxxxxxxxxxxxxx");
  adView.loadAd(request);

  // other stuff
  // returning convertView
}

I've also added an AdListener to the adview, and on every loadAd, the onFailedToReceiveAd callback method is called:

public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
  Log.d(TAG, "AdMob in list failed to receive ad: " + arg1.name());
}

In logcat I get this message:

08-17 15:22:18.065: AdMob in list failed to receive ad: NO_FILL

Can anyone tell me what this errorcode means?

Agincourt answered 17/8, 2011 at 13:43 Comment(0)
A
3

To answer the question:

NO_FILL is returned from AdMob when there is no inventory left to serve in the AdMob/DFP backend.

First of all this meant I was requesting an ad of size AxB, but the backend had no ads of this size left to show. It is important that the size you request has inventory left in the backend systems of AdMob/DFP.

Second, their API states that the first time you request an ad to a specific ad unit, you should expect up to two minutes before the ads start serving. I don't know if it is because I am not stationed in the US, but these two minutes often becomes at least 20 minutes if not several hours for me.

Agincourt answered 13/10, 2011 at 13:7 Comment(1)
I cannot conclude anything from this answer. I am also facing the same problem and what I am supposed to do? I can see ad request from all over the world (in admob dashboard), but there is no impression. Logcat message always shows 'no fill' :-(Bumpy
P
1

I get a 'No Fill' response when I make a request for ads in the Test or Non-Test Mode. What should I do?

In both the Test and Non-Test modes, depending on various parameters such as server load, non-availability of targeted ads, and so on, the Ad Server may send a No Fill response. Try reloading the ad after some time to keep receiving the ads. Although a No Fill is common in the advertising space, you can write to us with your queries.

http://developer.inmobi.com/wiki/index.php?title=Android

Pederson answered 27/11, 2012 at 5:56 Comment(0)
T
0

This essentially means there are no Ads currently with AdMob for your FILL request. Run AdMob in test mode and you can see the ad.

request.setTesting(true);
Tauro answered 17/8, 2011 at 14:5 Comment(2)
Edited my post. I'm using version 4.1.1 of the SDK. request.setTesting() was deprecated in 4.1.0.Agincourt
@cant0na what you did with addTestDevice is ok, of course you replaced the x's with your device id. In test mode you should get a default google banner.Chairman
N
0

Change the package name of your live app or game in market available.. and use your new admob-id in the project , check once..

Nymphet answered 7/1, 2020 at 7:53 Comment(0)
D
0

Goto your app level gradle file and change your application id into something like com.yourownpackagename.adapp. It may not load any ad or may return no fill error if you have application id as com.example.adapp. So, dont use example as package name.

Duvetyn answered 9/4 at 14:52 Comment(1)
Your answer could be improved with additional supporting information. Please edit to add further details, such as citations or documentation, so that others can confirm that your answer is correct. You can find more information on how to write good answers in the help center.Snifter

© 2022 - 2024 — McMap. All rights reserved.