Начало работы с Vungle SDK v. 5 — Corona

Содержание

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

  • Рекомендуем использовать последнюю сборку Corona для вашей интеграции. Vungle Android и iOS SDK v. 5.3.2 доступны, начиная с текущей версии Corona 2017.3179.
  • Подключаемый модуль Vungle Corona для iOS поддерживает iOS 8 и более поздних версий (с ограничением для Corona SDK).
  • Подключаемый модуль Vungle Corona для Android поддерживает Android 4.0.3 (Ice Cream Sandwich с API версии 15) и более поздних версий (с ограничением для Corona SDK).
  • Подключаемый модуль Vungle Corona для Android поддерживает Amazon OS 5.4 и более поздние версии, добавлено начиная с текущей версии 2017.3124.
  • Скачайте пример приложения: https://github.com/Vungle/Corona-Plugin/tree/sdk5.

Шаг 1. Обновление build.settings

Добавьте следующую запись в таблицу подключаемых модулей в build.settings. После добавления SDK подключится к серверу, чтобы интегрировать подключаемый модуль Vungle SDK 5+ на этапе сборки:

plugins =
{ ["plugin.vungle"] = { publisherId = "com.vungle",
},
..
}

Только для Android

В Android при использовании этого модуля автоматически добавляются следующие разрешения:

androidPermissions = { "android.permission.INTERNET", "android.permission.WRITE_EXTERNAL_STORAGE", "android.permission.ACCESS_NETWORK_STATE" },

После добавления сервисов Google Play добавьте следующие разрешения в AndroidManifest. Программное обеспечение Vungle использует эту информацию для подбора оптимального рекламного объявления, доступного для пользователя.

androidPermissions = { "android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION" / }, 

ВАЖНО! Если вы работаете с Corona Enterprise, необходимо включить поддержку Android Support v4 для успешной интеграции.

Шаг 2. Добавление кода

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

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

Мы рекомендуем инициализировать пакет SDK при запуске приложения, чтобы ему хватило времени на скачивание рекламных ресурсов для размещения с автоматическим кэшированием. Для инициализации SDK требуются:

  • импортируемые рекламные объявления Vungle;
  • идентификатор приложения;
  • идентификаторы всех размещений, которые будут использоваться в приложении.

Эти идентификаторы можно найти на панели управления Vungle (см. статью Настройка размещений и отчеты по ним). Для платформы Amazon используйте идентификатор приложения Amazon на панели управления Vungle.

Пример кода:

local ads = require "plugin.vungle" platform = system.getInfo( "platformName" ) placements = {}

-- Amazon application ID is under the Android platform
if (platform == "Android") then appData = { appID="YOUR_ANDROID_APP_ID", placements={“PLMT_DEFAULT","PLMT_1","PLMT_2"} } else appData = { appID="YOUR_IOS_APP_ID", placements={“PLMT_DEFAULT","PLMT_1","PLMT_2"} } -- vungleAdListner is optional ads.init("vungle", appData.appID .. "," .. appData.placements[1] .. "," .. appData.placements[2] .. "," .. appData.placements[3] [, vungleAdListener])

После успешной инициализации SDK вызывается следующее событие:

event.type == "adAvailable"

После инициализации пакет Vungle SDK автоматически запрашивает рекламное объявление для размещения, которое имеет статус Автокэширование на панели управления Vungle. Рекомендуем выбирать для автоматического кэширования самое часто просматриваемое размещение.

После успешного кэширования рекламы вызывается событие adAvailable с идентификатором размещения с автоматическим кэшированием. Этот метод вызывается для размещения с автоматически кэшированием, только когда изменяется состояние доступности рекламы (true на false или false на true). SDK будет продолжать запрашивать рекламу для размещения с автоматическим кэшированием. Для всех остальных размещений этот метод вызывается в случае появления ошибки «Сбой загрузки». В этом случае adAvailable возвращает NO.

Загрузка рекламы для размещения

Чтобы загрузить рекламу для размещений без автоматического кэширования, вызовите метод ads.load(). В качестве аргумента передается строка идентификатора размещения и предпринимается попытка загрузить рекламу для конкретного размещения, только когда выполнен вызов ads.load() и реклама недоступна для этого размещения.

