Баннеры iOS


Инициализация

Для показа баннеров адаптивного размера или форматов 320x50, 300x250, 728x90 в своем приложении необходимо создать экземпляр класса MTRGAdView.

MTRGAdView - визуальный компонент, наследник UIView, который должен быть добавлен на экран приложения.
Для создания экземпляра MTRGAdView необходимо указать ваш slotId. Устанавливать размер (frame.size) баннера вручную не нужно.
@interface YourViewController : UIViewController
@end
 
@implementation YourViewController
{
  MTRGAdView *_adView;
}
 
- (void)initAd
{
    // Включение режима отладки
    // [MTRGAdView setDebugMode:YES];
     
    // Создаем экземпляр MTRGAdView
    _adView = [MTRGAdView adViewWithSlotId:YOUR_SLOT_ID];
  
    //  Формат 300x250
    // _adView.adSize = MTRGAdSizeType300x250;
}
По умолчанию устанавливается формат MTRGAdSizeTypeAdaptive. При этом баннер автоматически растягивается по ширине экрана с сохранением пропорций, а высота будет не менее 50 пикселей, но не более 15% от высоты экрана.

Есть возможность переустановить свойство adSize. В этом случае SDK перестанет отслеживать изменения ориентации устройства и менять размеры адаптивного баннера. Тогда при использовании баннеров адаптивного размера необходимо самостоятельно отслеживать изменения:
- (void)viewDidLayoutSubviews
{
    [super viewDidLayoutSubviews];
    _adView.adSize = [MTRGAdSize adSizeForCurrentOrientation];
}
Если метод load() уже был вызван, то сменить формат на 300x250 уже нельзя (также как и установить другой формат если до этого был 300x250).

MTRGAdSize

MTRGAdSize - класс, который позволяет задать размер для MTRGAdView. Доступны следующие размеры: MTRGAdSizeType320x50, MTRGAdSizeType300x250, MTRGAdSizeType728x90, MTRGAdSizeTypeAdaptive.
+ (instancetype)adSize320x50;
+ (instancetype)adSize300x250;
+ (instancetype)adSize728x90;
+ (instancetype)adSizeForCurrentOrientation; // Адаптивный размер
+ (instancetype)adSizeForCurrentOrientationForWidth:(CGFloat)width; // Адаптивный размер с ограничением максимальной ширины

Загрузка и показ рекламных объявлений

Созданный и настроенный экземпляр MTRGAdView необходимо добавить на экран приложения. Для обработки кликов необходимо установить созданному экземпляру MTRGAdView текущий ViewController. Для получения уведомлений (таких как успешная загрузка данных или ошибка загрузки, клик по рекламному объявлению) необходимо установить созданному экземпляру MTRGAdView делегат, реализующий протокол MTRGAdViewDelegate, после чего можно запустить загрузку данных. После успешной загрузки данных можно запустить показ рекламных объявлений.
@interface YourViewController : UIViewController <MTRGAdViewDelegate>
@end
 
@implementation YourViewController
{
  MTRGAdView *_adView;
}
 
- (void)initAd
{
    // Создаем экземпляр MTRGAdView
    _adView = [MTRGAdView adViewWithSlotId:YOUR_SLOT_ID];
     
    // Устанавливаем делегат
    _adView.delegate = self;
  
    // Устанавливаем контроллер
    _adView.viewController = self;
 
    // Добавляем на экран
    [self.view addSubview:_adView];
     
    // Запускаем загрузку данных
    [_adView load];
}
  
- (void)onLoadWithAdView:(MTRGAdView *)adView
{
}
 
- (void)onNoAdWithReason:(NSString *)reason adView:(MTRGAdView *)adView
{
}
 
- (void)onAdShowWithAdView:(MTRGAdView *)adView
{
}
 
- (void)onAdClickWithAdView:(MTRGAdView *)adView
{
}
 
- (void)onShowModalWithAdView:(MTRGAdView *)adView
{
}
  
- (void)onDismissModalWithAdView:(MTRGAdView *)adView
{
}
  
- (void)onLeaveApplicationWithAdView:(MTRGAdView *)adView
{
}

Ротация

Рекламные объявления ротируются каждые 60 секунд. Вы можете отключить автоматическую ротацию объявлений при инициализации экземпляра MTRGAdView, указав дополнительный параметр shouldRefreshAd. Ротируются все баннеры кроме формата 300х250.
// Выключение автоматической ротации баннеров
_adView = [MTRGAdView adViewWithSlotId:YOUR_SLOT_ID shouldRefreshAd:NO];
Баннер 320x50

Медиация с другими рекламными SDK

Для баннеров поддерживается медиация с Admob SDK и Mopub SDK. В режиме медиации автоматическая ротация баннеров отключена.

Медиация Admob

myTarget является сертифицированным партнером Google Mediation.

Требования
- Xcode 11 или выше
- iOS Deployment target of 9.0 или выше
- Google Mobile Ads SDK 7.57.0 или выше

Краткая инструкция для медиации myTarget через Admob
- Настроить группу медиации в настройках рекламного блока Admob
- Импортировать myTarget SDK и адаптер (при установке адаптера с помощью менеджера зависимостей CocoaPods, автоматически будет установлены myTarget SDK и Google Mobile Ads SDK)
- Протестировать интеграцию

Пожалуйста, ознакомьтесь с полной версией инструкции: https://developers.google.com/admob/ios/mediation/mytarget#step_2_configure_mediation_settings_for_your_ad_unit

Медиация Mopub

Необходимо подключить к проекту файлы из директории mediation Github репозитория https://github.com/myTargetSDK/mytarget-ios/tree/master/mediation

Настройка медиации осуществляется на сайте http://www.mopub.com/

Для создания сети медиации, нужно зайти в раздел Networks и добавить Custom Native Network, где необходимо задать следующие поля:
Поле
Значение
CUSTOM EVENT CLASS
MTRGMopubAdViewCustomEvent
CUSTOM EVENT CLASS DATA
{"slotId":"<your slot Id>"}
Настройка параметров
Вам помогла эта статья?
Да
Нет