Полноэкранная Реклама
Межстраничные объявления - это полноэкранные рекламные объявления. В Appodeal они делятся на два типа - статические межстраничные объявления и межстраничные видеообъявления.
Оба типа рекламы запрашиваются параллельно при кешировании. Если была загружена реклама обоих типов, то будет показан наиболее дорогой из креативов.
Межстраничное статичеческое объявление - статические полноэкранные баннеры.
Межстраничное видеообъявление - это видео, которое пользователь обычно может закрыть через 5 секунд после
начала просмотра.
Отображение
Для отображения полноэкранной рекламы, используйте следующий код:
- UPM Дистрибуция
- Manual Дистрибуция
Appodeal.Show(AppodealShowStyle.Interstitial);
Appodeal.show(Appodeal.INTERSTITIAL);
Проверка Загрузки
Вы можете проверить статус загрузки перед показом. Этот метод возвращает bool
значение, указывающее, загружено ли
межстраничное объявление.
- UPM Дистрибуция
- Manual Дистрибуция
Appodeal.IsLoaded(AppodealAdType.Interstitial);
Appodeal.isLoaded(Appodeal.INTERSTITIAL);
Мы рекомендуем всегда проверять, загружено ли межстраничное объявление, прежде чем пытаться его показать.
Пример:
- UPM Дистрибуция
- Manual Дистрибуция
if(Appodeal.IsLoaded(AppodealAdType.Interstitial)) {
Appodeal.Show(AppodealShowStyle.Interstitial);
}
if(Appodeal.isLoaded(Appodeal.INTERSTITIAL)) {
Appodeal.show(Appodeal.INTERSTITIAL);
}
Методы Обратного Вызова
Методы обратного вызова позволяют отслеживать различные события в жизненном цикле рекламы, к примеру, момент, когда пользователь нажал на рекламу или закрыл ее. Для использования этих методов выполните следующие действия:
- UPM Дистрибуция
- Manual Дистрибуция
Подпишитесь на желаемое событие полноэкранной рекламы, используя один из методов из нашей инструкции. (вы можете подписаться на любоое событие, которое захотите)
AppodealCallbacks.Interstitial.OnLoaded += (sender, args) => { };
Ниже перечислены все существующие ивенты для межстраничной рекламы:
public void SomeMethod()
{
AppodealCallbacks.Interstitial.OnLoaded += OnInterstitialLoaded;
AppodealCallbacks.Interstitial.OnFailedToLoad += OnInterstitialFailedToLoad;
AppodealCallbacks.Interstitial.OnShown += OnInterstitialShown;
AppodealCallbacks.Interstitial.OnShowFailed += OnInterstitialShowFailed;
AppodealCallbacks.Interstitial.OnClosed += OnInterstitialClosed;
AppodealCallbacks.Interstitial.OnClicked += OnInterstitialClicked;
AppodealCallbacks.Interstitial.OnExpired += OnInterstitialExpired;
}
#region InterstitialAd Callbacks
// Called when interstitial was loaded (precache flag shows if the loaded ad is precache)
private void OnInterstitialLoaded(object sender, AdLoadedEventArgs e)
{
Debug.Log("Interstitial loaded");
}
// Called when interstitial failed to load
private void OnInterstitialFailedToLoad(object sender, EventArgs e)
{
Debug.Log("Interstitial failed to load");
}
// Called when interstitial was loaded, but cannot be shown (internal network errors, placement settings, etc.)
private void OnInterstitialShowFailed(object sender, EventArgs e)
{
Debug.Log("Interstitial show failed");
}
// Called when interstitial is shown
private void OnInterstitialShown(object sender, EventArgs e)
{
Debug.Log("Interstitial shown");
}
// Called when interstitial is closed
private void OnInterstitialClosed(object sender, EventArgs e)
{
Debug.Log("Interstitial closed");
}
// Called when interstitial is clicked
private void OnInterstitialClicked(object sender, EventArgs e)
{
Debug.Log("Interstitial clicked");
}
// Called when interstitial is expired and can not be shown
private void OnInterstitialExpired(object sender, EventArgs e)
{
Debug.Log("Interstitial expired");
}
#endregion
- Наследуйте ваш класс от
IInterstitialAdListener
:
class SomeClassName : IInterstitialAdListener {}
- Реализуйте все методы обратного вызова:
#region Interstitial callback handlers
// Called when interstitial was loaded (precache flag shows if the loaded ad is precache)
public void onInterstitialLoaded(bool isPrecache)
{
Debug.Log("Interstitial loaded");
}
// Called when interstitial failed to load
public void onInterstitialFailedToLoad()
{
Debug.Log("Interstitial failed to load");
}
// Called when interstitial was loaded, but cannot be shown (internal network errors, placement settings, etc.)
public void onInterstitialShowFailed()
{
Debug.Log("Interstitial show failed");
}
// Called when interstitial is shown
public void onInterstitialShown()
{
Debug.Log("Interstitial shown");
}
// Called when interstitial is closed
public void onInterstitialClosed()
{
Debug.Log("Interstitial closed");
}
// Called when interstitial is clicked
public void onInterstitialClicked()
{
Debug.Log("Interstitial clicked");
}
// Called when interstitial is expired and can not be shown
public void onInterstitialExpired()
{
Debug.Log("Interstitial expired");
}
#endregion
- Затем вызовите следующий метод:
Appodeal.setInterstitialCallbacks(this);
Все методы обратного вызова вызываются в главных потоках Android/iOS, которые не совпадают с главным потоком Unity. Если вы хотите обрабатывать методы обратного вызова в главном потоке Unity, следуйте этой инструкции.
Ручное Кэширование
Для большего контроля над загрузкой межстраничной рекламы используйте ручное кеширование. Ручное кеширование для межстраничных объявлений может быть полезно для улучшения процента показанной рекламы или уменьшения нагрузки SDK на устройство, когда кэшируются несколько типов объявлений.
- Для отключения автоматического кеширования для полноэкранной рекламы используйте следующий код перед инициализацией Appodeal SDK:
- UPM Дистрибуция
- Manual Дистрибуция
Appodeal.SetAutoCache(AppodealAdType.Interstitial, false);
Appodeal.setAutoCache(Appodeal.INTERSTITIAL, false);
- Для кеширования полноэкранной рекламы используйте следующий код:
- UPM Дистрибуция
- Manual Дистрибуция
Appodeal.Cache(AppodealAdType.Interstitial);
Appodeal.cache(Appodeal.INTERSTITIAL);
Плейсменты
Appodeal SDK позволяет помечать каждый показ указанным плейсментом. Для использования плейсментов вам необходимо сначала их создать в Appodeal Dashboard. Здесь можно найти больше информации о плейсментах.
Чтобы показывать рекламу с указанием плейсмента, используйте следующий метод:
- UPM Дистрибуция
- Manual Дистрибуция
Appodeal.Show(AppodealShowStyle.Interstitial, "placementName");
Appodeal.show(Appodeal.INTERSTITIAL, "placementName");
Если загруженное объявление не может быть показано для определенного плейсмента, ничего не будет показано. Если автоматическое кеширование включено, SDK начнет кешировать другое объявление, что может повлиять на display rate. Чтобы сохранить загруженное объявление для использования в будущем (например, для другого места размещения), перед вызовом метода show проверьте, можно ли показывать объявление:
- UPM Дистрибуция
- Manual Дистрибуция
if(Appodeal.CanShow(AppodealAdType.Interstitial, "placementName")) {
Appodeal.Show(AppodealShowStyle.Interstitial, "placementName");
}
Вы можете настроить логику показа для каждого плейсмента.
Если у вас нет плейсментов, или вы вызовете метод Appodeal.Show()
с плейсментом, которого не существует,
показ будет помечен с использованием плейсмента default
, и будут применены его настройки.
if(Appodeal.canShow(Appodeal.INTERSTITIAL, "placementName")) {
Appodeal.show(Appodeal.INTERSTITIAL, "placementName");
}
Вы можете настроить логику показа для каждого плейсмента.
Если у вас нет плейсментов, или вы вызовете метод Appodeal.show()
с плейсментом, которого не существует,
показ будет помечен с использованием плейсмента default
, и будут применены его настройки.
Получение Прогнозируемого eCPM
Этот метод возвращает ожидаемую эффективную цену за тысячу показов для закешированного объявления. Сумма рассчитывается на основе исторических данных для текущего рекламного блока.
- UPM Дистрибуция
- Manual Дистрибуция
Appodeal.GetPredictedEcpm(AppodealAdType.Interstitial);
Appodeal.getPredictedEcpm(Appodeal.INTERSTITIAL);
Отключение Звука В Видео Рекламе
Если на устройстве пользователя установлен бесшумный режим, вы можете также отключить для него звук в видеорекламе, используя следующий метод:
- UPM Дистрибуция
- Manual Дистрибуция
Appodeal.MuteVideosIfCallsMuted(true);
Appodeal.muteVideosIfCallsMuted(true);