Реализация Interstitial Ads для мобильной игры

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация Interstitial Ads для мобильной игры
Простая
от 1 рабочего дня до 3 рабочих дней
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1052
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Реализация Interstitial Ads для мобильной игры

Interstitial в играх — форматс наибольшим риском негативного UX. Показать его в неподходящий момент значит получить 1-звёздочный отзыв «реклама прямо во время игры». Показывать редко и в правильных точках — значит иметь стабильный источник дохода без ущерба для retention.

Правильные точки показа в игре

Только в переходных состояниях. Между уровнями, на экране результата, при возврате в главное меню — да. Во время геймплея, при нажатии паузы, при старте уровня — никогда. Google Play и App Store отклоняют игры с interstitial, показывающимся «неожиданно» — это буквально пункт в правилах.

В Unity удобно управлять показом через конечный автомат состояний игры:

public enum GameState { MainMenu, LoadingLevel, Playing, LevelComplete, GameOver }

private void OnStateChanged(GameState newState) {
    switch (newState) {
        case GameState.LevelComplete:
        case GameState.GameOver:
            TryShowInterstitial();
            break;
    }
}

Cooldown и частота

Минимальный cooldown между показами — 30–60 секунд. На практике для казуальных игр хорошо работает «раз в 2–3 уровня» или «раз в 3 минуты игрового времени», что наступит раньше:

private float lastInterstitialTime = -999f;
private int levelsSinceLastAd = 0;
private const float COOLDOWN = 120f;
private const int LEVELS_BETWEEN_ADS = 3;

public bool CanShowInterstitial() {
    return Time.time - lastInterstitialTime > COOLDOWN
        && levelsSinceLastAd >= LEVELS_BETWEEN_ADS;
}

public void OnLevelCompleted() {
    levelsSinceLastAd++;
    if (CanShowInterstitial()) {
        ShowInterstitial();
        lastInterstitialTime = Time.time;
        levelsSinceLastAd = 0;
    }
}

Cooldown храним в PlayerPrefs — при убийстве приложения и перезапуске не должно быть «накопленного» показа сразу при старте.

Предзагрузка и обработка состояний

Interstitial загружается заранее — при инициализации или сразу после предыдущего показа. Задержка при запросе в момент показа разрушает UX. Схема: OnSceneLoadedLoadInterstitial().

Если реклама не загрузилась (нет сети, нет fill) — игра продолжается без рекламы, пользователь не видит никаких ошибок. Не блокируем прогресс отсутствием рекламы.

Не показываем платящим игрокам. Если у пользователя есть активная подписка или he купил «отключение рекламы» — interstitial не должен появляться. Проверка через флаг в профиле пользователя, сохранённый локально и синхронизированный с сервером.

A/B-тестирование параметров

AdMob поддерживает встроенное A/B-тестирование для параметров медиации. Но для игровой логики (cooldown, количество уровней между показами) удобнее Firebase Remote Config:

var cooldown = RemoteConfig.GetValue("interstitial_cooldown_seconds").DoubleValue;
var levelsBetween = RemoteConfig.GetValue("levels_between_interstitials").LongValue;

Типичный эксперимент: группа A показывает каждые 2 уровня, группа B — каждые 4. Метрика успеха — не только eCPM, но и D1/D7 retention. Агрессивная частота легко поднимает краткосрочный доход и убивает retention.

Сроки реализации — 1–2 дня с cooldown-логикой, правильными placements и интеграцией Remote Config.