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

Содержание

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

  • Подключаемый модуль Vungle Unity для iOS поддерживает:
    • iOS 8
    • Unity 4 и Unity 5.4.1 или более поздние версии
    • Пакет Vungle SDK требует привязать фреймворк WebKit.framework к вашему проекту. Если вы разрабатываете для IOS 7, вам необходимо установить для этого фреймворка настройку Optional (не обязательно). Для этого щелкните свой проект на панели Project Navigator (навигатор по проектам) и выберите General (общее) → Linked Frameworks and Libraries (привязанные фреймворки и библиотеки ). Выберите WebKit.framework и установите в поле Status (статус) значение Optional (не обязательно).

  • Подключаемый модуль Vungle Unity для Android:
    • Требует наличия Java 1.7 для Android
    • поддерживает Unity 4 и Unity 5.3.2 и более поздние версии

  • Подключаемый модуль Vungle Unity для Windows:
    • Windows (Universal 8.1 или Phone 8.1) поддерживает Unity 4 и Unity 5.3.2+
    • Windows 10 UWP поддерживает Unity 5*.3*.2+
    • Прежде чем вы продолжите чтение этой статьи, выполните инструкции, представленные в статье Preparing Vungle Windows SDK v.2.0+ for the Unity Plugin (Подготовка Vungle Windows SDK v.2.0+ для подключаемого модуля Vungle). Затем вернитесь сюда и выполните оставшиеся шаги.

  • Скачайте пример приложения: https://github.com/Vungle/Unity-Plugin/tree/sdk5.

Шаг 1. Настройка проекта Unity с подключаемым модулем Vungle Unity

Добавление подключаемого модуля Vungle Unity в проект Unity

Откройте свой проект в Unity и дважды щелкните скачанный файл VunglePlugin.unitypackage, чтобы добавить подключаемый модуль Vungle Unity в приложение. Когда откроется окно Import Unity Package (Импорт пакета Unity), нажмите кнопку All (Все), чтобы выбрать все элементы перед импортом.

Указание правильной платформы в параметрах сборки

Во избежание ошибок компиляции на следующем шаге убедитесь, что ваш проект Build Settings (cmd + Shift + B) предназначен для платформы iOS или Android.

Amazon Appstore

Пакет Vungle Android SDK поддерживает Amazon OS 5.4 и более поздние версии. Вы можете отправить пакет приложения для Android (APK) в магазин Amazon Appstore с дополнительной настройкой конфигурации Unity Amazon Appstore. Инструкции по подключаемому модулю Unity см. здесь.

Сервисы Google Play

Включение сервисов Google Play в ваш проект позволяет Vungle обеспечить более органичное взаимодействие пользователя с рекламным объявлением, но не является обязательным. Мы рекомендуем использовать версию 11.0.1 и выше.

О том, как добавить сервисы Google Play, см. в руководстве по настройке Google. В приложении следует убедиться, что на устройстве имеется достаточно новая версия сервисов Google Play. Vungle SDK может дополнительно использовать API расположений и рекламных объявлений из сервисов Google Play.

  • android.gms:play-services-location:11.0.1
  • android.gms:play-services-ads:11.0.1
  • Для play-services 7.8.0 и более ранних версий: сохраните библиотеку поддержки
  • Для play-services 8.4.0 и более поздних версий: библиотека поддержки не требуется

Мы успешно скомпилировали автономный пакет SDK для компиляции со следующими версиями сервисов Google Play 7.8.0, 8.4.0, 9.8.0, 10.2.4 и 11.0.1.

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

  • <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
  • <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />

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

В этом пошаговом руководстве мы инициализируем весь наш код, связанный с Vungle, в сценарии, прикрепленном к основному объекту игры Game Object. Подключаемый модуль Vungle Unity Plugin можно вызвать из любых сценариев, которые вы считаете подходящими.

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

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

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

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

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

Пример кода:

public class VungleScript : MonoBehaviour {
    string appID = "";
string iosAppID = "ios_app_id";
string androidAppID = "android_app_id";
string windowsAppID = "windows_app_id"; #if UNITY_IPHONE appID = iosAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "ios_placement_id_1", false }, { "ios_placement_id_2", false }, { "ios_placement_id_3", false } }; #elif UNITY_ANDROID appID = androidAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "android_placement_id_1", false }, { "android_placement_id_2", false }, { "android_placement_id_3", false } }; #elif UNITY_WSA_10_0 || UNITY_WINRT_8_1 || UNITY_METRO appID = windowsAppID; Dictionary<string, bool> placements = new Dictionary<string, bool> { { "windows_placement_id_1", false }, { "windows_placement_id_2", false }, { "windows_placement_id_3", false } }; #endif string[] array = new string[placements.Keys.Count]; placements.Keys.CopyTo(array, 0); Vungle.init(appID, array);
}

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

