Android AdRequest returns only onAdFailedToLoad Ad

2019-03-26 01:41发布

问题:

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.

回答1:

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.



回答2:

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.



回答3:

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!



回答4:

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();
}


标签: android admob