为什么iAd活动永远不会被解雇

时间:2012-05-04 21:29:30

标签: iphone objective-c iad

所以我按照一些关于如何集成iAds的教程,最终设法让它工作,但只是在视觉上。我的意思是我在iPhone应用程序上看到广告,我可以点击它并查看测试信息,但没有一个事件被解雇过。下面是我的事件处理程序代码,有什么我应该检查的吗?

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    NSLog(@"--- bannerViewDidLoadAd ---");
    NSLog(@"self.isBannerVisible: %@", self.isBannerVisible);

    if(!self.isBannerVisible)
    {
        [UIView beginAnimations:@"animatedAdBannerOn" context:NULL];

        self.banner.frame = CGRectOffset(self.banner.frame, 0.0, self.bannerVisibleY);
        self.header.frame = CGRectOffset(self.header.frame, 0.0, self.headerWithBannerY);

        [UIView commitAnimations];
        self.isBannerVisible = YES;
    }
}


- (void)bannerView:(ADBannerView *)banner 
    didFailToReceiveAdWithError:(NSError *)error
{
    NSLog(@"--- bannerView ---");
    NSLog(@"error: %@", error);
    NSLog(@"self.isBannerVisible: %@", self.isBannerVisible);

    if(self.isBannerVisible)
    {
        [UIView beginAnimations:@"animatedAdBannerOff" context:NULL];

        self.banner.frame = CGRectOffset(self.banner.frame, 0.0, self.bannerHiddenY);
        self.header.frame = CGRectOffset(self.header.frame, 0.0, self.headerNoBannerY);

        [UIView commitAnimations];
        self.isBannerVisible = NO;
    }
}

1 个答案:

答案 0 :(得分:2)

放入标题只声明此ViewController符合ADBannerViewDelegate协议。您仍然需要实际设置ADBannerView的委托属性。如果您使用的是.nib,请控制从横幅拖动到文件所有者并选择委托。

一般来说,如果你的委托回调没有被调用,那就是问题。