Ok so I implemented iAds into my current app.
Problem is how do I know its working as intended or not?
Debugging on local device or simulator shows the Test Advertisement, but also often shows nothing and the
"The operation couldn’t be completed. Ad inventory unavailable"
exception is thrown on FailedToReceiveAd.
So I set the iAd banner to hide if exception is thrown. And show if ad was succesfully loaded.
Anyway i did setup all the settings required in IC and sent the app to appstore(update).
Now in my iAd module i can see the following data.. *se pic
It does look right but when i ask some friends to check if the app is displaying ads ok they say the never see any ads.. I have seen some questions regarding this but only answers saying fill rating isnt up to quota or something equal to that.. What percentage do i have to reach for my ap to start displaying ads properly??
And is there a way for the app get out of that annoying exception that comes up way to often?
I think you misunderstand what the fill rate is. It isn't a quota that you need to reach. The fill rate is the percentage of requests for ads that result in an ad actually being served.
iAd's fill rates, as you've already heard, are pretty low, often less than 20%. What that means is that only one time out of five -- and probably less -- are you likely to see an ad. Worse, most countries don't have any inventory at all.
What can you do to increase the fill rate? Not a lot. Make sure you actually show the ad. Make sure it's visible for at least a few seconds.
You can increase the chance of actually displaying an ad by using something like AdWhirl, but chances are it won't be served by Apple in the case.
Related
I've noticed something interesting in what seems to be the recommended way to show iads in some apps.
In the Apple NavigationBanner example ads are downloaded by the AppDelegate but (according to my reading) are only displayed when the user clicks something in the table and a TextViewController is put on screen.
I'm using this exact behaviour in my app but it occurs to me this could be bad, loading but never showing could cause payouts for ads that were never displayed. I wouldn't want to accidentally fall foul of the rules.
Am I right to be worried about this? Or are Apple perhaps using some unknown mechanism to track what ads have been put on screen instead of simply downloaded to calculate their impression count?
Thanks.
Apple is very careful to ensure that ads are only credited when displayed.
In one of our games, we had an issue with layout which would sometimes cause an object to be in front of the iAd (a very small one, in fact - you could still see the ad). In those cases, the iAd framework logged that we wouldn't receive an impression because the ad was obscured.
I have followed an example tutorial online for integrating in-app purchases in to my app. It is all working fine purchasing and unlocking the extra content. However, the notification that gets posted for confirming the purchase can take from 4-9 seconds to appear. This does not make for a very consistent user experience and makes the app appear slow.
Has anyone else had the same problem as this or know of a fix for it?
The long length of time and inconsistency is probably originating from the following:
When the user makes a purchase network messages will be sent to apples server - the length of time this will take will be inconsistent depending on the distance from the server, the amount of nodes the message passes through and the quality of the connections you are using.
When the message reaches apples server it will need to be processed and a response generated - the length of this time will be inconsistent depending on the load currently affecting the server.
A confirmation then will be transmitted back over the network - same rules apply as for the outgoing message.
The device upon receiving the confirmation will display the alert to the user.
Unless you are able to make changes to the network which the message travels upon or can improve apples servers response times you will not be able to reduce the time or inconsistency.
A "solution" would be to display an activity indicator with a helpful message to the user explaining what is happening, if you plan on doing this recommend the following utility DSActivityView. Its easy to use and quick to hook up and has been useful for me when faced with similar problems.
I added iAd in my most successful application a few weeks / months ago and I noticed some weird issues.
Latency
I noticed a speed issue : adding a banner to a view, I sometimes gets a response after 10 seconds, sometimes it's pretty normal (like 1 second); I guess it ain't good for revenues since some of my views are displayed only a few seconds, depending on the user. I get this latency issue both on wifi and 3G connections. Did any of you guys noticed the same issue?
PS : most of my users are in France (I don't know if the iAd architecture is scaled for both USA and Europe)
Ad inventory
The AdBannerViewDelegate calls bannerView:didFailToReceiveAdWithError: with the "Ad inventory unavailable" pretty often. I don't know the exact meaning but I wonder if a request receiving this error is registered on Apple side : since i use AdMob to display an ad when iAd is unable to get one, I have this weird issue of having more requests registered on AdMob than on iAd!
Thanks for any tips :)
It's normal that there is some latency and it's unusual each time - Internet speeds differs a lot in each country, so, don't worry.
And about this error "Ad inventory unavailable" is okay too, in my apps there are lots of them, it's not a bug - just iAd isn't very gainful. I think and use it like a bonus for free version of paid application.
Well, I get this message all the time using AdWhirl:
Unable to fill ad request. This is a common situation.
I think it's from the AdMob network. I also have a couple of other networks (registered yesterday) and I never seem to be getting any ad requests filled. In test mode it does work though. Now is this common and will it pick up?
Turns out it went away after a couple of days. I guess AbMob had to review the application first.
Not only is this normal when the app is new, but it is also more frequent depending on your geographic location. In Switzerland I had ads all the time. While I am here in Brazil now I face much more often the "no inventory" issue.
In any case you can't do much about it, other than to rollover to another fallback network if you use Adwhirl or a similar solution.
Is it okay to display and hide an iAd at will?
Or is there an Apple-policy that says we MUST show an iAd at all times?
Also, any way to configure (or if its even possible) to set the interval at which the ads are rotated/updated?
The iAd Programming Guide is quite specific about this:
Once you display the ad banner, you should leave it visible for at least 30 seconds, unless the user requests a new page or screen as described in your agreement under “Minimum Rendering Time”.
I personally haven't signed any iAd agreement but if you use it in your app, you presumably have. So look there for more details.