In my application I'd like to show cycling iAd banners and another kind of "banners" made by myself.
The problem is that I don't know which could be the best practice.
I'd like to show iAd banner in a 5:1 ratio, that means for five of my banners I will show 1 time the iAd banner, every changes will be triggered by a timer of 10s. That means that the iAd banner will be hidden for 50 sec, shown for 10 and so on.
Will Apple complain about that? does this influence my revenue in the iAd network?
If you are artificially limiting the amount if time the iAd is shown (which is normally more than 10s), I believe you won't be paid for that impression.
A better solution would be to listen to the banner view's delegate and hide it only when it tells you it can't find an ad.
Related
How does Apple count impressions of iAd banners. I realise that this is not specifically a programming question, but it affects implementation of iAds drastically. I am using a shared banner instance-the same banner on all view controllers.
I have an app that hides the banner when a viewController modally presents another view controller. If the banner is visible, but than becomes invisible during the transition to the second view controller(only for a short period of time), is that an impression? Is there a time period that needs to pass in order for a banner to count as impression? Must that time period be contagious or am I allowed to show add for eg. 5 seconds, 3 seconds the add is invisible, than that same add is visible for another 25 seconds? Is that still an impression? How about using a shared banner instance? If I make a transition from one VC to another, that shared banner instance is not visible for a 0.5 second. Does this break causes impressions to not be generated? Are impression counted by the number of times the ad load in bannerViewDidLoadAd method?
Apple does not go into much detail on the subject.
From iAd Workbench glossary of terms:
impressions The number of times that users are exposed to your ad on
iOS devices, whether or not they tap your ad banner.
Try contacting them directly.
I'd assume that for every ADBannerView filled and displayed on screen for a minimal duration of seconds counts as an impression.
I don't want a banner and want to create my own size for iAd. Preferably, a square. Is there any possible way to shape iAd into a square and still put it in my app?
No, sorry. All the ads iAd serves are created for specific dimensions and would look pretty bad if you made them square. I would also guess that Apple would reject your app for using iAd incorrectly.
You may be able to find a different mobile ad company that does allow square ads. There are plenty of other companies to choose from.
If you don't want to do a banner, you should look into interstitials or check out Kiip and their ad format. You'll generally find much higher ecpms with interstitials and kiip anyway.
I'm going to be using iAds in my app and I hoped to put it inside a scroll view so the user sees one only occasionally without having a clunky banner. However, I recently read that an ad has to be on the screen for a certain amount of time to make an impression. Does anyone know how long it has to be on the screen?
Thanks!
If it a small banner like 320x50 you can show it somewhere all the times (usually bottom or top).
If it is a full-screen banner, I recommend showing it not more often than 30 seconds.
Also, if it is a game, maker sure you only display it in specific states, otherwise the users will get annoyed and write bad reviews.
I have spritekit game, Ad is preloaded on each start of game with [UIViewController prepareInterstitialAds]; And after gameover it should display ad with [self.view.window.rootViewController requestInterstitialAdPresentation]; and it's works okay, but only first time. The ad's shows only one time. After failing another game, ad do not show though preload. Any suggestions?
Do you have it set up to where it runs
[self.view.window.rootViewController requestInterstitialAdPresentation];
each time the game ends?
See the answer by gj15987 here...
requestInterstitialAdPresentation Works only one Time
He says there's a two minute block out period. I tried it and found it took 3min 20sec to allow another ad for me. I have fill rate set to 100% in the Developer section of Settings.
From the doc :
"The second major difference between a banner view and an full-screen advertisement is that the full-screen advertisement does not cycle through new content. An full-screen ad object loads a single advertisement; once that content expires, your app must release the ad object. Each time your app needs to show a new advertisement, it must explicitly create a new ad object."
straight from the horse's mouth :
iAd Programming Guide : Full-Screen Advertisements
I've set up iAd in my iOS app. When I saw the fill rate, it is very low. So I would like to insert an AdMob(an other ad provider) banner when iAd banner didFailToReceiveAdWithError.
The process goes well but I do not find the way to stop iAd to call request. So if iAd bannerViewDidLoadAd, my app display both banners.
Is there any way to stop iAd request ?
Set the iAd delegate to nil and also set the iAd banner to nil. Setting the delegate to nil, you will not receive callback anymore.
A cleaner way to handle it would be to use a mediator like Admob to serve both kinds of ads. When your first option fails to deliver it handles the fallback to your 2nd and 3rd, 4th, 5th options.