Код iAd отрывочный

Я внедрил код iAd, однако как на симуляторе, так и на моем устройстве iAd через некоторое время исчезает, даже если подключение к Интернету в порядке. Есть ли что-то, что я сделал неправильно с моей реализацией, или это просто ожидаемо? Ниже приведен как код, так и консоль, которая показывает, как часто вызываются оба. Спасибо!

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

    [super viewDidLoad];
}

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
    NSLog(@"bannerViewDidLoadAd");

 if (!self.bannerIsVisible)
    {
        [UIView beginAnimations:@"animateAdBannerOn" context:NULL];
        // banner is invisible now and moved out of the screen on 50 px
        banner.frame = CGRectOffset(banner.frame, 0, -25);  //orginally 50
        [UIView commitAnimations];
        self.bannerIsVisible = YES;
    }
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
    NSLog(@"bannerViewRecievedError");
 if (self.bannerIsVisible)
    {
        [UIView beginAnimations:@"animateAdBannerOff" context:NULL];
        // banner is visible and we move it out of the screen, due to connection issue
        banner.frame = CGRectOffset(banner.frame, 0, 25);  //orginally -50
        [UIView commitAnimations];
        self.bannerIsVisible = NO;
    }
}

- (void)dealloc {
    NSLog(@"dealloc");
    adView.delegate=nil;
    [adView release];
    [super dealloc];
}

Вот что пишет консоль:

2010-12-29 20:04:17.717 app[48943:207] bannerViewRecievedError
2010-12-29 20:04:52.410 app[48943:207] bannerViewRecievedError
2010-12-29 20:05:17.168 app[48943:207] bannerViewDidLoadAd
2010-12-29 20:05:47.166 app[48943:207] bannerViewDidLoadAd
2010-12-29 20:06:16.993 app[48943:207] bannerViewRecievedError
2010-12-29 20:06:46.803 app[48943:207] bannerViewDidLoadAd
2010-12-29 20:07:17.314 app[48943:207] bannerViewDidLoadAd
2010-12-29 20:07:47.140 app[48943:207] bannerViewRecievedError
2010-12-29 20:08:19.899 app[48943:207] bannerViewRecievedError
2010-12-29 20:08:46.978 app[48943:207] bannerViewDidLoadAd
2010-12-29 20:09:17.106 app[48943:207] bannerViewRecievedError
2010-12-29 20:09:46.930 app[48943:207] bannerViewDidLoadAd
2010-12-29 20:10:17.114 app[48943:207] bannerViewDidLoadAd
2010-12-29 20:10:47.609 app[48943:207] bannerViewDidLoadAd

person michaellindahl    schedule 30.12.2010    source источник
comment
можете ли вы помочь мне в этом. -iad   -  person ajay    schedule 11.05.2011


Ответы (2)


Нет, здесь нет проблем. Apple время от времени предлагает новую смоделированную рекламу, и иногда вы сталкиваетесь с ошибкой, чтобы проверить свои возможности обработки ошибок. Ошибка, вероятно, означает «Нет доступных ресурсов», из-за чего ваше объявление исчезнет. Из соответствующей документации для разработчиков:

Если возникает ошибка, представление баннера вызывает метод делегата bannerView:didFailToReceiveAdWithError:. Когда это происходит, ваше приложение должно скрыть вид баннера. В листинге 2-3 показан один из возможных способов реализации этого. Он использует то же свойство, что и в листинге 2-2, чтобы отслеживать видимость баннера. Если баннер виден и возникает ошибка, он перемещает баннер за пределы экрана.

Даже после того, как вашему представителю отправлена ​​ошибка, представление баннера продолжает пытаться загрузить новые рекламные объявления. Комбинация этих двух методов делегата позволяет отображать баннер только при загрузке рекламы.

Хорошая работа над хорошей реализацией обработки ошибок!

person Sam Ritchie    schedule 30.12.2010
comment
можете ли вы помочь мне в этом. -iad - person ajay; 11.05.2011

Это сделано для того, чтобы вы могли правильно обрабатывать ошибки iAd. Это случайным образом даст вам ошибки, а также хорошие тестовые данные.

person Jason Coco    schedule 30.12.2010
comment
можете ли вы помочь мне в этом. -iad - person ajay; 11.05.2011