非页内iAd实施

时间:2015-01-22 18:39:54

标签: ios xcode iad interstitial

我在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];

每次制作插页式广告的新实例。

我看到很少有关于此问题的主题,但没有回答如何正确地驳回这些情况。

1 个答案:

答案 0 :(得分:-1)

您需要在viewDidLoad中调用方法。

-(void)viewDidLoad 
{ 
  [self showFullScreenAd];
}

当我在viewWillLayoutSubviews中调用该方法时,我遇到了这个问题。