Межстраничная реклама

Межстраничная реклама (interstitial) — полноэкранный формат рекламы, встраиваемый в контент приложения во время естественных пауз, таких как переход между уровнями игры или окончание выполнения целевого действия.

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

В межстраничной рекламе внимание пользователя полностью сконцентрировано на рекламе, за счет чего стоимость ее показа выше.

Это руководство покажет, как интегрировать межстраничную рекламу в React Native приложение. В дополнение к примерам кода и инструкции оно также содержит рекомендации по использованию данного формата рекламы, а также ссылки на дополнительные ресурсы.

Пререквизит

  1. Выполните шаги по интеграции Yandex Mobile Ads React Native Plugin, описанные в Быстром старте.
  2. Убедитесь, что используете самую актуальную версию Yandex Mobile Ads React Native Plugin, а в случае использовании медиации — наиболее свежую версию единой сборки.

Имплементация

Основные шаги по интеграции межстраничных объявлений:

  • Создать загрузчик рекламы InterstitialAdLoader.
  • Настроить параметры загрузки объявления с помощью AdRequestConfiguration.
  • Загрузить рекламу InterstitialAd.
  • Установить функции обратного вызова рекламного объявления.
  • Показать объявление InterstitialAd.

Особенности подключения межстраничной рекламы

  1. Если вы получили ошибку при выполнении метода loadAd, не пытайтесь загрузить новое объявление снова. Если всё же необходимо это сделать, ограничьте число повторных попыток загрузки рекламы. Это поможет избежать постоянных неудачных запросов и проблем с подключением в случае ограничений.

Загрузка рекламы

Для загрузки межстраничной рекламы необходимо создать объект класса InterstitialAdLoader. Для этого вам необходимо вызвать метод InterstitialAdLoader.create().

Для создания экземпляра класса AdRequestConfiguration вам потребуется идентификатор рекламного места, полученный вами в ПИ (adUnitId).

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

Для загрузки межстраничной рекламы необходимо вызвать метод loadAd у объекта класса InterstitialAdLoader.

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

let loader = await InterstitialAdLoader.create()
    .catch((error) => {
        // Handle error gracefully
        return;
    });
if (!loader) {
    return;
}
let adRequestConfiguration = new AdRequestConfiguration(
    'R-M-XXXXXX-Y', // for debug you can use 'demo-interstitial-yandex'
    '20',
    'context-query',
    ['context-tag'],
    Gender.Female,
    new Location(55.734202, 37.588063)
);
let ad = await loader.loadAd(adRequestConfiguration)
    .then((ad) => {
        // Ad loaded successfully
        return ad;
    })
    .catch((error) => {
        // Handle error gracefully
        return;
    });

Показ объявления

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

Для отслеживания событий жизненного цикла межстраничной рекламы, объекту класса InterstitialAd необходимо установить функции обратного вызова.

Чтобы показать межстраничное объявление, используйте метод show():

ad.onAdShown = () => {
    console.log('Did show');
};
ad.onAdFailedToShow = (error) => {
    console.log(`Did fail to show with error: ${JSON.stringify(error)}`);
};
ad.onAdClicked = () => {
    console.log('Did click');
};
ad.onAdDismissed = () => {
    console.log('Did dismiss');
};
ad.onAdImpression = (impressionData) => {
    console.log(`Did track impression: ${JSON.stringify(impressionData)}`);
};
ad.show();

Тестирование интеграции межстраничной рекламы

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

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

Для гарантированного возврата тестовых объявлений на каждый запрос за рекламой, мы создали специальный демонстрационный идентификатор рекламного места. Используйте его для проверки корректной интеграции рекламы.

Демонстрационный adUnitId: demo-interstitial-yandex.

Важно

Убедитесь, что перед выкладыванием приложения в store, вы заменили демонстрационный идентификатор рекламного места на настоящий, полученный в ПИ.

Список всех доступных демонстрационных идентификаторов рекламного места доступен в разделе Демоблоки для тестирования.

Проверка корректной интеграции рекламы

Проверить корректность интеграции межстраничной рекламы можно через встроенный в sdk анализатор.

Данный инструмент проверяет корректность подключения межстраничной рекламы и выводит в лог подробный отчет. Для просмотра отчета, выполните поиск по ключевому слову "YandexAds" в инструменте отладки Android-приложений Logcat.

adb logcat -v brief '*:S YandexAds'

В случае успешной интеграции, вы увидите следующее сообщение:

adb logcat -v brief '*:S YandexAds'
mobileads$ adb logcat -v brief '*:S YandexAds'
I/YandexAds(13719): [Integration] Ad type interstitital was integrated successfully

В случае обнаружения проблем при интеграции межстраничной рекламы — подробный отчет о проблемах и рекомендации по их устранению.

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

Для проверки корректной интеграции рекламы, а также для тестирования вашего приложения, рекомендуется использовать тестовую рекламу.

Для гарантированного возврата тестовых объявлений на каждый запрос за рекламой, мы создали специальный демонстрационный идентификатор рекламного места. Используйте его для проверки корректной интеграции рекламы.

Демонстрационный adUnitId: demo-interstitial-yandex.

Важно

Убедитесь, что перед выкладыванием приложения в store, вы заменили демонстрационный идентификатор рекламного места на настоящий, полученный в ПИ.

Список всех доступных демонстрационных идентификаторов рекламного места доступен в разделе Демоблоки для тестирования.

Проверка корректной интеграции рекламы

Проверить корректность интеграции рекламы можно через нативный инструмент Console.

Чтобы получить возможность просматривать расширенные логи, необходимо вызвать метод enableLogging класса YMAMobileAds.

YMAMobileAds.enableLogging()

Для просмотра логов SDK в инструменте Console установите sybsystem = com.yandex.mobile.ads.sdk. Так же вы можете фильтровать логи по категории и по уровню ошибки.

В случае обнаружения проблем при интеграции рекламы вы увидите подробный отчет о проблемах и рекомендации по их устранению.

Советы

Предзагрузка объявления

Загрузка рекламного объявления может занимать до нескольких секунд в зависимости от количества подключенных рекламных сетей в мобильной медиации и скорости соединения пользователя. Рекомендуется предзагружать рекламные объявления перед показом.

Вызывайте loadAd заранее и в нужный момент сразу показывайте загруженное объявление.

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

Избыточное кеширование объявлений на экранах, которые вряд ли будут показаны, может снизить эффективность рекламы. Например, если в среднем пользователи проходят 2–3 уровня игры за раз, не стоит кешировать объявления для 6–7 экранов. Так видимость рекламы снизится, и рекламная система может деприоритизировать приложение.

Чтобы кеширование работало на пользу приложения, обращайте внимание на метрику «Доля показов» или «Доля видимых показов» в партнерском интерфейсе. Если она ниже 20%, это повод задуматься над изменением алгоритма кеширования. Чем доля показов выше, тем лучше.

Дополнительные ресурсы