2012-04-12 2 views
1

を閉じた後に実行されなかった、バナーがスムーズに実行され、テスト広告が正しく実行されているとの見方を確認。私は自分のアプリケーションをストックして、そのビューを閉じたときしかし、その後、私はボタンを押すことができますが、彼らは彼らの行動を実行しませんでした。呼び出されなかった。これは私がbannerViewActionDidFinishはと思う理由です何をすべきかです。 bannerViewActionShouldBeginでは:私は、その後、bannerViewActionDidFinishでbuttonTest setEnabled = YES作っ= buttonTest setEnabledを設定:.その結果、ボタンが無効になったとバナーテストビューが閉じられた時に有効になりませんでした。IAD bannerViewActionDidFinishは:押したときに表示確認を実行しているテストは、私は私の無料版アプリにIADバナーを置くしようとしています

.hファイル

#import <iAd/iAd.h> 

ADBannerView *adView; 
BOOL bannerIsVisible; 

@property (nonatomic, assign)BOOL bannerIsVisible; 

この場合、.mファイル

@synthesize bannerIsVisible; 

- (void)viewDidLoad 
{ 
    adView = [[ADBannerView alloc] initWithFrame:CGRectZero]; 
    adView.frame = CGRectOffset(adView.frame, 0, -50); 
    adView.requiredContentSizeIdentifiers = [NSSet  setWithObject:ADBannerContentSizeIdentifierLandscape]; 
    adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape; 
    [self.view addSubview:adView]; 
    adView.delegate=self; 
    self.bannerIsVisible=NO;  

    [super viewDidLoad]; 
} 

- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{ 
    if (!self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animateAdBannerOn" context:NULL]; 
     banner.frame = CGRectOffset(banner.frame, 0, 50); 
     [UIView commitAnimations]; 
     self.bannerIsVisible = YES; 
    } 
} 

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error 
{ 
    if (self.bannerIsVisible) 
    { 
     [UIView beginAnimations:@"animateAdBannerOff" context:NULL]; 
     banner.frame = CGRectOffset(banner.frame, 0, -50); 
     [UIView commitAnimations]; 
     self.bannerIsVisible = NO; 
    } 
} 

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave 
{ 
    NSLog(@"Banner view is beginning an ad action"); 

    [buttonTest setEnabled:NO]; 

    return YES; 
} 

-(void)bannerViewActionDidFinish:(ADBannerView *)banner 
{ 
    // resume everything you've stopped 

    [buttonTest setEnabled:YES]; 
} 

- (void)viewDidUnload 
{ 
    adView.delegate = nil; 
} 

答えて

0

、あなたがbannerViewActionShouldBegin:willLeaveApplication:

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave 
{ 
    NSLog(@"Banner was clicked on; will%sleave application", willLeave ? " " : " not "); 

    [buttonTest setEnabled:!willLeave]; 

    return YES; 
} 

この方法のwillLeave:引数をチェックすることができ、buttonTestがあれば有効なままあなたはのiAdのクリックスルーのためのアプリケーションを放置しないでください。

関連する問題