Начало работы с Vungle: подключаемый модуль Corona

В этом руководстве кратко рассматривается быстрая интеграция подключаемого модуля Corona. Увидеть пример такой интеграции можно в примере приложения с модулем Corona.

Содержание

  1. Обновляем параметры сборки
  2. Инициализируем Vungle
  3. Запускаем рекламу
  4. Дополнительные параметры

Прежде чем приступать к работе, отметим несколько моментов

  • В симуляторе 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"
                },
        },
}

 

Была ли эта статья полезной?
Пользователи, считающие этот материал полезным: 1 из 1
Еще есть вопросы? Отправить запрос

Комментарии