ads.load( "PLMT_1” )

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

Воспроизведение рекламы для размещения

Выделив достаточно времени для завершения скачивания рекламных ресурсов, вы можете воспроизвести рекламу путем вызова ads.show(). Прежде чем пытаться воспроизвести рекламу, нужно проверить, есть ли готовая реклама для этого размещения. Используйте для этого вызов event.adPlayble.

Пример кода:

if (event.placementID == appData.placements[1]) then if ( event.adPlayable == true ) then ads.show( "PLMT_DEFAULT") end end

Обработка событий

Вы можете передать в ads.init() дополнительные прослушиватели событий, настроив прослушиватели до инициализации. Список доступных прослушивателей событий приведен ниже.

  • adStart
    тип: adStart
    placementID: идентификатор размещения
    isError: true, если рекламу не удалось воспроизвести; false, если реклама начала воспроизведение

  • adLog
    тип: adLog
    сообщение: сообщение об активности рекламы

  • adInitialize
    тип: adInitialize

  • adAvailable
    тип: adAvailable
    placementID: идентификатор размещения
    isAdPlayable: true, если реклама доступна для воспроизведения; иначе false

  • adEnd
    тип: adEnd
    placementID: идентификатор размещения
    didDownload: true, если пользователь нажал кнопку скачивания; иначе false
    completedView: true, если пользователь просмотрел не менее 80% видео; иначе false

  • vungleSDKlog
    тип: vungleSDKlog
    сообщение: сообщение события SDK

Пример кода:

local function vungleAdListener( event ) if ( event.type == "adStart" and not event.isError ) then -- adStart event is called and ad will play end if ( event.type == "adStart" and event.isError ) then -- Ad has not finished caching and will not play end if ( event.type == "adLog") then -- adLog event is called to pass ad activity information end if ( event.type == "adInitialize") then -- adInitilizaed is called when placement has successfully initialized end if ( event.type == "adAvailable" ) then -- adAvailable is called when playablility changes to/from true/false -- Usage example: setting a flag to true when download completes -- Check event.placementID and event.isAdPlayable to set a flag to true -- Then check this flag later in your app and play an ad when it is true end if ( event.type == "adEnd" ) then -- adEnd is called when the end card is closed and and control is return to the hosting app end if ( event.type == "vungleSDKlog" ) then -- vungleSDKlog is called when logging event from SDK takes place end end

Параметры настройки

Метод ads.show() может принимать словарь параметров, позволяющий настроить показ рекламы.

Ключ

Значение

Описание

alertTitle

alertText

alertContinue

placement

Строка

Вы можете настроить сообщение, которое будет отображаться при попытке пользователей закрыть видео со стимулом до его окончания. Рекламные объявления с вознаграждением в некоторых случаях называются рекламными объявлениями со стимулом, оба термина относятся к одному и тому же типу рекламных объявлений. В коде SDK и нашем интерфейсе Reporting API мы используем термин incentivized (со стимулом).

Примечание. Этот параметр применим только к стандартной рекламе Vungle. Аналогичная настройка для рекламы с динамическим шаблоном возможна на панели управления.

isAutoRotation

Логич.

Для Android: при значении true (по умолчанию) видеореклама будет автоматически поворачиваться в соответствии с ориентацией устройства. При значении false будет использоваться предпочитаемая ориентация рекламы.

Для iOS: см. ключ orientation ниже.

isSoundEnabled

Логич.

При значении true (по умолчанию) звук во время показа видеорекламы будет включен (в соответствии с системными звуковыми настройками). При значении false видео будет воспроизводиться без звука. Обратите внимание, что пользователь может сам отключить или включить звук во время воспроизведения.

immersive

Логич.

Только для Android. Включает и выключает режим комфортного просмотра на устройствах KitKat+.

large

Логич.

Только для iOS. Отображает кнопки большего размера для управления функциями рекламы, например для отключения звука или закрытия.

orientation

Целое число

Только для iOS. Задает значение 4 для альбомной ориентации, 0 — для книжной или 5 — для автоматического поворота.

userTag

Строка

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

порядковый

Строка

Настройте порядковые данные, которые отслеживают, сколько объявлений было показано за сеанс. Настраиваемые отчеты доступны по запросу.


Пример кода:

if (platform == "Android") then options = { placementId = placements[i], isAutoRotation = isAutoRotate, immersive = isImmersive, isSoundEnabled = not isMuted } else options = { placementId = placements[i], large = large.isOn, isSoundEnabled = not muted.isOn } end if (not isempty(alertTitle.text)) then options.alertTitle = alertTitle.text end if (not isempty(alertText.text)) then options.alertText = alertText.text end if (not isempty(alertClose.text)) then options.alertClose = alertClose.text end if (not isempty(alertContinue.text)) then options.alertContinue = alertContinue.text end if (not isempty(placement.text)) then options.placement = placement.text end ads.show(options)
Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 0 из 0
Еще есть вопросы? Отправить запрос

Комментарии