Работа с рекламой

Общий принцип взаимодействия с рекламными блоками.

Идентификаторы из личного кабинета

Идентификатор паблишера (publisher_id)

Для инициализации SDK вам потребуется идентификатор паблишера (publisher_id)

Ваш publisher_id находится в разделе "Настройки" в личном кабинете Yabbi.

Идентификатор рекламного блока (placement_name)

При использовании методов SDK вам потребуется идентификатор рекламного блока (placement_name) рекламного блока.

placement_name - это ID рекламного блока. Рекламные блоки создаются в личном кабинете Yabbi.

Тестовые идентификаторы

В процессе интеграции SDK для стабильного получения тестовой рекламы рекомендуем использовать специальные publisher_id и placement_name.

Publisher ID - 65057899-a16a-4877-989b-38c432a7fa15

Формат Interstitial

Yabbi Interstitial ID - b8359c60-9bde-47c9-85ff-3c7afd2bd982

Yandex Interstitial ID - cd1dff91-76d0-44c2-a6ca-fd3f446ef9b5

IronSource Interstitial ID - ec9decde-58c8-4d1b-885f-479b05f39dcb

Формат Rewarded Video

Yabbi Rewarded ID - eaac7a7f-b0b0-46d2-ac95-bd58578e9e29

Yandex Rewarded ID - 7e6334fc-ef08-45e9-9581-d18026a2fadb

IronSource Rewarded ID - 9b45ac1a-ca72-4d57-9f0f-7bab924ad1b4

Формат Banner

Yabbi Banner ID - 27668678-d138-4af4-84f4-891252086125

Форматы рекламы

Рекламная сеть Yabbi поддерживает 3 формата рекламы.

Полноэкранный баннер (Interstitial)

Реклама показывается на весь экран, содержит интерактивный баннер или видео. По тапу происходит переход по ссылке, указанной рекламодателем.

Пользователь может закрыть баннер через 3 секунды.

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

При работе с таким форматом используйте параметр Yabbi.INTERSTITIAL.

Вот пример вызова метода для показа рекламы такого формата.

Yabbi.showAd(this, Yabbi.INTERSTITIAL, "placement_name");

Видео с вознаграждением (rewarded video)

Реклама показывается на весь экран, содержит видео или интерактивный баннер. По тапу происходит переход по ссылке, указанной рекламодателем.

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

При работе с таким форматом используйте параметр Yabbi.REWARDED.

Вот пример вызова метода для показа рекламы такого формата.

Yabbi.showAd(this, Yabbi.REWARDED, "placement_name");

Для того, чтобы узнать, выдавать пользователю награду, или нет, используйте событие onRewardedFinished.

Реклама показывается в нижней части экрана, содержит интерактивный баннер. По тапу происходит переход по ссылке, указанной рекламодателем.

При работе с таким форматом используйте параметр Yabbi.BANNER.

Вот пример вызова метода для показа рекламы такого формата.

Yabbi.showAd(this, Yabbi.BANNER, "placement_name");

Автообновление рекламы в баннере

Для увеличения вашей прибыли мы разработали функцию автоматической смены контента в баннере.

Для настройки укажите интервал в секундах (минимум 10 секунд).

Если параметр не заполнен или равен нулю — контент не будет обновляться.

final BannerSettings settings = BannerSettings.builder()
        .setRefreshIntervalSeconds(10)
        .build();

Место для показа баннера

По умолчанию баннер позиционируется в нижней части экрана, но вы можете изменить это поведение несколькими способами.

Определите позицию баннера через BannerSettings

Нижняя часть экрана:

final BannerSettings settings = BannerSettings.builder()
        .setBannerPosition(BannerPosition.BOTTOM)
        .build();

Верхняя часть экрана:

final BannerSettings settings = BannerSettings.builder()
        .setBannerPosition(BannerPosition.TOP)
        .build();

Показ кнопки закрытия

По умолчанию кнопка закрытия баннера не показывается, но вы можете влючить её:

final BannerSettings settings =  new BannerSettings.Builder()
       .setShowCloseButton(true)
       .build();
Yabbi.setBannerCustomSettings(settings);

Методы SDK

Работа с рекламой сводится к работе с методами Yabbi SDK.

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

