【发布时间】:2015-01-22 18:39:54
【问题描述】:
我在使用 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];
每次都会制作新的插页式广告实例。
我看到了一些关于此的主题,但没有回答如何正确关闭这些实例。
【问题讨论】:
-
2015,不使用 ARC。
-
@kelin 你是什么意思?你能给我解释一下吗?
标签: ios xcode iad interstitial