Понятия представления баннера

Представление баннера периодически получает рекламные объявления от iAd Сети приложения и выводит на экран их пользователю. Ваше приложение выделяет небольшую часть экрана интерфейса пользователя к представлению баннера, как показано на рисунке 1-1.

Рисунок 1-1  реклама в представлении баннера

Рекламные объявления определяют действие, имеющее место, когда пользователь касается на баннере. Например, реклама могла запустить другое приложение или временно касаться пользовательского интерфейса Вашего приложения для представления интерактивной рекламы. Рисунок 1-2 показывает переход, вызванный пользователем, касающимся дисплея.

Рисунок 1-2  действие баннера

Пользователь всегда остается под контролем процесса; только пользователь решает, когда они хотят видеть содержание, связанное с рекламой баннера.

Представления баннера требуют контроллера представления

Любым экраном интерфейса пользователя, включающим представление баннера, должен управлять контроллер представления (разделяющий на подклассы класс UIViewController). Это позволяет инициированному действию покрывать Ваш пользовательский интерфейс дополнительным рекламным экраном. Каждый раз, когда представление баннера видимо, это должна быть часть иерархии представления, которая присоединена view свойство контроллера представления. Самый простой способ выполнить это состоит в том, чтобы инстанцировать представления, поскольку часть файла пера раньше инстанцировала интерфейса контроллера представления.

Создание представления баннера

Перечисление 1-1 показывает самый простой код, что контроллер представления мог бы использовать, чтобы программно создать представление баннера в режиме портрета.

Перечисление 1-1  , Программно создающее представление баннера портрета

ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
[self.view addSubview:adView];

Размеры представления баннера

iAd поддерживает различные размеры баннера для портрета и альбомных приложений. Точный размер рекламных объявлений зависит от устройства, на котором показывается баннер. На iPhone реклама портрета является 320 x 50 точек и 480 x 32 точки для альбомной рекламы. На iPad реклама портрета является 768 x 66 точек и 1024 x 66 точек для альбомной рекламы. В будущих, дополнительных размерах может быть представлен iAd.

../Art/ad_sizes.jpg

Чтобы гарантировать, что рекламные объявления выведены на экран должным образом, представление баннера должно всегда измеряться для соответствия одного из встроенных рекламных размеров. ADBannerView класс осуществляет это, препятствуя тому, чтобы Вы изменили кадр непосредственно. Вместо этого Вы изменяете кадр представления баннера путем установки currentContentSizeIdentifier свойство. Изменение значения, сохраненного в этом свойстве, изменяет размеры кадра представления баннера к соответствию размер для предоставленного идентификатора. Прежде чем можно будет установить определенный идентификатор размера, идентификатор размера должен также быть включен в набор идентификаторов размера, включенных в requiredContentSizeIdentifiers свойство. Например, Перечисление 1-2 показывает, как Ваш контроллер представления мог программно создать альбомное представление баннера.

Перечисление 1-2  , Программно создающее альбомное представление баннера

ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierLandscape];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
[self.view addSubview:adView];

Если для Вашего приложения нужен точный размер рекламы для использования во время выполнения, это вызывает sizeFromBannerContentSizeIdentifier: метод класса, передающий в также ADBannerContentSizeIdentifierLandscape или ADBannerContentSizeIdentifierPortrait.

Потокобезопасность

Представление баннера является элементом пользовательского интерфейса. Как с другими элементами пользовательского интерфейса, необходимо только сослаться на него от основного потока приложения.