iAd Banner is not showing in the approved iPhone App

Christian Pappenberger picture Christian Pappenberger · Jan 3, 2014 · Viewed 12.4k times · Source

as I got my app approved I recognized that the iAd Banners don't show up unfortunately. I decided to contact the iAd Support and their answer is:

...After investigating this issue we found your app is not sending ad requests to the iAd App Network. We need to see ad requests so that the iAd App Network can attempt to fill them with an ad. Please review and confirm you have the proper iAd code implementation in place as found in the useful resources below....

I answered that the banners show up in the actual app when I run and build it from Xcode.

Here's the code I use. I followed different tutorials so I can't understand why there should be a problem with the code.

I call createiAdBanner in viewDidLoad in the view I want the ad to be displayed.

    #pragma mark - iAd Banner

- (void)createiAdBanner {

    // iAd Banners
    if ([ADBannerView instancesRespondToSelector:@selector(initWithAdType:)]) {
        adView = [[ADBannerView alloc] initWithAdType:ADAdTypeBanner];
    } else {
        adView = [[ADBannerView alloc] init];
    }
    [adView setAutoresizingMask:UIViewAutoresizingFlexibleWidth];

    [adView setFrame:CGRectMake(0, 0, 320, 50)];

    [adView setFrame:CGRectOffset([adView frame], 0, -50)];
    [adView setDelegate:self];

    [self.view addSubview:adView];
}

//
- (void)fixAdView {

    if (adView == nil) {
        return;
    }

    // Je nachdem, ob gerade ein Banenr angeigt wird
    if (adBannerViewIsVisible) {

        NSLog(@"ease in");
        [UIView animateWithDuration:0.3 animations:^{

            // Endpunkt
            adView.frame = CGRectMake(0, 64, adView.frame.size.width, adView.frame.size.height);
            [tvInfoView setFrame:CGRectMake(0, 110, tvInfoView.frame.size.width, tvInfoView.frame.size.height)];

        }];

    }
    else {

        NSLog(@"ease out");

        [UIView animateWithDuration:0.3 animations:^{

            // Endpunkt
            adView.frame = CGRectMake(0,-adView.frame.size.height, adView.frame.size.width, adView.frame.size.height);
            [tvInfoView setFrame:CGRectMake(0, 64, tvInfoView.frame.size.width, tvInfoView.frame.size.height)];

        }];

    }

}

#pragma mark  ADBannerViewDelegate

// Banner wird vom Netzwerk zur Verfügung gestellt
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
    NSLog(@"load banner");

    if (!adBannerViewIsVisible) {
        adBannerViewIsVisible = YES;
        [self fixAdView];
    }


}

// Banner wurde entfernt
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
    NSLog(@"dismiss banner");

    if (adBannerViewIsVisible)
    {
        NSLog(@"dismiss banner 222");

        adBannerViewIsVisible = NO;
        [self fixAdView];
    }

}

    - (void)bannerViewActionDidFinish:(ADBannerView *)banner {

        // Ad Banner Zustand aktualiseren, falls die Action vielleicht gerade ausgefüht wurde
        [self fixAdView];
    }

Hope you guys can help me

Answer

Bill Gross picture Bill Gross · Jan 20, 2014

If you look in the iAd workbench (click the iAd icon in iTunes Connect), you can see the stats for your app, including "Requests." If this is zero, then your app is (presumably) not asking Apple for ads -- irrespective of the fill rate.

I just ran into the same situation where banners would appear fine in my developer version, but after submitting, nothing was appearing the iTunes version. When I logged into iTunes Connect, it said I had zero requests, and I was listed as "Live Ads," so I assumed the problem was with my app. I emailed Apple, and they were less than helpful.

... But, lo and behold, 4 days after my app was submitted, ads just magically started appearing. They've gotta have some internal process where even after your app is submitted, it needs to be cleared by some iAd person. It would be nice if they listed the status as "Pending Review" instead of "Live Ads" so that people won't freak out like I did.