Руководство по дополнительным параметрам: пакет SDK Vungle для iOS v.1.0 - v.4.1

Содержание

  1. Экземпляр Vungle SDK
  2. Отображение рекламы с учетом предпочтений конечных пользователей
  3. Дополнительные протоколы VungleSDK

Перед началом работы...

В этой статье рассматриваются расширенные настройки пакета SDK Vungle для iOS. Если вы незнакомы с нашим SDK для iOS, то можете просмотреть руководство по началу работы для iOS.

Экземпляр VungleSDK

Свойства экземпляра

Экземпляр-одиночка VungleSDK предоставляет несколько свойств, применяемых для получения данных о важных событиях и настройки способов отображения рекламы для конечного пользователя.  Вот эти свойства:

muted (BOOL): Определяет, будет ли показываемая реклама запускаться с отключенным звуком
delegate (id<VungleSDKDelegate>): Назначаемое свойство для протокола VungleSDKDelegate, позволяющее приложениям получать асинхронные обратные вызовы при определенных событиях SDK
assetLoader (id<VungleAssetLoader>): Назначаемое свойство для протокола VungleAssetLoader, позволяющее приложениям переназначать необходимые ресурсы, используемые в основном контроллере ViewController метода playAd в VungleSDK

 

Методы экземпляра и вспомогательные константы

(BOOL)isAdPlayable; Возвращает YES, если имеется кэшированная реклама, готовая к показу, и для текущего пользователя не действует ограничение по количеству просмотров в день или ставкам. Этот метод не проверяет наличия рекламы для потоковой передачи, даже если публикатор дал согласие на таковую.
(NSDictionary*)debugInfo; Возвращает NSDictionary с различной отладочной информацией касательно экземпляра-одиночки VungleSDK
(void)setLoggingEnabled:(BOOL)enable; Включает или отключает стандартную функциональность журнала для экземпляра-одиночки VungleSDK.  Журналируемые события и информация будут выводиться в консоль.  Для обработки отдельных событий журнала см. метод attachLogger ниже.
(void)log:(NSString*)message, ... NS_FORMAT_FUNCTION(1,2); Журналирует указанное сообщение в консоль и во все привязанные экземпляры VungleSDKLogger.
(void)attachLogger:(id<VungleSDKLogger>)logger Позволяет приложению привязывать к экземпляру-одиночке VungleSDK класс протокола VungleSDKLogger. Привязанный журналирующий объект будет получать все события журнала, обрабатываемые SDK.  Во избежание утечек памяти важно должным образом отвязывать журналирующий объект, когда потребность в нем исчезает.  Экземпляр-одиночка VungleSDK будет сохранять привязанный журналирующий объект до тех пор, пока тот не будет должным образом удален.
(void)detachLogger:(id<VungleSDKLogger>)logger; Отвязывает журналирующий объект.
NSString* VungleSDKVersion Строковая константа, уведомляющая о текущей версии SDK Vungle для iOS.  Включает основной и дополнительный номера версии.

Отображение рекламы с учетом предпочтений конечных пользователей

Метод playAd экземпляра-одиночки VungleSDK может принимать параметр NSDictionary, позволяющий приложению настроить отдельный показ рекламы.  Все допустимые пары «ключ/значение» из параметра NSDictionary переопределяют значения соответствующих параметров. Ключей, обязательных для добавления в словарь, нет. Настройки, включенные в параметр NSDictionary, влияют только на один отдельный вызов playAd. Пример словаря настроек можно увидеть в строках 111 и 131 примера приложения.

Ключ Значение по умолчанию / тип Описание
VunglePlayAdOptionKeyIncentivized NO
NSNumber представляет значение типа bool.
Если показ рекламы отмечен как стимулированный, это приведет к немного иному поведению в сравнении с вызовом playAd по умолчанию (как из локального SDK, так и из серверов рекламы Vungle). Эта возможность помогает разделить поведение и функциональность для рекламы с наградой за просмотр и обычной рекламы.  Подробный разбор различий между стимулированной и нестимулированной рекламой см. в этой документации.
VunglePlayAdOptionKeyOrientations UIInterfaceOrientationMaskAll
NSNumber, представляющий битовую маску с ориентациями (по умолчанию — автоповорот).
Задает ориентацию рекламы. Рекомендуется разрешить автоповорот рекламы, даже если приложение имеет портретную ориентацию: так пользователь сможет просмотреть видео на полном экране, что выглядит лучше. Этого можно добиться, задав ориентацию на уровне контроллера представления (а не на уровне проекта).
VunglePlayAdOptionKeyUser nil
NSString с идентификатором пользователя, передаваемая в том случае, если реклама — стимулированная.
Значение, передаваемое для параметра user при «стимулированном» вызове из сервера к серверу.
VunglePlayAdOptionKeyIncentivizedAlertTitleText nil
NSString
Заголовок предупреждения, которое появляется при преждевременном закрытии стимулированной рекламы пользователем.
VunglePlayAdOptionKeyIncentivizedAlertBodyText Пропустить эту рекламу? Если это сделать, вы не получите награды
NSString
Текст предупреждения, которое появляется при преждевременном закрытии стимулированной рекламы пользователем.
VunglePlayAdOptionKeyIncentivizedAlertCloseButtonText Закрыть
NSString
Надпись на кнопке, закрывающей окно предупреждения, которое появляется при преждевременном закрытии стимулированной рекламы пользователем.
VunglePlayAdOptionKeyIncentivizedAlertContinueButtonText Продолжить
NSString
Надпись на кнопке, закрывающей окно предупреждения, которое появляется при преждевременном закрытии стимулированной рекламы пользователем.
VunglePlayAdOptionKeyExtraInfoDictionary nil
NSDictionary с дополнительными ключами (определены ниже).
Основной словарь метаданных, позволяющих отслеживать те или иные показатели: возрастную группу, пол и т. д.
VunglePlayAdOptionKeyExtra1..8 nil
NSString, представляющая каждый из отслеживаемых показателей пользователей.
СКОРО ПОЯВИТСЯ. Эта функция еще не реализована; после внедрения она позволит с помощью 8 ключей отслеживать и получать дополнительную информацию о показах рекламы, пользователях и т. д.

