Программное скрытие Apple iAd ADBannerView

Я хотел бы время от времени скрывать ADBannerView. Я думаю о banner.hidden = YES и похожем на раскрытие. Я обеспокоен тем, что Apple не одобрит это, потому что получение и «отображение» рекламы при скрытом баннере кажется сомнительным.

В bannerView:didFailToReceiveAdWithError: я анимирую баннер внизу экрана. Я готов сделать это вместо использования скрытого свойства, если оно как-то лучше.

Возможно, можно сказать баннеру прекратить запрашивать рекламу. К сожалению, ничего не бросилось мне в глаза при просмотре ADBannerView.h.

Как лучше всего программно скрыть ADBannerView?


person SundayMonday    schedule 25.06.2012    source источник
comment
Почему бы просто не удалить/не выделить представление, когда оно больше не нужно?   -  person titaniumdecoy    schedule 26.06.2012
comment
Хорошее предложение. Я попробовал это, и у баннера, казалось, были проблемы с получением рекламы, если он был удален и повторно добавлен несколько раз в течение 1-2 минут.   -  person SundayMonday    schedule 26.06.2012
comment
Я скрываю рекламу с помощью banner.hidden = YES, пока не получу рекламу.   -  person Scott Bossak    schedule 26.06.2012
comment
@ScottBossak как предотвратить получение рекламы рекламными баннерами?   -  person SundayMonday    schedule 26.06.2012
comment
Возможно, вы сможете установить для делегата AdBannerView значение nil. Хотя я этого не пробовал.   -  person Scott Bossak    schedule 26.06.2012
comment
Я думаю, что banner.hidden = YES должно быть в порядке - это дело Apple, чтобы отслеживать, виден ли ваш баннер для пользователя сейчас или нет (сейчас мы не говорим о случаях неправильного использования, например, когда вы можете намеренно поместить другой элемент управления над баннером - это явное злоупотребление). Аналогичный случай: что, если у вас есть контроллер просмотра с баннером, и этот контроллер в данный момент не виден пользователю? - было бы ужасно, если бы вы должны были отслеживать все баннеры и прекращать получение информации о рекламе, если баннер в данный момент не виден   -  person sergtk    schedule 16.11.2012


Ответы (1)


Чтобы запретить просмотру баннера получать рекламу, нужно уничтожить его, когда он не нужен, как указано в Руководство по программированию iAd [выделено мной жирным шрифтом]:

При разработке приложения помните о следующих принципах:

  • Создавайте вид баннера только тогда, когда вы собираетесь показывать его пользователю. В противном случае он может циклически перебирать рекламу и истощать список доступной рекламы для вашего приложения.
  • Если пользователь переходит с экрана контента с видом баннера на экран, на котором баннера нет, и вы ожидаете, что он будет находиться на этом экране в течение длительного периода времени, удалите вид баннера из представления. иерархии, установите для делегата значение nil и отпустите его перед переходом к новому экрану содержимого. В более общем плане избегайте сохранения вида баннера, когда он невидим для пользователя.
person Squawky    schedule 31.12.2012