Сигнатура метода

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

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

Все показы рекламы, которые были совершены ДО заключения договора, учтены не будут, и вы не получите за них вознаграждение.

Метод предназначен для запуска цикличного поиска баннерной рекламы в игре без её показа.

FAPI.invokeUIMethod("requestBannerAds")

     

Пример вызова

  function requestBannerAds() {
    FAPI.invokeUIMethod("requestBannerAds")
  } 

Принцип работы

Данный метод запускает поиск баннерной рекламы в играх без её показа.

Как запустить показ рекламы

  • вызвать метод поиска рекламы FAPI.invokeUIMethod(“requestBannerAds”);
  • дождаться, когда баннер будет найден этим методом. В случае, когда реклама нашлась, будет возвращен специальный коллбек, сообщающий об этом;
  • вызвать метод показа рекламы FAPI.invokeUIMethod(“showBannerAds”).

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

Циклический поиск и обновление баннера

После запуска показа рекламы игре не требуется обновлять её на своей стороне - это решено на стороне SDK ОК.

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

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

Остановка циклического поиска и обновления баннера

Баннер может быть скрыть двумя способами:

  • пользователь закрыл его на специальную кнопку закрытия баннера;
  • был вызван метод скрытия баннерной рекламы - FAPI.invokeUIMethod(“hideBannerAds”).

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

При закрытии баннера игрой через метод скрытия циклический поиск останавливается. Чтобы возобновить поиск нужно снова вызвать метод FAPI.invokeUIMethod(“requestBannerAds”)

Учет показов

Для баннерной рекламы событие показа рекламы разделено на два типа:

  • показ баннерного блока - это событие, когда баннерный блок начал отображаться на экране устройства пользователя. В том числе повторный показ уже найденной ранее рекламы, если пользователь её скрыл, а игра снова инициировала её показ. Это событие - информационное, предназначено для того, чтобы в игре при необходимости можно было перестроить UI в момент появления баннерного блока. Это событие - не зачет показа рекламы, из числа которых затем высчитываются доходы игры от показов баннерной рекламы;
  • показ баннерной рекламы - это событие первого показа новой баннерной рекламы, которая показалась внутри отображаемого на экране устройства пользователя рекламного блока. Именно это событие учитывается при подсчете доходов игры. Отличительная особенность этого события от предыдущего в том, что для одного рекламного баннера событие засчитывается только при первом его показе.

Пример коллбека

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

Регистрируются следующие события:

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

Коллбек для случая, если рекламный баннер найден

method: “requestBannerAds”

result: “ok”

data: “ad_loaded”

Коллбек для случая, если рекламный баннер не найден

method: “requestBannerAds”

result: “error”

data: “no_ads”

Коллбек для случая, если блок рекламного баннера начал отображаться

Это событие не учитывается в зачетах показа рекламы

method: “requestBannerAds”

result: “ok”

data: “banner_shown”

Коллбек для случая первого показа рекламного баннера

Это событие учитывается в зачетах показа рекламы

method: “requestBannerAds”

result: “ok”

data: “ad_shown”

Коллбек для случая, если пользователь скрыл баннер

method: “requestBannerAds”

result: “error”

data: “hidden_by_user”

Коллбек для случая, если пользователь кликнул на баннер

method: “requestBannerAds”

result: “event”

data: “ad_clicked”

Коллбек для случая, если реклама не поддерживается на платформе

method: “requestBannerAds”

result: “error”

data: “disabled”

Коллбек для случая, если реклама не поддерживается на устройстве пользователя

method: “requestBannerAds”

result: “error”

data: “not_supported”

Коллбек для случая, если рекламный запрос был заблокирован блокировщиком рекламы

method: “requestBannerAds”

result: “error”

data: “initialization_error”

Детализация ошибок рекламы на Android

На платформе Android для баннерной рекламы поддерживается ряд дополнительных исключений, которые будут вам возвращаться в следующем формате: native ads failed: {error_code}.

Параметр error_code может иметь следующие значения:

  • -1 - достигнут лимит частоты вызова рекламы. Вызов метода доступен не чаще 1 раза в 30 секунд;
  • -2 - ошибка вызова клиентского коллбека;
  • -3 - реклама на Android недоступна пользователю (например, он использует старую версию приложения).