iAd/AdMob mediation, banner loading error? - ios

I use 2 view controllers. Both VC's have the same exact code for iAd/AdMob mediation. My refresh rate in Admob is 30 seconds, can't set any lower. Can't find where to set a refresh rate for iAd network anywhere.
When my 1st VC in viewDidLoad loads an iAd then the 2nd VC automatically loads iAd within 5 seconds.
When my 1st VC in viewDidLoad loads an AdMob banner then the 2nd VC loads iAd or AdMob banner in around 30 seconds.
Does this have to do with the refresh rate I set in AdMob? 30 seconds is the minimum. But I don't understand why when iAd loads first, then the next ad loads quickly, but if AdMob loads first the next ad loads in 30 seconds. Is this typical or is there a code to make AdMob/iAd banner load within specific timeframe?

Related

iAd interstitial not working after first time

I programmed an app such that when you press a button, it will call the iAd requestInterstitialAdPresentation() function.
The first time I do this, it works normally. However, after I close the Ad view, and I press the button again, another ad will not appear. I even turned on the unlimited Ad presentation option in the developer settings in the iPhone.
Why does another ad not appear? Is there a time you need to wait to present the next ad?
A new ad only is requested after the first ad unloads. You'll have to wait some time before a new ad is loaded into your system after the first ad unloads.

How does Apple count impressions of iAd banners?

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.

Calling interstitial iAd works only one time

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

iAd and other banners

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.

iOS loading screen - Default.png

Right now in Xcode I have in my resources and image called "Default.png" and it is working fine as a loading screen for when the app is first opened (awakeFromNib?) Anyways, It's a funny loading screen and I want to give the users at least 5 seconds to gaze at it, however the app only takes about 2 seconds to load even on my slowest testing device, how can I code it in to last longer?
You can't make this loading screen longer without code.
You're going to need to develop a view controller that you will show to the user during 5 seconds before showing the rest of you're app.
So this should be the first UIViewController you present to the user in you AppDidFininshLaunching method.
Sleep(5); in your app delegates applicationdidifinish

Resources