В этом руководстве кратко рассматривается быстрая интеграция подключаемого модуля Corona. Увидеть пример такой интеграции можно в примере приложения с модулем Corona.
Содержание
- Обновляем параметры сборки
- Инициализируем Vungle
- Запускаем рекламу
- Дополнительные параметры
Прежде чем приступать к работе, отметим несколько моментов
- В симуляторе Corona реклама запускаться не будет. Для тестирования рекламы следует запускать сборку на устройстве.
-
Подключаемый модуль Vungle Corona поддерживает только следующие ОС:
- iOS 7+ (как 32-, так и 64-разрядные приложения)
- Android 3.0 (Honeycomb — версия API 11) и более поздние версии
- Для интеграции требуется учетная запись Vungle. Если у вас ее нет, создайте ее.
- Если вы этого еще не сделали, перейдите на панель управления и добавьте это приложение в свою учетную запись. Это необходимо для того, чтобы получить идентификатор приложения, который вы добавите в приложение с помощью нашего SDK. Он выделен красным цветом на странице вашего приложения.

Теперь начнем. Все делается за четыре шага:
1. Обновляем build.settings
Чтобы использовать этот подключаемый модуль, добавьте запись в таблицу plugins
набора параметров build.settings
. После добавления сервер сборки внедрит плагин на фазе сборки. Вам не нужно ничего загружать — Vungle автоматически будет включен в ваш проект:
settings = {
plugins = {
["CoronaProvider.ads.vungle"] = {
publisherId = "com.vungle"
},
},
}
iOS
Для iOS добавьте в plist
внутри build.settings
следующее:
iphone = {
plist= {
NSAppTransportSecurity =
{
NSAllowsArbitraryLoads = true },
}
}
Android
В Android при использовании данного модуля автоматически добавляются следующие разрешения и функции:
android = {
usesPermissions = {
"android.permission.INTERNET",
},
},
2. Инициализируем Vungle
Доступ к рекламе Vungle происходит через библиотеку рекламы Corona. Необходимо импортировать рекламу, затем инициализировать Vungle как можно раньше в основном файле проекта:
main.lua:
-- импортировать во все файлы, использующие рекламу Vungle
local ads = require "ads"
-- измените на идентификатор своего приложения
appID = "Test_iOS";
-- реклама начнет кэшироваться на шаге init
ads.init( "vungle", appID );
3. Запускаем рекламу!
Когда вы будете готовы воспроизвести видео, просто вызовите ads.show. При этом следует передать тип рекламы — interstitial (рекламная вставка) или incentivized (стимулируемая):
ads.show( "interstitial" );
или
ads.show( "incentivized" );
Этот метод возвращает логическое значение true
или false
, в зависимости от доступности кэшированной рекламы.
Также имейте в виду, что ads.hide использовать нельзя — в отличие от рекламы других поставщиков, реклама Vungle скрывается сама, когда пользователь закрывает ее.
ПРИМЕЧАНИЕ. Когда приложение находится в режиме тестирования, скачивать рекламируемые приложения нельзя. Кроме того, на панели управления невозможно будет просмотреть количество показов. Это связано с тем, что тестовая реклама предназначена только для проверки правильности интеграции SDK. Эти функциональные возможности станут доступны после запуска приложения в активном режиме.
Дополнительные параметры
Эти расширенные настройки также описаны в примере приложения.
1. Параметры показа рекламы
Теперь, получив рекламу для показа, можно настроить сам показ, передав методу ads.show дополнительные параметры:
isAnimated (Bool)
Этот параметр действует только в iOS. При значении true
(задано по умолчанию) видеореклама будет появляться плавно, с эффектом слайда. При значении false
она появится мгновенно.
isAutoRotation (Bool)
При значении true
(задано по умолчанию) видеореклама будет автоматически поворачиваться в соответствии с ориентацией устройства. При значении false
будет использоваться предпочитаемая ориентация рекламы. Этот параметр действует только в Android. Для iOS см. ключ orientations
.
orientations (Bool) (api.type.Integer)
Битовые маски с возможными значениями ориентации. Значение по умолчанию — UIInterfaceOrientationMaskAll
.
isBackButtonEnabled (Bool)
Этот параметр действует только в Android. При значении true
кнопка Android «Назад» будет останавливать воспроизведение видео и отображать постролл. При значении false
(задано по умолчанию) кнопка «Назад» во время воспроизведения действовать не будет. Обратите внимание, что в постролле кнопка «Назад» всегда включена: при ее нажатии реклама закрывается и происходит возврат в приложение.
isSoundEnabled (Bool)
При значении true
(задано по умолчанию), звук во время показа видеорекламы будет включен (в соответствии с системными звуковыми настройками). При значении false
видео будет воспроизводиться без звука. Обратите внимание, что пользователь может сам отключить или включить звук во время воспроизведения.
username (String)
Этот параметр применяется только к стимулированной рекламе (типа incentivized
). Если параметр указан, он содержит идентификатор пользователя, который можно получить в обратном вызове от сервера к серверу, определяющем вознаграждение пользователя за завершенный просмотр видеорекламы.
Пример:
local adShown = ads.show( "interstitial", { isAnimated=false, isBackButtonEnabled=true } )
2. Прослушиватель событий
Опционально в ads.init можно передать также прослушиватель событий.
ads.init( providerName, appId [, adListener] )
Он будет уведомлять вас о следующих событиях:
adStart
- name: adsRequest
- provider: vungle
- type: adStart
- isError:
false
, если показ рекламы начат;true
, если показ не удалось запустить - response: причина, по которой не удалось воспроизвести рекламу (если
isError
имеет значениеtrue
)
adView
- name: adsRequest
- provider: vungle
- type: adView
- isError: false
- totalAdSeconds: общая продолжительность видео в секундах
- secondsWatched: продолжительность самого длинного просмотра пользователя в секундах
- isCompletedView:
true
, если пользователь просмотрел 80% видеоролика;false
в ином случае
adEnd
- name: adsRequest
- provider: vungle
- type: adEnd
- isError: false
- wasCallToActionClicked:
true
, если пользователь нажал на призыв к действию (как правило, это кнопка «Загрузить»);false
в ином случае
cachedadavailable
- name: adsRequest
- provider: vungle
- type: cachedAdAvailable
- isError: false
Пример:
local function vungleAdListener( event )
if ( event.type == "adStart" and event.isError ) then
-- Кэширование рекламы не завершено, и показана она не будет
end
if ( event.type == "adStart" and not event.isError ) then
-- Реклама будет показана
end
if ( event.type == "cachedAdAvailable" ) then
-- Кэширование рекламы завершено, и она готова к показу
end
if ( event.type == "adView" ) then
-- Реклама показана
end
if ( event.type == "adEnd" ) then
-- Реклама закрыта: это
-- удобное место для возобновления работы приложения
end
end
3. Дополнительные функции
vungle.isAdAvailable()
Vungle загружает и кэширует следующую видеорекламу для ее беспрепятственного показа пользователю. Эта функция возвращает логическое значение true
или false
в зависимости от доступности кэшированной рекламы.
vungle.getVersionString()
Возвращает номера версий подключаемого модуля и нижележащего SDK в виде строки.
vungle.showCacheFiles()
Записывает в журнал список файлов в кэше Vungle. Эта функция доступна только в iOS.
Только в iOS: Application Transport Security
В iOS 9 была введена технология ATS (Application Transport Security). Приложения, устанавливаемые под iOS 9, должны быть обновлены для соответствия ATS; см. указания в разделе Подготовка приложений для iOS 9.
Сервисы Google Play
При разработке для Android с использованием Corona SDK версии 2014.2264 или более поздней потребуется также добавить сервисы Google Play в таблицу plugins
:
settings = {
plugins = {
["plugin.google.play.services"] = {
publisherId = "com.coronalabs"
},
},
}
Комментарии