Rewarded реклама

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

Rewarded реклама - это вид полноэкранной рекламы на платформе Android для показа с согласия пользователя. Предполагается, что пользователь будет вознагражден за просмотр рекламы.

Этот вид рекламы позволяет заранее произвести поиск рекламы для пользователя, а затем в виде отдельного действия показать её пользователю.

Подключение рекламы

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

  1. ваше приложение открывается в iframe на мобильных платформах. Если оно открывается как внешняя страница, то вам стоит сделать запрос на включение iframe на api-support@ok.ru;
  2. сделать запрос на api-support@ok.ru для включения поддержки FAPI для мобильной версии вашего приложения.

После этого вы можете подключить FAPI следующим образом:

<script type="text/javascript" src="//api.ok.ru/js/fapi5.js" defer="defer"></script>

И объявить глобальную функцию API_callback для обработки результата показа реклама. Например:

window.API_callback = function(method, result, data) {
   console.log("method=" + method + ", result=" + result + ", data=" + data);
};

Проверка возможности показа рекламы

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

Для этого предназначен метод FAPI.UI.isNativeAdSupported().

Пример использования:

/*
* Проверка наличия возможности показать нативную рекламу
*/
function isAdsEnabled() {
    if (FAPI && FAPI.UI.isNativeAdSupported) {
        return FAPI.UI.isNativeAdSupported();
    }
}

Результат выполнения метода (boolean):

  • false - если показ рекламы недоступен;
  • true - если показ рекламы доступен.

Поиск рекламы

Если предыдущий этап завершился успешно (метод существует и вернул ответ true), то пользователю можно показывать рекламу.

Для показа рекламы она должна быть заранее подобрана. Для поиска рекламы следует использовать метод FAPI.UI.requestManualAd().

Пример использования:

/*
* Поиск внутриигровой рекламы
*/
function requestAds() {
    if (FAPI && FAPI.UI.requestManualAd) {
        FAPI.UI.requestManualAd();
    }
}

В результате вызова метода будет вызвана функция API_callback с результатом поиска - найдена реклама или нет.

Показ рекламы

Если в предыдущем этапе реклама была найдена,то её можно показывать. Делается это с помощью метода FAPI.UI.showLoadedAd().

Пример использования:

/*
* Показ внутриигровой рекламы
*/
function showAds() {
    if (FAPI && FAPI.UI.showLoadedAd) {
        FAPI.UI.showLoadedAd();
    }
}

После завершения показа рекламы снова будет вызвана функция API_callback.

Callback при поиске и показе рекламы

Как и все методы FAPI при любом значимом событии будет вызываться глобальный FAPI-callback - функция API_callback(method, result, data).

В зависимости от результата вызова рекламных функций вам может прийти следующий коллбек:

  • при вызове метода для пользователя рекламы не нашлось:
    • method = requestManualAd;
    • result = error;
    • data = no_ads;
  • реклама для пользователя найдена и подготовлена:
    • method = requestManualAd;
    • result = event;
    • data = ad_prepared;
  • реклама успешно показана:
    • method = showLoadedAd;
    • result = ok;
    • data = ad_shown;
  • при поиске или показе рекламы произошла ошибка:
    • method = requestManualAd / showLoadedAd;
    • result = error;
    • data = native ads failed.

Тестовое приложение

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

Приложение доступно по адресу http://m.ok.ru/game/inappadstest

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

  • для проверки наличия поддержки рекламы - нажать на кнопку FAPI.UI.isNativeAdSupported
  • для поиска рекламы - нажать на кнопку FAPI.UI.requestManualAd
  • для показа рекламы, если она нашлась - нажать на кнопку FAPI.UI.showLoadedAd