Начало работы с пакетом Vungle SDK 5.1 или более поздней версии — Adobe AIR

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

Содержание

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

  • Расширению Vungle требуется пакет Adobe AIR SDK 4.0 или более поздней версии. Инструкции по обновлению пакета AIR SDK в программе Flash Builder или Flash Professional см. в разделе Дополнительные примечания.

  • При работе с платформой Android для расширения Vungle AIR требуется наличие JDK 6 или JDK 7 (в зависимости от используемой версии Flash) в системе разработки. Для работы приложения требуется Android 3.0 (Honeycomb — API версии 11) или более поздней версии.

  • Вы можете ознакомиться с документацией по классу ActionScript 3.

  • Пример класса приложения приведен в файле example/VungleExample.as. (Если у вас Flash Professional и вы не знаете, как использовать класс документа, см. раздел Использование класса документа VungleExample.as в Animate или Flash Professional CS6 в конце данной статьи.

Шаг 1. Добавление библиотеки расширений

Для начала нужно создать новый проект AIR для мобильных устройств и добавить нативное расширение.

При разработке для платформы Android может потребоваться также добавить в проект библиотеку сервисов Google Play. Эта библиотека уже включена во многие другие расширения, так что возможно, она уже есть. Чтобы добавить расширение, выполните описанные ниже действия, но используйте com.vungle.extensions.android.GooglePlayServices.ane вместо com.vungle.extensions.Vungle.ane.

Animate и Flash Professional CS6 или более поздней версии

  1. Создайте новый проект AIR для Android или iOS.
  2. Выберите Файл → Параметры публикации.
  3. Нажмите кнопку с изображением гаечного ключа около поля Сценарий со значением «Настройки ActionScript».
  4. На вкладке Путь к библиотеке нажмите кнопку Поиск файла Native Extension (ANE) и выберите файл vungle.extensions.Vungle.ane. Нажмите кнопку ОК.
  5. Нажмите кнопку с изображением гаечного ключа около поля Цель со значением «Настройки проигрывателя».
  6. При разработке для платформы Android на вкладке Разрешения включите INTERNET, WRITE_EXTERNAL_STORAGE и ACCESS_NETWORK_STATE.
  7. Установите флажок Вручную управлять разрешениями и дополнениями к манифесту этого приложения и нажмите кнопку ОК.

Flash Builder 4.6 или более поздней версии

  1. В окне Свойства проекта в разделе Путь сборки Actionscript выберите Родные расширения.
  2. Выберите Добавить ANE... и перейдите к файлу vungle.extensions.Vungle.ane.
  3. Выберите Упаковка сборки Actionscript → Google Android.
  4. На вкладке Родные расширения установите флажок Упаковать рядом с расширением.
  5. При разработке для платформы iOS повторите действия 3 и 4 для цели «Apple iOS».

Шаг 2. Обновление дескриптора приложения

Для работы Vungle необходимо внести изменения в XML-файл приложения. Измените XML-файл, созданный с помощью среды IDE, следующим образом.

Примечание. Если у вас Flash Professional, необходимо выполнить описанные выше действия для добавления библиотеки расширений (см. раздел Animate и Flash Professional CS6 или более поздней версии), иначе Flash может отменить сделанные изменения.

  1. В файле дескриптора приложения укажите версию AIR SDK 4.0 (или более позднюю).
    <application xmlns="http://ns.adobe.com/air/application/4.0">
  2. Добавьте в дескриптор ссылку на расширение.
    <extensions>
    <extensionID>com.vungle.extensions.Vungle</extensionID>
    </extensions>
  3. При разработке для платформы Android может потребоваться также добавить в проект библиотеку сервисов Google Play. В этом случае добавьте также ее идентификатор расширения.
    <extensions>
    <extensionID>com.vungle.extensions.Vungle</extensionID>
    <extensionID>com.vungle.extensions.android.GooglePlayServices</extensionID>
    </extensions>

Приложения AIR с целевой платформой Android

Если целевая платформа — Android, измените дополнения манифеста в XML-элементе android следующим образом:

  • включите разрешения INTERNET, WRITE_EXTERNAL_STORAGE и ACCESS_NETWORK_STATE;
  • добавьте определения действий VideoFullScreenAdActivity,MraidFullScreenAdActivity и MraidFullScreenAdActivity;
  • добавьте тег метаданных версии google-play-services:
    
    <android>
    <manifestAdditions><![CDATA[
    
    <manifest android:installLocation="auto">
    
    <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="18" />
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
     <application>
       <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>
       <activity android:name="com.vungle.publisher.VideoFullScreenAdActivity"
         android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
         android:theme="@android:style/Theme.NoTitleBar.Fullscreen"/>
       <activity android:name="com.vungle.publisher.MraidFullScreenAdActivity"
         android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
         android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
       <activity android:name="com.vungle.publisher.FlexViewAdActivity"
         android:configChanges="keyboardHidden|orientation|screenSize|screenLayout|smallestScreenSize"
         android:theme="@android:style/Theme.Translucent.NoTitleBar.Fullscreen"/>
     </application>
    
    </manifest>
    ]]></manifestAdditions>
    </android>

Шаг 3. Интеграция Vungle API

Для добавления Vungle API в приложение нужно добавить всего несколько строк в ActionScript.

Инициализация расширения Vungle

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

Инициализируйте API при запуске приложения.

  • Если у вас «чистый» ActionScript, используйте для этого конструктор класса документа.
  • Если у вас Flex, вызывайте событие initialize() основного класса.
  • Если вы используете Flash и код со шкалой времени, делайте это на 1-м кадре.
  1. Импортируйте классы API.
    import com.vungle.extensions.*; 
    import com.vungle.extensions.events.*;
  2. Инициализируйте API: вызовите create() и передайте строку идентификатора приложения и массив, содержащий идентификатор размещения приложения, полученный на панели управления Vungle. Если проект включает обе целевые платформы — iOS и Android, передайте в метод create() отдельный идентификатор и массив размещения для каждой платформы.

    Заключите вызов метода Vungle.create() между операторами try и catch, поскольку в процессе создания Vungle может выдать ошибку (например, расширение выдает ошибку при работе на настольном компьютере).
    try
    {
        // инициализация с идентификатором приложения
        Vungle.create("your_vungle_id", [“placement1”, “placement2”, “placement3”]);
     
    } catch (error:Error) {
        // не удается создать расширение. возможно, у вас платформа не iOS и не Android.
    }

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

Для воспроизведения рекламного объявления необходимо загрузить его для соответствующего размещения. Размещение с автоматическим кэшированием не требует вызова этого метода. SDK самостоятельно попытается загрузить размещение с автоматическим кэшированием.

Vungle.vungle.loadAd(“non_auto_cached_placement”);

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

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

If (Vungle.vungle.isAdAvailable(“placement_id”)) {
    Vungle.vungle.playAd(“placement_id”);
}

Добавление прослушивателей событий

Расширение Vungle формирует четыре события: VungleEvent.AD_PLAYABLE, VungleEvent.AD_STARTED, VungleEvent.AD_FINISHED, VungleEvent.AD_FAILED, VungleEvent.AD_INIT и VungleEvent.AD_LOG.

  1. Событие AD_PLAYABLE формируется, когда реклама готова к воспроизведению.
    Vungle.vungle.addEventListener(VungleEvent.AD_PLAYABLE, onAdPlayable);
    function onAdPlayable(e:VungleEvent):void
    {
        if (e.isAdPlayable) {
            trace(“ad is playable for placement: “ + e.placement);
            Vungle.vungle.playAd(e.placement);
        } else {
    	trace(“ad not playable for placement: “ + e.placement);
        }
    }
  2. События AD_STARTED и AD_FINISHED формируются, когда отображение рекламы соответственно начинается и заканчивается. 
    Vungle.vungle.addEventListener(VungleEvent.AD_STARTED, onAdStarted);
    Vungle.vungle.addEventListener(VungleEvent.AD_FINISHED, onAdFinished);
    
    function onAdStarted(e:VungleEvent):void
    {
        trace("ad displayed for placement: " + e.placement);
    }
    
    function onAdFinished(e:VungleEvent):void
    {
        trace("ad dismissed for placement: “ + e.placement + “, CTA = " + e.wasCallToActionClicked);
    
        if (e.wasSuccessfulView) {	
            trace("counts a completed view - present reward.");
        }
    }
  3. Событие AD_INIT формируется, когда завершается инициализация Vungle SDK. 
    function onAdInit(e:VungleEvent):void
    {
        trace(“Vungle SDK is initialized: “ + e.isInitialized”);
    }
  4. Событие AD_LOG формируется, когда пакет Vungle SDK отправляет сообщение журнала. Его можно использовать для отладки. Ведение журнала поддерживается только в Vungle SDK для iOS, так что это событие ориентировано на платформу. 
    Vungle.vungle.setLoggingEnabled(true);
    Vungle.vungle.addEventListener(VungleEvent.AD_LOG, onAdLog);
    
    private function onAdLog(e:VungleEvent):void
    {
        log("ad log: " + e.message);
    }

Другие параметры

Как уже было сказано, при вызове метода playAd() вы можете передать объект с параметрами конфигурации. В VungleAdConfig доступны следующие свойства:

Параметр

Значение

Описание

orientation

VungleOrientation

Android

●      VungleOrientation.AUTO_ROTATE

●      VungleOrientation.ANDROID_MATCH_VIDEO

iOS

●      VungleOrientation.IOS_LANDSCAPE

●      VungleOrientation.IOS_PORTRAIT

soundEnabled

Логическое

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

backButtonImmediatelyEnabled

Логическое

Только для Android. При значении true пользователь может незамедлительно закрыть объявление с помощью кнопки «Назад». При значении false (по умолчанию) пользователь не может использовать кнопку «Назад» для выхода из объявления, пока не покажется кнопка «Закрыть» на экране.

immersiveMode

Логическое

Только для Android. При значении true включается режим комфортного просмотра на устройствах KitKat+. Значение по умолчанию: false.

incentivizedUserId

Строка

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

incentivizedCancelDialogTitle

Строка

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

 

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

incentivizedCancelDialogBodyText

incentivizedCancelDialogCloseButtonText

incentivizedCancelDialogKeepWatchingButtonText

Пример кода:

var adConfig:VungleAdConfig = new VungleAdConfig();
            
adConfig.orientation = VungleOrientation.ANDROID_MATCH_VIDEO | VungleOrientation.IOS_LANDSCAPE;
adConfig.soundEnabled = false;

android: {
    adConfig.backButtonImmediatelyEnabled = true;
    adConfig.immersiveMode = true;
};

adConfig.incentivizedUserId = "vungle_test_user";
adConfig.incentivizedCancelDialogBodyText = "body_text";
adConfig.incentivizedCancelDialogCloseButtonText = "close_button_text";
adConfig.incentivizedCancelDialogKeepWatchingButtonText = "continue_button_text";
adConfig.incentivizedCancelDialogTitle = "title_text";

Vungle.vungle.playAd(placement, adConfig);

Глобальные значения по умолчанию

С помощью объекта глобальной конфигурации можно задать значения по умолчанию для параметров.

// set any configuration options you like
VungleAdConfig.globalConfig.orientation = VungleOrientation.ANDROID_MATCH_VIDEO;
VungleAdConfig.globalConfig.soundEnabled = false;

Теперь каждый новый объект VungleAdConfig будет создаваться с использованием этих значений по умолчанию. Глобальная конфигурация используется также при вызове метода playAd() без параметров.

Примечание. Когда приложение находится в режиме тестирования, скачивать рекламируемые приложения нельзя. Кроме того, на панели управления невозможно будет просмотреть количество показов. Это связано с тем, что тестовая реклама предназначена только для проверки правильности интеграции SDK. Эти функциональные возможности станут доступны после запуска приложения в активном режиме.

Дополнительные примечания

Использование класса документа VungleExample.as в Animate или Flash Professional CS6

  1. Сначала создайте приложение и добавьте расширение (инструкции см. в разделах 1–3 данной статьи об интеграции).
  2. Скопируйте as-файл в папку, содержащую файлы с расширением .fla. Не копируйте содержимое файла на шкалу времени.
  3. Замените идентификаторы приложения и размещений в строке 20 идентификаторами своего приложения Vungle.
  4. В свойствах Flash в разделе Класс документа введите VungleExample и нажмите кнопку ОК.
  5. Соберите и установите приложение.

Установка новой версии AIR SDK (4.0 или более поздней) в Flash Professional CS6

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

  1. Распакуйте архив с пакетом AIR 4.0 или более поздней версии в папку на жестком диске.
  2. Запустите Flash Professional CS6.
  3. Выберите Справка → Управление AIR SDK....
  4. Нажмите кнопку + (плюс) и перейдите в папку с распакованным пакетом AIR SDK.
  5. Нажмите кнопку ОК.
  6. Выберите Файл → Параметры публикации.
  7. В раскрывающемся меню Цель выберите последнюю версию AIR SDK для iOS.

Установка новой версии AIR SDK (4.0 или более поздней) в Flash Builder

Найдите по этой ссылке последнюю версию AIR SDK. Если у вас уже установлен пакет AIR 4.0 или более поздней версии, можете пропустить этот шаг. Вы также можете воспользоваться последними инструкциями компании Adobe по обновлению пакетов AIR SDK для Flash Builder.

Ошибка Adobe Animate Invalid Input

Если появляется сообщение об ошибке, показанное на иллюстрации ниже, см. эту статью.

image2.png

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

Комментарии