2012-04-12 3 views
1

무료 버전 앱에 iad 배너를 넣으려고하면 배너를 부드럽게 실행하고 테스트 광고가 올바르게 실행되고 있다는 확인 메시지가 표시됩니다. 하지만 그때 내 응용 프로그램을 재고보기를 닫았을 때, 나는 버튼을 누를 수 있지만 그들의 행동을 실행하지 않았다. 이것이 제가하는 일입니다. 왜냐하면 나는 bannerViewActionDidFinish :가 호출되지 않았다고 생각합니다. bannerViewActionShouldBegin : buttonTest setEnabled = NO로 설정 한 다음 bannerTest setEnabled = YES로 설정합니다 (bannerViewActionDidFinish :). 결과적으로 배너 테스트 뷰를 닫을 때 버튼이 비활성화되고 활성화되지 않았습니다.IAd bannerViewActionDidFinish : 테스트 실행 확인보기가 닫힌 후 실행되지 않았습니다.

.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의 클릭 연결을 위해 신청서를 남겨 두지 않습니다.