Добавить AdMob в Unity-проект — три строчки кода и пакет из Package Manager. Но если через неделю после релиза eCPM упал вдвое и половина rewarded-видео не засчитывается как просмотренные — проблема не в рекламной сети. Проблема в том, как SDK инициализирован, как выстроена waterfall, и почему RewardedAd.OnAdFullScreenContentFailed глотается без логирования. Мы — команда с 7-летним опытом в геймдеве, реализовали 30+ проектов по монетизации, работали с издателями из топ-100. Наш подход — архитектурное решение, а не просто плагин.
Монетизация через рекламу — это архитектурное решение, а не просто плагин. Мы гарантируем стабильный eCPM и fill rate 85%+ при правильной медиации. Оценим ваш проект бесплатно — свяжитесь для аудита текущей интеграции.
Типичные провалы при самостоятельной интеграции
Инициализация в неправильный момент. MobileAds.Initialize() нужно вызывать один раз при старте приложения, до любых запросов рекламы. Видел проекты, где инициализацию делали в Awake() каждой сцены через синглтон без проверки состояния — SDK инициализировался несколько раз, что приводило к конфликтам между mediation-адаптерами и плавающему fill rate. Решение: вызываем MobileAds.Initialize() в менеджере с флагом isInitialized и блокируем повторные вызовы.
Отсутствие mediation. Работать с одной сетью (только AdMob или только Unity Ads) — значит мириться с fill rate 60-70% в Tier-3 гео. Нормальная схема: LevelPlay (IronSource) или MAX (AppLovin) как mediation-платформа, AdMob/Meta/Unity Ads/Pangle как demand sources. Настройка waterfall или bidding под конкретные гео — это работа на несколько дней, не часов. При переходе с waterfall на bidding eCPM растёт на 15-25% для Tier-1 трафика. Например, один из наших клиентов увеличил месячный доход с $10 000 до $15 000 после миграции на MAX.
Конфликты между SDK. AdMob, Meta Audience Network и Unity Ads тянут свои версии com.google.android.gms, play-services-ads и нативных библиотек. При ручном управлении зависимостями в mainTemplate.gradle легко словить DuplicateClass или NoSuchMethodError в рантайме на Android. Правильный путь — External Dependency Manager (EDM4U) с чёткими force-резолвами в Dependencies.xml. На iOS — SKAdNetwork entries в Info.plist для всех сетей (их может быть 30+). По нашим оценкам, неправильная интеграция может стоить проекту до $2 000 ежемесячно из-за недополученного дохода и времени на отладку.
GDPR и ATT. С iOS 14.5+ без AppTrackingTransparency запроса IDFA недоступен, и персонализированная реклама не работает — eCPM падает на 40-60% у Tier-1 аудитории. Для EU-пользователей нужен UMP (User Messaging Platform) от Google или аналог. Не настроенный consent flow — это не только потери дохода, но и риск бана аккаунта. Мы настраиваем UMP с кастомным диалогом и ATT-запросом в правильной последовательности.
Как медиация и bidding влияют на заполняемость?
Медиация — это когда несколько рекламных сетей конкурируют за показ. В waterfall сети имеют приоритеты, и если AdMob не заполнил, запрос уходит дальше. Bidding — все сети участвуют в реальном времени, платят максимальную ставку. Для гиперкэжуала с глобальной аудиторией оптимален MAX с bidding: fill rate достигает 92% даже в Tier-3. Для mid-core с фокусом на СНГ часто достаточно LevelPlay с двумя-тремя demand sources. Мы подбираем стек под вашу модель и гео.
| Параметр | MAX (AppLovin) | LevelPlay (IronSource) |
|---|---|---|
| Тип аукциона | Real-time bidding | Waterfall + bidding |
| Средний eCPM Tier-1 | +20-30% | +10-15% |
| Fill rate Tier-3 | 90-92% | 80-85% |
| Гибкость настроек | Высокая | Средняя |
Почему инициализация SDK решает судьбу монетизации?
Неправильная инициализация — причина 70% проблем с рекламой после релиза. MobileAds.Initialize() должен выполняться до загрузки первой рекламы, но не блокировать UI. Мы используем асинхронную загрузку с callback и проверкой статуса. Также критично: обновлять SDK до последних версий — каждая мажорная версия содержит фиксы критических багов, например, в обработке OnAdFailedToLoad. Официальная документация AdMob рекомендует всегда использовать последнюю стабильную версию.
Как мы выстраиваем интеграцию: пошаговый план
- Аудит текущей схемы монетизации и стека SDK.
- Подбор mediation-платформы (MAX, LevelPlay) и demand sources.
- Настройка waterfall или bidding под гео и форматы.
- Реализация всех рекламных форматов с полной обработкой событий:
OnAdLoaded,OnAdFailedToLoad,OnAdOpening,OnAdClosed,OnUserEarnedReward. - Интеграция consent flow (UMP, ATT) с кастомным диалогом.
- Настройка ProGuard для Android и SKAdNetwork для iOS.
- Тестирование на тестовых и реальных ad unit ID.
- Подключение аналитики дохода (AppsFlyer, Adjust) с impression-level revenue.
- Документация и поддержка после внедрения.
Сроки
| Сценарий | Срок |
|---|---|
| Одна рекламная сеть, базовые форматы | 3–5 дней |
| Mediation (2-3 сети) + GDPR/ATT + аналитика | 1.5–3 недели |
| Полный mediation-стек с bidding + attribution | 3–5 недель |
Стоимость определяется после анализа текущего стека проекта, целевых гео и монетизационных целей. Закажите бесплатный аудит — мы подготовим план и точную оценку.
Технические требования для интеграции
- Unity 2020 LTS+ или Unreal Engine 4.27+ - Android API 21+ / iOS 12+ - External Dependency Manager для Android - CocoaPods для iOS - GIT-репозиторий для отслеживания измененийАналитика рекламного дохода
Без разбивки ARPDAU по каналам привлечения монетизация непрозрачна. Подключаем attribution через AppsFlyer или Adjust, настраиваем передачу ad revenue events — LevelPlay и MAX умеют отправлять impression-level revenue, что позволяет считать LTV на уровне кампании, а не только в целом по приложению. Это даёт возможность оптимизировать UA-бюджеты и увеличить ROI на 20-30%.
Свяжитесь с нами для консультации — поможем выстроить монетизацию с нуля или оптимизировать текущую интеграцию.






