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

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

  1. Изучите особенности и рекомендации по размещению рекламы.
  2. Настройте вызов рекламы с помощью SDK.
  3. Подключите монетизацию в Консоли разработчика.

Настройка вызова рекламы

Полноэкранный блок рекламы

Блок с рекламой, который полностью закрывает приложение и показывается между запросом какой-то информации пользователем (например, при переходе на следующий уровень игры) и ее получением.

Чтобы вызвать рекламу, используйте метод ysdk.adv.show_fullscreen_adv().

ysdk.adv.show_fullscreen_adv(callbacks: table)

callbacks: table — опциональные callback-функции. Настраиваются индивидуально для каждого рекламного блока.

  • on_close — вызывается при закрытии рекламы, после ошибки, а также если реклама не открылась по причине слишком частого вызова. Используется с аргументом wasShown (тип: boolean), по значению которого можно узнать, была ли показана реклама.

  • on_open — вызывается при успешном открытии рекламы.

  • on_error — вызывается при возникновении ошибки. Объект ошибки передается в callback-функцию.

  • on_offline — вызывается при потере сетевого соединения (переходе в офлайн-режим).

Пример

1ysdk.adv.show_fullscreen_adv({
2    on_close = function (self, was_shown)
3        -- Действие в случае закрытия рекламы.
4    end,
5    on_error = function (self, error)
6        -- Действие в случае ошибки.
7    end
8})

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

Блок с видеорекламой, за просмотр которого пользователь получает награду, например внутриигровую валюту.

Чтобы вызвать рекламу, используйте метод ysdk.adv.show_rewarded_video().

ysdk.adv.show_rewarded_video(callbacks: table)

callbacks: table — опциональные callback-функции. Настраиваются индивидуально для каждого рекламного блока.

  • on_close — вызывается при закрытии видеорекламы.

  • on_open — вызывается при отображении видеорекламы на экране.

  • on_error — вызывается при возникновении ошибки. Объект ошибки передается в callback-функцию.

  • on_rewarded — вызывается, когда засчитывается просмотр видеорекламы. Укажите в этой функции, какую награду пользователь получит после просмотра.

Пример

 1ysdk.adv.show_rewarded_video({
 2    on_open = function (self)
 3        print("Video ad open")
 4    end,
 5    on_close = function (self)
 6        print("Rewarded!")
 7    end,
 8    on_rewarded = function (self)
 9        print("Video ad closed.")
10    end,
11    on_error = function (self, error)
12        print("Error while open video ad: " .. error)
13    end
14})

Стики-баннер

Блок с рекламой, который показывается во время игры.

О подключении стики-баннера в Консоли разработчика см. в основной статье.

По умолчанию стики-баннер появляется при запуске игры и отображается на протяжении всей сессии. Чтобы настроить момент показа баннера:

  1. В блоке Sticky-баннеры включите опцию Использовать API для показа sticky-баннера.
  2. Задайте показ баннеров, используя методы:
    • ysdk.adv.get_banner_adv_status() — показывает статус баннера;
    • ysdk.adv.show_banner_adv() — вызывает баннер;
    • ysdk.adv.hide_banner_adv() — убирает баннер.

Метод ysdk.adv.get_banner_adv_status() возвращает значение sticky_adv_is_showing: boolean. Если sticky_adv_is_showing = false, метод ysdk.adv.get_banner_adv_status() может вернуть опциональное поле reason с возможными причинами:

  • ADV_IS_NOT_CONNECTED — не подключены баннеры;
  • UNKNOWN — ошибка показа рекламы на стороне Яндекса.

Пример

 1ysdk.adv.get_banner_adv_status(
 2    function (self, sticky_adv_is_showing, reason)
 3        if sticky_adv_is_showing then
 4            -- Реклама показывается.
 5        elseif reason then
 6            -- Реклама не показывается.
 7            print(reason)
 8        else
 9            ysdk.adv.show_banner_adv()
10        end
11    end
12)

Примечание

Если при работе с плагином вы столкнулись с проблемой или у вас появился вопрос, обратитесь в сообщество в Телеграме или в сообщество ВКонтакте.

Репозиторий
Следующая