I've just released my first application with iAds enabled. It's been accepted by Apple and I've already earned something minor like $0.28. Now to me this means that ads have been showing on some of my users devices.
I was aware that my device will only show test ads, so I downloaded the application on a friends phone, and tried that. On this device, the ads simply never show so I was just wondering, do the ads only show at certain times? After a set time? Or have I set it up wrong? I wouldn't have thought Apple would have accepted my binary if it was setup incorrectly but I guess that's a possi开发者_如何学Pythonbility.
I was going to post the link to see if anyone could test it for me, but not sure if SO would be happy with that or not.
iAds will show test ads until Apple approve the application. Once the application is approved, the iAds will be switched to live.
You didn't mention your location, or your friends location.
As far as I'm aware, iAds are still only showing for users that live in the USA. Even then, the fill rate for iAds have been shown to be around 10-11% (not very high at all).
This means that for every 100 ad requests received, only 10 or 11 are going to actually show an iAd. the other 90-89% will show nothing.
Hopefully the fill rate will start to improve as Apple's ad inventory increases in size.
The other issue is that it seems the iAd framework will not show repeat adverts. That is to say that once a particular iAd has been shown, it won't be shown again on that device for that session (the length of a session is vague too...).
So, check your location, check your current fill rate on the iTunes Connect iAd section.
And as you said yourself, you've already made $0.28 so something must be showing.
One thing I do on my Beat The Heat app is show an AdMob ad when iAd fails to receive an ad. This way you won't lose revenue from non-US users.
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
if (self.bannerIsVisible)
{
[UIView beginAnimations:@"animateAdBannerOff" context:NULL];
// banner is visible and we move it out of the screen, due to connection issue
banner.frame = CGRectOffset(banner.frame, 0, -50);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
adMobAd.hidden = NO;
adMobAd = [AdMobView requestAdWithDelegate:self]; // start a new ad request
[adMobAd retain]; // this will be released when it loads (or fails to load)
}
My 2 cents: My hobby-project iPhone app "FlashLight4 FREE" w iAds got approved and initially (Thurs night I saw 30% fill-rate but since then it has been <10%. Definitely recommend to use some fallback - seems like apple has little inventory..
UPDATE 8/8: Yup fill-rate is low - after 3 days I see ~10% (in US) and zero% all other regions.
It doesn't sound like anything is "wrong" with your code.
We also are getting only 10% "fill rate" with iAds.
The real question is what DETERMINES "fill rates"?
Apple really has such a small "ad inventory" that they can't even serve "20 ads for 20 requests"??? (How can that be???)
Or are certain ads TARGETED only for certain apps groups?
You didn't mention it... but is your app a game, utility, sound, travel, etc?
Do people creating the ads, tell Apple "only put this ad in GAMES apps" or "only put this ad in TOP apps"?
Also, how "popular" is your app?
精彩评论