Интеграция рекламной сети IronSource в мобильное приложение
IronSource в 2023 году стал частью Unity под брендом Unity LevelPlay — но SDK, документация и адаптеры по-прежнему живут под старым именем в большинстве продакшн-проектов. Если вы подключаете его впервые или мигрируете со старого com.ironsource.sdk, важно понимать, что архитектура LevelPlay построена вокруг единого IronSource.init() с последовательной инициализацией, а не параллельной — и нарушение этого порядка даёт IronSourceError code 510 на Android при первом запросе рекламы.
Типичные проблемы при подключении
Самый частый вопрос на поддержке: «Баннер грузится, но rewarded не показывается». Причина почти всегда одна — не дождались события onInitializationComplete перед вызовом IronSource.loadRewardedVideo(). SDK асинхронный, инициализация на слабых устройствах занимает 1.5–3 секунды, и если нагрузить его сразу после Application.onCreate(), адаптер AdMob или Meta не успевает зарегистрироваться.
На iOS картина другая: ISInitializationDelegate отрабатывает быстро, но ISRewardedVideoDelegate нужно навесить до IronSource.init(), иначе пропускаешь первый rewardedVideoHasChangedAvailability(true) и получаешь пустой экран там, где должна быть реклама.
Ещё одна грабля — GDPR и ATT. IronSource требует передачи consent до инициализации через IronSource.setMetaData("do_not_sell", "true") и IronSource.setConsent(true/false). Если consent-экран показывается после init(), часть сетей в медиации получает неверный флаг и просто не отдаёт рекламу — без каких-либо ошибок в логах.
Как мы подключаем IronSource
Процесс начинается с аудита текущего состояния: какие рекламные SDK уже есть в приложении, есть ли конфликты с com.google.android.gms:play-services-ads или Meta Audience Network по версиям. IronSource требует строгих версий адаптеров — несовпадение на минорную версию ломает медиацию молча.
Стек для Android:
implementation 'com.ironsource.sdk:mediationsdk:7.9.0'
implementation 'com.ironsource.adapters:admobadapter:4.3.40'
implementation 'com.ironsource.adapters:metaadapter:4.3.43'
Добавляем IronSourceInitListener в Application класс, а не в Activity — это позволяет переиспользовать уже инициализированный инстанс при смене экранов. Для Unity-проектов подход другой: IronSourceUnityWrapper.CallStaticAndroid блокирует main thread при неправильной настройке threading model.
Серверная верификация rewarded реализуется через Rewarded Video Server-Side Verification (SSV): IronSource делает GET-запрос на ваш endpoint с подписью hmac-sha256, вы верифицируете и выдаёте награду. Без SSV награды можно накрутить через Charles Proxy за 10 минут — это реальный вектор атаки в играх.
Аналитику подключаем через ISImpressionDataDelegate: каждый impression передаёт revenue, ad_unit, country, instance_name — этого достаточно для построения дашборда eCPM по сетям в реальном времени.
Этапы работы
- Аудит зависимостей и версий SDK в проекте
- Регистрация приложения в консоли Unity LevelPlay, получение App Key
- Настройка рекламных блоков (placement ID) для каждого формата
- Интеграция SDK с правильным порядком инициализации и consent-флагами
- Подключение адаптеров нужных сетей (AdMob, Meta, Applovin, Unity Ads)
- Реализация SSV-эндпоинта для rewarded (если нужен)
- Тестирование на реальных устройствах с включёнными test device ID
- Мониторинг fill rate и eCPM после публикации
Сроки
Базовая интеграция с одним форматом рекламы — 1–2 дня. Полное подключение с медиацией, SSV и аналитикой — 2–3 дня. Стоимость рассчитывается индивидуально после анализа текущего стека проекта.







