Установка стандартного баннера

В данной статье описаны действия, которые необходимо совершить для размещения рекламного места в вашем приложении. Показан пример реализации методов делегата, а также приведен способ настройки анимированного отображения баннеров. Для UIViewController вашего приложения, отвечающего за отображение UIView, на которой вы хотите разместить рекламное место, сделайте следующее:

  • Укажите, что ваш UIViewController реализует протокол IMADRotationViewDelegate;
  • Добавьте член класса MADRotationView.

В результате, заголовочный файл вашего UIViewController может выглядеть так:

#import "IMADRotationViewDelegate.h"
#import "MADRotationView.h"
@interface FirstViewController : UIViewController<IMADRotationViewDelegate>
{
  MADRotationView *m_bannerContainer;
} 
@end

Протокол IMADRotationViewDelegate потребует реализации единственного метода:

// Метод IMADRotationViewDelegate
- (UIViewController *) MADViewController
{
    return (self);
}

UIViewController, возвращаемый методом MADViewController, будет использован библиотекой для отображения модальных экранов с рекламной информацией. В методе viewDidLoad вашего контроллера реализуйте добавление баннера:

[super viewDidLoad];
   
// Создаем контейнер
m_bannerContainer = [[MADRotationView alloc] initWithAdSize:kmAdSize_320x50];

// Указываем делегат контейнера (assign!) – текущий контроллер
m_bannerContainer.delegate = self;
// Указываем свой MY_SPACE_ID
m_bannerContainer.spaceId = @"MY_SPACE_ID"
// Добавляем контейнер на view контроллера
[self.view addSubview: bannerContainer];
// Запускаем загрузку баннеров
[m_bannerContainer load];

Важно: старайтесь не вызывать метод load больше одного раза

Очень важно: особое внимание обратите на вызов метода invalidate при уничтожении вашего контроллера:

- (void) dealloc
{
    [m_bannerContainer invalidate];
    /*Следующие строки необходимо закомментировать при использовании ARC*/
    [m_bannerContainer release]; m_bannerContainer = nil;
    [super dealloc];
}

Настройка анимации появления баннеров

MADNET SDK позволяет настраивать анимацию перехода от одного баннера к другому. С помощью этого функционала вы можете увеличить или уменьшить навязчивость баннера для вашего пользователя. Возможны следующие типы анимации:

/**
 Перечисление доступных анимаций для ротации баннеров.
 */
typedef NS_OPTIONS(NSUInteger, EmAdTransitionAnimationOption)
{
    etoOptionTransitionNone                      = 1 << 0, //UIViewAnimationOptionTransitionNone,
    etoAnimationOptionTransitionFlipFromLeft     = 1 << 1, //UIViewAnimationOptionTransitionFlipFromLeft,
    etoAnimationOptionTransitionFlipFromRight    = 1 << 2, //UIViewAnimationOptionTransitionFlipFromRight,
    etoAnimationOptionTransitionCurlUp           = 1 << 3, //UIViewAnimationOptionTransitionCurlUp,
    etoAnimationOptionTransitionCurlDown         = 1 << 4, //UIViewAnimationOptionTransitionCurlDown,
    etoAnimationOptionTransitionCrossDissolve    = 1 << 5, //UIViewAnimationOptionTransitionCrossDissolve,
    etoAnimationOptionTransitionFlipFromTop      = 1 << 6, //UIViewAnimationOptionTransitionFlipFromTop,
    etoAnimationOptionTransitionFlipFromBottom   = 1 << 7, //UIViewAnimationOptionTransitionFlipFromBottom,
	etoAnimationOptionTransitionRevealFromRight  = 1 << 8,
	etoAnimationOptionTransitionRevealFromLeft   = 1 << 9,
	etoAnimationOptionTransitionRevealFromTop    = 1 << 10,
	etoAnimationOptionTransitionRevealFromBottom = 1 << 11
};

Например, в этом случае:

m_bannerContainer.transitionMask = etoAnimationOptionTransitionRevealFromBottom;

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

m_bannerContainer.transitionMask = etoAnimationOptionTransitionRevealFromBottom | etoAnimationOptionTransitionCurlUp;

баннеры будут появляться с использованием одного из указанных видов анимации, который выбирается случайно, всякий раз, когда требуется отобразить новый баннер. Вы можете полностью отключить анимацию, выбрав значение etoOptionTransitionNone.

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

Комментарии

На базе технологии Zendesk