Общие сведения
Реклама внутри передачи
Реклама внутри передачи – это полноэкранная реклама, которая закрывает интерфейс вашего приложения. Как правило, она отображается во время переходных процессов вашего приложения, например, между действиями или во время паузы между уровнями в игре. Некоторая реклама внутри передачи является рекламой с вознаграждением.
Реклама с вознаграждением
Реклама с вознаграждением очень привлекательна для пользователей, поскольку она предлагает награду за просмотр или взаимодействие с рекламой. Вознаграждение, как правило, предоставляется внутри вашего приложения, например, дополнительные жизни в игре, виртуальная валюта или подсказка в головоломке (тип и размер вознаграждения определяете вы). Отображаемые во время естественных перерывов активности в приложении, рекламные видеоролики с вознаграждением обеспечивают высокий доход, особенно если сделать их просмотр обязательным в соответствии с нашими рекомендациями.
Обратите внимание, что реклама с вознаграждением в некоторых случаях называется рекламой с поощрением; оба термина всегда обозначают один и тот же тип рекламы. Хотя мы предпочитаем термин «реклама с вознаграждением», в коде SDK и в нашем API отчетности мы используем термин «реклама с поощрением».
Существует два способа интеграции рекламы с вознаграждением: награды внутри приложения (рекомендуемый способ, описан ниже) или межсерверные вызовы (см. нашу статью на эту тему). При использовании наград внутри приложения вы можете вознаграждать пользователей, просмотревших рекламу или нажавших кнопку загрузки, непосредственно в своем приложении. Главным преимуществом этого подхода является простота реализации. Если вы ищете быстрое решение и не беспокоитесь об атаках повторением, этот варинт вам подойдет.
В Vungle теперь предлагаются различные форматы рекламы, реализуемые с помощью рекламы с динамическим шаблоном. В отличие от традиционного формата рекламы, состоящего из воспроизведения видеоролика после которого выводится последний кадр, мы предлагаем шаблоны, где кнопка призыва к действию (CTA, call-to-action) доступна во время воспроизведения видео. Вознаграждение получат и пользователи, просмотревшие видео, и пользователи, нажавшие эту кнопку.
Шаг 1. Выполнить базовую интеграцию подключаемого модуля
Для выполнения интеграции рекламы внутри передачи и рекламы с вознаграждением в свое приложение Unity начните с выполнения инструкций из статьи об общей интеграции . Настоящая статья содержит дополнительную информацию, и подразумевается, что общая интеграция уже выполнена.
Шаг 2. Реализовать обработчики событий (не обязательно)
Вы можете настроить обработчики событий для всех пяти событий пакета SDK Vungle, связанных с показом рекламы.
- Когда SDK начинает воспроизводить видеорекламу, запускается следующее событие. Это подходящий момент, чтобы приостановить игру, воспроизведение звуковых эффектов, анимации и т. д.
public static event Action onAdStartedEvent;
- Когда SDK закрывает рекламу, запускается следующее событие. Это подходящий момент, чтобы вознаградить пользователей и возобновить игру, звуковые эффекты, анимацию и т. д.
public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;
AdFinishedEventArgs
состоит из следующих свойств, которые позволяют вам просмотреть результат воспроизведения рекламы:public class AdFinishedEventArgs : EventArgs { //Represents a BOOL whether or not the user clicked the download button. public bool WasCallToActionClicked{ get; set;} //Represents a bool whether or not the video can be considered a completed view. public bool IsCompletedView{ get; set;} }
- Когда SDK изменит статус доступности рекламы, запускается следующее событие. Логическое значение
isAdPlayable
обозначает новую возможность воспроизведения для конкретного идентификатора размещенияplacementID
.public static event Action<string, bool> adPlayableEvent;
- После успешной инициализации SDK запускается следующее событие.
public static event Action onInitializeEvent;
Пример кода:
void initializeEventHandlers()
{
Vungle.onAdStartedEvent += (placementID) => {
DebugLog ("Ad " + placementID + " is starting! Pause your game animation or sound here.");
};
Vungle.onAdFinishedEvent += (placementID, args) => {
DebugLog ("Ad finished - placementID " + placementID + ", was call to action clicked:" + args.WasCallToActionClicked + ", is completed view:"
+ args.IsCompletedView);
};
Vungle.adPlayableEvent += (placementID, adPlayable) => {
DebugLog ("Ad's playable state has been changed! placementID " + placementID + ". Now: " + adPlayable);
};
Vungle.onInitializeEvent += () => {
adInited = true;
DebugLog ("SDK initialized");
};
}
Шаг 3. Загрузка и воспроизведение рекламы
Загрузка рекламы для размещения
Для всех размещений вызовите метод loadAd()
, чтобы загрузить рекламу.
public static void loadAd(string placementID)
Убедитесь, что используется идентификатор placementID
, связанный с правильной платформой.
Пример кода:
string placementID;
#if UNITY_IPHONE
placementID = "ios_placement_id";
#elif UNITY_ANDROID
placementID = "android_placement_id";
#elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO
placementID = "windows_placement_id";
#endif
Vungle.loadAd(placementID);
Проверка доступности рекламы для размещения
После того как SDK завершит кэширование рекламы для размещения, вызывается следующее событие:
public static event Action<string, bool> adPlayableEvent;
Пример кода:
Vungle.adPlayableEvent += (placementID, adPlayable) => {
if(placementID == "ios_placement_id") {
playButtonPlacement1.enabled = adPlayable;
}
};
Примечание. Это событие вызывается для размещения с оптимизированным кешированием только когда реклама становится доступна. Для оптимизированных размещений будет совершена попытка заполнения без дальнейших действий. Для всех остальных размещений это событие вызывается при появлении ошибки Load Failed (Сбой загрузки). (В этом случае adPlayable
возвращает false
).
Проверить доступность рекламы для размещения можно также с помощью следующего метода:
public static bool isAdvertAvailable(string placementID);
Воспроизведение рекламы
Важно! Не воспроизводите рекламу, пока функция adPlayableEvent
, описанная выше, не вернет значение true. Если вы попытаетесь воспроизвести рекламу до того, как функция adPlayableEvent
вернет значение true, при попытке загрузки реклама будет подвержена неблагоприятному воздействию. При развертывании на Android вместо этого используйте значение, возвращенное из isAdvertAvailable()
, чтобы обеспечить доступность объявления (поскольку adPlayableEvent
не вернет значение false, когда нет доступных рекламных объявлений).
Если для размещения есть доступная реклама, вы можете воспроизвести ее с помощью следующего метода:
public static void playAd(string placementID);
Пример кода:
Vungle.playAd(placementID);