Android AdRequest returns only onAdFailedToLoad AdRequest.ERROR_CODE_NO_FILL

9.9k views Asked by At

My application has been on the Google Play store for a month and everything was working fine. Two days ago I added it to the "Designed for families" category. I received acceptance and congratulations from the Google team. Since this, my Interstitials have stopped showing. I receive AdRequest.ERROR_CODE_NO_FILL.

InterstitialAd interstitialAd;   
Bundle extras = new Bundle();
extras.putBoolean("is_designed_for_families", true); 

AdRequest adRequest = new AdRequest.Builder()
        .addNetworkExtrasBundle(AdMobAdapter.class, extras)
        .build();
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(InterstitialSample.AD_UNIT_ID);
interstitialAd.loadAd(adRequest);
interstitialAd.setAdListener(new AdListener() {
        @Override
        public void onAdLoaded() {
            Log.d("Tim", "OK");
        }

        @Override
        public void onAdFailedToLoad(int errorCode) {
            String message = String.format("onAdFailedToLoad (%s)", InterstitialSample.getErrorReason(errorCode));
            Log.d("Tim", message);
        }
    });

I didn't change the package name. Also, I tried changing the AD_UNIT_ID with no success.

4

There are 4 answers

0
Tim Kruichkov On BEST ANSWER

It is not a bug. Just a few ads has characteristics "for children 5 years" or "for children 8 years". Remove your app from "Design for families" category for showing ads or wait until there will be advertising with similar characteristics.

2
RedBrogdon On

There doesn't appear to be anything wrong with your code. I think you're receiving a genuine "no fill" response.

Ads that are deemed as child- and family-friendly are a subset of the broader ads pool. If you show ads today, after opting-in to the Designed for Families program, you might notice fewer filled impressions and lower revenue. We're working on increasing the pool of ads that are eligible to serve to DFF apps.

7
kindergarten On

I have the similar issue with regular banner ads: In April 17th I added the app to the new "Designed for Families" program with settings: Family Category: Education, Age Group: Ages 5 & Under, Ages 6-8, Displaying Ads: Yes I checked the requirements and ad policies - my app is compliant. The app was successfully approved by Google Developer team.

After opening the case in Admob, they asked me to add in source the code that sets "is_designed_for_families" to true and calls the tagForChildDirectedTreatment() method for ad requests served to a child audience. Upon seeing both"is_designed_for_families" and tagForChildDirectedTreatment() set to true, AdMob will return Designed for Families-compliant ads for that ad request. I did it, but nothing changes - still receiving "No fill from ad server."

Since April it is near two months my app received ZERO ads. It seems that the pool of kids friendly ads is empty. I am still waiting for issue to be resolved.

I think that the problem is that Admob did not included the "Designed for Families" category in ads campaign at all!!! I personally checked it and did not seen this option when setting advertising campaign!

0
Ahmer Afzal On

I think missing this

/**
 * Called when leaving the activity
 */
@Override
public void onPause() {
    if (adView != null) {
        adView.pause();
    }
    super.onPause();
}

/**
 * Called when returning to the activity
 */
@Override
public void onResume() {
    super.onResume();
    if (adView != null) {
        adView.resume();
    }
}

/**
 * Called before the activity is destroyed
 */
@Override
public void onDestroy() {
    if (adView != null) {
        adView.destroy();
    }
    super.onDestroy();
}