iAds оставляя белый блок при невозможности показать - PullRequest
2 голосов
/ 14 октября 2011

У меня проблема с iAds с момента обновления до iOS 5. Я обнаружил, что когда реклама не может быть отображена, она показывает большой белый блок, где обычно находится iAd.Есть ли способ решить эту проблему?Я попытался установить цвет фона iAd, чтобы он соответствовал цвету фона моего UIView, но это не сработало.

Ответы [ 2 ]

2 голосов
/ 31 октября 2012

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

в IB баннерный вид имеет цвет фона. Установите его в тот же цвет, что и фон :-) чистый цвет, если вы делаете код, может быть

Также не забудьте запустить вид баннера как скрытый. Так что он появляется только тогда, когда отображается вид. если он запускается незаметно, он попытается загрузить объявление, но затем исчезнет. вот почему вы получаете пустое пространство. установить скрытый в IB или в методе viewdidload

1 голос
/ 14 октября 2011

Я думаю, вы должны просто переместить баннер экрана, как показано в следующем примере, который может быть здесь

Обработка ошибок

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

Листинг 2-3 Удаление баннера, когда реклама недоступна

  • (void) bannerView: (ADBannerView *) баннер didFailToReceiveAdWithError: (NSError *) ошибка

{

if (self.bannerIsVisible)

{

   [UIView beginAnimations:@"animateAdBannerOff" context:NULL];

// Предполагается, что вид баннера находится в нижней части экрана.

   banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);

   [UIView commitAnimations];

   self.bannerIsVisible = NO;

}

}

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

Надеюсь, это поможет вам

...