Отметим: когда игрок закрывает межстраничную рекламу и видит, что игра уже началась — он злится. Если реклама вылезает во время битвы с боссом — он ставит единицу в сторе. Мы сталкивались с этим десятки раз: кажется, что interstitial — лёгкие деньги, но без грамотной настройки они убивают retention. Некорректные точки показа и отсутствие cooldown могут снизить D1 retention на 30% по нашим данным. За многолетний опыт работы с мобильными играми мы интегрировали рекламу в более чем 40 проектов для iOS и Android. Наш подход: ставить UX выше сиюминутного дохода. В этой статье мы делимся проверенными практиками: от выбора точек показа до A/B-тестирования через Firebase Remote Config. Здесь вы найдёте готовые сниппеты кода и таблицы с рекомендуемыми параметрами. Если вы хотите интегрировать рекламу без риска для retention, получите консультацию — мы поможем настроить всё правильно.
Проблемы, которые решаем
Почему межстраничная реклама вредит retention?
Типичные ошибки: показ рекламы во время геймплея или сразу после его начала, отсутствие cooldown, неотключение для платящих игроков, отсутствие предзагрузки. Каждая из этих проблем снижает D1 retention на 10-30%. При этом правильная реализация может увеличить eCPM без потери аудитории. Согласно App Store Review Guidelines Section 4.2, показ межстраничной рекламы во время геймплея недопустим и ведёт к жалобам и удалению приложения.
Настройка частоты показа
Минимальный cooldown — 60 секунд, оптимальный — 90-180 секунд. Но лучше привязать частоту к игровым событиям: например, показывать каждые 3 завершённых уровня или каждые 2 минуты геймплея, в зависимости от того, что наступит раньше. Для разных жанров игры рекомендуем разные параметры:
| Тип игры | Cooldown (сек) | Уровни между показами |
|---|---|---|
| Казуальная (Match3, головоломки) | 90 | 2-3 |
| RPG, стратегия | 180 | 1-2 |
| Симулятор, гонки | 120 | 3-4 |
| Гиперказуальная | 60 | 1 |
Чтобы настроить частоту, определите минимальный cooldown в зависимости от жанра. Выберите игровые события для триггера показа (завершение уровня, возврат в меню). Настройте лимиты: количество уровней между показами. Храните состояние локально в PlayerPrefs — при перезапуске не должно быть немедленного показа. Запустите A/B-тест для проверки влияния на retention и доход. Правильная настройка позволяет увеличить eCPM на 30-50% без снижения retention, что напрямую влияет на доход от монетизации.
Как выбрать SDK для interstitial рекламы?
AdMob — универсальное решение с сетями-посредниками, Unity Ads — оптимален для игр на Unity, AppLovin — даёт высокий eCPM в гиперказуальных жанрах. Мы рекомендуем использовать медиацию: подключаем несколько SDK и выбираем лучший источник дохода в реальном времени. Для этого настраиваем AdMob Mediation или другую платформу. Подробнее читайте в официальной документации AdMob.
Что делать, если реклама не загрузилась?
Ничего. Игра должна продолжаться без рекламы, без показа ошибок пользователю. Реклама предзагружается заранее, но если сеть недоступна или нет fill, пропускаем показ. Не блокируйте прогресс отсутствием рекламы.
Техническая реализация
Управление состояниями игры
Используйте конечный автомат для определения точек показа. Как только игра переходит в состояние «уровень завершён» или «игра окончена» — проверяем лимиты и показываем рекламу. Ни в коем случае не показывайте interstitial из состояний Playing или Paused.
Пример реализации конечного автомата
public enum GameState { MainMenu, LoadingLevel, Playing, LevelComplete, GameOver } private void OnStateChanged(GameState newState) { switch (newState) { case GameState.LevelComplete: case GameState.GameOver: TryShowInterstitial(); break; } } Cooldown и частота на практике
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. Схема: OnSceneLoaded → LoadInterstitial(). Если реклама не загрузилась (нет сети, нет fill) — игра продолжается без рекламы, пользователь не видит никаких ошибок. Не показываем платящим игрокам. Если у пользователя есть активная подписка или куплено «отключение рекламы» — 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. Мы проводили такие тесты на 20+ проектах: в 70% случаев более умеренная частота даёт лучший долгосрочный LTV. Средняя стоимость интеграции составляет $1500–$3000 в зависимости от сложности, но окупается за 2–3 месяца за счёт роста eCPM. Получите консультацию, чтобы мы подобрали оптимальные параметры для вашей игры.
Что входит в нашу работу по интеграции
- Аудит текущей монетизации (eCPM, показатели, точки показа).
- Проектирование логики (точки показа, cooldown, отключение для платящих).
- Интеграция AdMob или другого SDK с предзагрузкой.
- Настройка Firebase Remote Config для гибкого управления.
- A/B-тестирование с анализом retention и дохода.
- Документация и обучение команды.
- Пост-релизная поддержка в течение 2 недель.
Ориентировочные сроки
| Этап | Срок |
|---|---|
| Аудит и проектирование | 1 день |
| Интеграция базовой логики | 1-2 дня |
| Настройка Remote Config и A/B-тест | 1 день |
| Тестирование и деплой | 1 день |
| Итого | от 3 до 5 дней |
Стоимость рассчитывается индивидуально в зависимости от сложности проекта и стека технологий (Unity, Unreal, собственный движок).
Заключение
Интеграция межстраничной рекламы — это баланс между доходом и удержанием пользователей. Без грамотной настройки вы рискуете потерять больше, чем заработаете. Мы помогли десяткам студий выйти на стабильный доход от рекламы без падения retention. Закажите бесплатный аудит текущей монетизации — свяжитесь с нами, и мы предложим решение под ключ.







