You may want to setup a timer to cancel the request for an interstitial ad after a certain amount of time so that you can show the next view if an ad is not filled promptly.
Prior to an interstitial ad being shown interstitialAdDidLoad
is invoked. So, if the ad has loaded, the ad is now on screen until it is dismissed where interstitialAdDidUnload
and interstitialAdActionDidFinish
will be called. Listen to these delegate methods to determine if an interstitial ad is on the screen currently.
-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidLOAD");
[interstitial presentFromViewController:self];
NSLog(@"interstitialAdDidPRESENT");
}
-(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidUNLOAD");
}
-(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidFINISH");
}
Also, refer to UIViewController iAd Additions Reference.