我在iAd全屏广告方面遇到问题。 我实现iAd就像:
-(void)showFullScreenAd {
//Check if already requesting ad
if (requestingAd == NO) {
[ADInterstitialAd release];
interstitial = [[ADInterstitialAd alloc] init];
interstitial.delegate = self;
self.interstitialPresentationPolicy = ADInterstitialPresentationPolicyManual;
[self requestInterstitialAdPresentation];
NSLog(@"interstitialAdREQUEST");
requestingAd = YES;
}//end if
}
-(void)interstitialAd:(ADInterstitialAd *)interstitialAd didFailWithError:(NSError *)error {
interstitial = nil;
[interstitialAd release];
[ADInterstitialAd release];
requestingAd = NO;
NSLog(@"interstitialAd didFailWithERROR");
NSLog(@"%@", error);
}
-(void)interstitialAdDidLoad:(ADInterstitialAd *)interstitialAd {
NSLog(@"interstitialAdDidLOAD");
if (interstitialAd != nil && interstitial != nil && requestingAd == YES) {
[interstitial presentFromViewController:self];
NSLog(@"interstitialAdDidPRESENT");
}//end if
}
-(void)interstitialAdDidUnload:(ADInterstitialAd *)interstitialAd {
interstitial = nil;
[interstitialAd release];
[ADInterstitialAd release];
requestingAd = NO;
NSLog(@"interstitialAdDidUNLOAD");
}
-(void)interstitialAdActionDidFinish:(ADInterstitialAd *)interstitialAd {
interstitial = nil;
[interstitialAd release];
[ADInterstitialAd release];
requestingAd = NO;
NSLog(@"interstitialAdDidFINISH");
}
我打电话给“showFullScreenAd”来展示广告。但是在调用它10次之后我收到了这条消息,即使我关闭了这个View Controller并设置了interstitial = nill,:
警告:目前存在超过10个ADBannerView或ADInterstitialView实例。这是对iAd API的误用,因此广告效果会受到影响。此消息仅打印一次。
问题是解雇插页式广告我猜。因为声明 interstitial = [[ADInterstitialAd alloc] init];
每次制作插页式广告的新实例。
我看到很少有关于此问题的主题,但没有回答如何正确地驳回这些情况。
答案 0 :(得分:-1)
您需要在viewDidLoad
中调用方法。
-(void)viewDidLoad
{
[self showFullScreenAd];
}
当我在viewWillLayoutSubviews
中调用该方法时,我遇到了这个问题。