Протоколы

Протокол VungleSDKDelegate


@protocol VungleSDKDelegate 
- (void)vungleSDKAdPlayableChanged:(BOOL)isAdPlayable;
- (void)vungleSDKwillShowAd;
- (void)vungleSDKwillCloseAdWithViewInfo:(NSDictionary*)viewInfo willPresentProductSheet:(BOOL)willPresentProductSheet;
- (void)vungleSDKwillCloseProductSheet:(id)productSheet;
@end    

Методы протокола VungleSDKDelegate

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

Метод Описание
(void)vungleSDKAdPlayableChanged:(BOOL)isAdPlayable Вызывается, когда VungleSDK изменяет статус доступности рекламы.  Логическое значение isAdPlayable обозначает новое состояние возможности показа для Vungle SDK
(void)vungleSDKwillShowAd Вызывается, когда VungleSDK готовится воспроизвести видеорекламу.  Переопределяя этот метод, удобно при необходимости ставить игру на паузу, воспроизводить те или иные звуки, анимацию и т. д.
(void)vungleSDKwillCloseAdWithViewInfo:
(NSDictionary *)viewInfo  willPresentProductSheet:(BOOL)willPresentProductSheet

Пользователь может закрыть рекламу тремя способами:

  • просмотрев видео до конца (в этом случае реклама закрывается автоматически);
  • нажав кнопку закрытия на воспроизводимой или завершившейся рекламе;
  • нажав кнопку загрузки — в этом случае открывается предоставляемый iOS магазин приложений внутри приложения (с помощью фреймворка StoreKit).

Во всех этих случаях производится обратный вызов, поскольку основной Vungle ViewController оказывается отклонен. В NSDictionary viewInfo содержится следующая информация:

  • completedView: NSNumber в качестве значения BOOL; YES означает, что было просмотрено не менее 80% видеоролика
  • playTime: NSNumber, выражающее продолжительность просмотра видео
  • didDownload: NSNumber в качестве значения BOOL; YES означает, что пользователь нажал на кнопку «Загрузить»
  • videoLength: (устарело начиная с Vungle SDK для iOS 4.0.9)

Обратите внимание, что параметр willPresentProductSheet всегда имеет значение NO. Не пытайтесь по нему определить, нажал или не нажал пользователь на кнопку загрузки.

(void)vungleSDKwillCloseProductSheet:(id)productSheet (устарело) (Устарело начиная с Vungle SDK для iOS 4.0.9.) Этот последний обратный вызов производится в случае, когда пользователь решил загрузить рекламируемое приложение и возвращается из магазина приложений в то приложение, где тот был открыт. С помощью этого события можно выбрать момент возобновления анимации, звукового сопровождения и т. д.

 

Регистрация VungleSDKDelegate

Для получения событий из экземпляра-одиночки VungleSDK классы протокола VungleSDKDelegate должны регистрироваться следующим образом:

[[VungleSDK sharedSDK] setDelegate:yourDelegateInstance];

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

Удалить делегат можно следующим образом:

[[VungleSDK sharedSDK] setDelegate:nil];

 

Протокол VungleSDKLogger


@protocol VungleSDKLogger 
- (void)vungleSDKLog:(NSString*)message;
@end

Экземпляр-одиночка VungleSDK будет отправлять события журнала всем привязанным классам протокола VungleSDKLogger.  Каждое событие журнала содержит значение NSString, которое также выводится в консоль (если журналирование включено).  Подключить журналирующий объект можно следующим образом:

 [sdk attachLogger:yourLoggerInstance];

Как уже говорилось, важно не забывать удалять прикрепленные журналирующие объекты из VungleSDK. Удаляются журналирующие объекты так:

[sdk detachLogger:yourLoggerInstance];

 

Протокол assetLoader


@protocol VungleAssetLoader
/**
 * должен вернуть действительное значение типа NSData с raw-данными изображения для указанного пути либо nil. */
- (NSData*)vungleLoadAsset:(NSString*)path;

/**
 * должен вернуть действительное UIImage для указанного пути либо nil.
 */
- (UIImage*)vungleLoadImage:(NSString*)path;
@end
Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 1 из 3
Еще есть вопросы? Отправить запрос

Комментарии