1
我試圖在我的免費版本應用程序上放置iad橫幅,當按下時橫幅運行平穩並且視圖確認測試廣告正確運行。但是當我關閉那個視圖時,我的應用程序已經存貨,我可以按下按鈕,但他們沒有執行它們的操作。這就是我所做的,這就是爲什麼我認爲bannerViewActionDidFinish:沒有被調用。在bannerViewActionShouldBegin中:我設置了buttonTest setEnabled = NO,然後在bannerViewActionDidFinish:中將它設置爲buttonTest setEnabled = YES。結果是該按鈕被禁用,並且在橫幅測試視圖關閉時未啓用。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;
}