public static event Action onInitializeEvent;

См. раздел Обработка событий в данной статье.

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

После успешного кэширования рекламы вызывается событие adPlayableEvent с идентификатором размещения, имеющего статус Auto Cached​ (Автокэширование). (См. раздел Проверка доступности рекламы для размещения в данной статье.)

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

Чтобы загрузить рекламу для размещений без автоматического кэширования, вызовите метод 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 == ) {
    layButtonPlacement1.enabled = adPlayable;
  }
};

Примечание.​ Это событие вызывается для размещения со статусом Auto Cached​ (Автокэширование), только когда реклама становится доступна. SDK будет продолжать запрашивать рекламу для размещения с автоматическим кэшированием. Для всех остальных размещений это событие вызывается при появлении ошибки Load Failed (Сбой загрузки). В этом случае adPlayable возвращает NO.

Проверить доступность рекламы для размещения можно также с помощью следующего метода:

public static bool isAdvertAvailable(string placementID);

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

Если для размещения есть доступная реклама, вы можете воспроизвести ее с помощью следующего метода:

public static void playAd(string placementID);

Пример кода:

Vungle.playAd ();

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

Вы можете настроить обработчики событий для всех 5 событий Vungle SDK, связанных с показом рекламы.

  • Когда SDK начинает воспроизведение видеорекламы, возникает следующее событие. Это подходящий момент, чтобы приостановить игру, воспроизведение звуковых эффектов, анимации и т. д.
    public static event Action onAdStartedEvent;
  • Когда SDK закрывает рекламное объявление, возникает следующее событие. Это подходящий момент, чтобы вознаградить пользователей и возобновить игру, звуковые эффекты, анимацию и т. д.
    public static event Action<string, AdFinishedEventArgs> onAdFinishedEvent;

    Класс AdFinishedEventArgs состоит из следующих свойств, позволяющих проверить результат воспроизведения рекламы:
    public class AdFinishedEventArgs : EventArgs
    {
      //Значение BOOL показывающее, нажал ли пользователь кнопку скачивания.
        public bool WasCallToActionClicked{ get; set;}
    
      //Передает логическое значение, показывающее, можно ли считать просмотр видео завершенным.
        public bool IsCompletedView{ get; set;}
    
    
    }
  • Когда SDK изменяет статус доступности рекламы, возникает следующее событие. Логическое значение isAdPlayable обозначает новую возможность воспроизведения для конкретного идентификатора размещения placementID.
    public static event Action<string, bool> adPlayableEvent;
    Подробнее читайте в разделе Проверка доступности рекламы для размещения в данной статье.

  • При успешной инициализации SDK возникает следующее событие:
    public static event Action onInitializeEvent;
  • Когда SDK выдает журналы, возникает следующее событие:
    public static event Action onLogEvent;

Пример кода:

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.onLogEvent += (log) => {
            DebugLog ("Log: " + log);
        };

        Vungle.onInitializeEvent += () => {
            adInited = true;
            DebugLog ("SDK initialized");
        };
    }

Функции OnPause и OnResume

Добавив код для функций onPause и onResume, можно возобновлять воспроизведение рекламы, приостановленной при переходе приложения в фоновый режим.

void OnApplicationPause(bool pauseStatus) {
	if (pauseStatus) {
		Vungle.onPause();
	}
	else {
		Vungle.onResume();
	}
}

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

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

public static void playAd(Dictionary<string,object> options, string placementID);

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

В словаре параметров могут содержаться следующие ключи:

Ключ

Описание

orientation

Задает ориентацию рекламы.

  • Для iOS используйте VungleAdOrientation:
    public enum VungleAdOrientation
    {
        Portrait = 1,
        LandscapeLeft = 2,
        LandscapeRight = 3,
        PortraitUpsideDown = 4,
        Landscape = 5,
        All = 6,
        AllButUpsideDown = 7
    }
  • Для Android установите значение true для параметра matchVideo и значение false для параметра autoRotate.

userTag

Ключ пользователя, который передается для идентификации пользователей в вызове S2S (при наличии).

alertTitle

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

alertText

Текст предупреждения, которое появляется при преждевременном закрытии стимулированной рекламы пользователем.

closeText

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

continueText

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

immersive

Включение режима комфортного просмотра для Android.

 

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

Комментарии