Yabbi.initialize("publisher_id");

  1. loadAd (обязательный). Загружает рекламу с сервера. Обычно этот метод вызывается заранее, чтобы к моменту показа контент был загружен. В таком случае время ожидания пользователем показа рекламы будет минимальным.

// загрузка рекламы формата Interstitial
Yabbi.loadAd(this, Yabbi.INTERSTITIAL, "placement_name");
// загрузка рекламы формата Rewarded video
Yabbi.loadAd(this, Yabbi.REWARDED, "placement_name");
// загрузка рекламы формата Banner
Yabbi.loadAd(this, Yabbi.BANNER, "placement_name");

  1. isAdLoaded (необязательный). Проверяет статус загрузки рекламного блока.

Yabbi.isAdLoaded(Yabbi.INTERSTITIAL, "placement_name");
Yabbi.isAdLoaded(Yabbi.REWARDED, "placement_name");
Yabbi.isAdLoaded(Yabbi.BANNER, "placement_name");

Метод возвращает true либо false. При отрицательном ответе попытка показать рекламу ни к чему не приведёт.

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

// проверка статуса загрузки и последующий запуск показа рекламы формата Interstitial
if (Yabbi.isAdLoaded(Yabbi.INTERSTITIAL, "placement_name")) {    
    Yabbi.showAd(this, Yabbi.INTERSTITIAL, "placement_name");
}

  1. showAd (обязательный). Вызывает показ рекламы при помощи плеера, встроенного в SDK.

Yabbi.showAd(this, Yabbi.INTERSTITIAL, "placement_name");
Yabbi.showAd(this, Yabbi.REWARDED, "placement_name");
Yabbi.showAd(this, Yabbi.BANNER, "placement_name");

  1. destroyAd (необязательный). Уничтожает рекламный контейнер. Вы можете работать с несколькими рекламными блоками одновременно, однако мы настоятельно рекомендуем уничтожать ненужные во избежание проблем с памятью и других неприятностей.

// уничтожение рекламного контейнера с форматом Rewarded Video
Yabbi.destroyAd(Yabbi.REWARDED, "placement_name");

  1. setUserConsent (необязательный). Предназначен для передачи статуса согласия пользователя на сбор, обработку и использование персональных данных. По умолчанию - false, т.е. пользователь не дал согласия на использование его данных в рекламных и иных целях. Рекомендуем вам использовать этот метод для повышения качества рекламной монетизации. Вы можете получать согласие самостоятельно, или воспользоваться нашим Consent Manager.

Использование нескольких рекламных блоков

Вы можете работать с несколькими рекламными блоками асинхронно, то есть вызывать методы с разными placement_name и форматами независимо друг от друга с помощью метода loadAd асинхронно, то есть загружать несколько рекламных блоков одновременно.

Отслеживание рекламных событий

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

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

Учтите, что рекламные события отрабатывают на любой рекламный блок.

Т.е. если вы вызываете загрузку 2 рекламных блоков одновременно, событие загрузки отработает 2 раза, для каждого блока.

Вот примеры установки существующих рекламных событий.

Yabbi.setInterstitialListener(new InterstitialListener(){
    @Override
    public void onInterstitialLoaded(AdPayload adPayload){
        // Вызывется при загрузке рекламы
        // С помощью AdPayload adPayload можно получить подробную информацию о запросе
    }
    
    @Override
    public void onInterstitialLoadFail(AdPayload adPayload, AdException error){
        // ВызываетсяВызывается если при загрузке рекламы произошла ошибка
        // С помощью AdPayload adPayload можно получить подробную информацию о запросе
        // С помощью AdException error можно получить подробную информацию об ошибке
    }
    
    @Override
    public void onInterstitialShown(AdPayload adPayload){
        // Вызывается при показе рекламы
        // С помощью AdPayload adPayload можно получить подробную информацию о запросе
    }
    
    @Override
    public void onInterstitialShowFailed(AdPayload adPayload, AdException error){
       // Вызывается если при показе рекламы произошла ошибка
       // С помощью AdPayload adPayload можно получить подробную информацию о запросе
       // С помощью AdException error можно получить подробную информацию об ошибке
    }
    
    @Override
    public void onInterstitialClosed(AdPayload adPayload){
        // Вызывается при закрытии рекламы
        // С помощью AdPayload adPayload можно получить подробную информацию о запросе
    }
}

Last updated

Was this helpful?