Реализация баннерной рекламы в мобильном приложении

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

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

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация баннерной рекламы в мобильном приложении
Простая
от 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
    1054
  • 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

Реализация баннерной рекламы в мобильном приложении

Баннер — самый простой формат по интеграции, но с наибольшим количеством UX-ошибок в продакшне. Типичная картина: баннер прыгает при загрузке и сдвигает контент, размер фиксированный 320×50 (который Google уже считает устаревшим), а на планшете — крошечная полоска посередине широкого экрана. Всё это решается правильным выбором размера и управлением layout на этапе интеграции, а не после ревью.

Адаптивный баннер вместо фиксированного

Google AdMob с версии 19.x рекомендует adaptive banner вместо BANNER (320×50) и LEADERBOARD (728×90). Адаптивный баннер получает ширину контейнера и сам выбирает оптимальную высоту:

// Android
val adSize = AdSize.getCurrentOrientationAnchoredAdaptiveBannerAdSize(context, adContainerWidth)
adView.setAdSize(adSize)
// iOS
let viewWidth = view.frame.inset(by: view.safeAreaInsets).width
let adaptiveSize = GADCurrentOrientationAnchoredAdaptiveBannerAdSize(forWidth: viewWidth)
bannerView.adSize = adaptiveSize

Высота адаптивного баннера — от 50 до 90 dp в зависимости от ширины. Это важно для layout: нельзя захардкодить layout_height="50dp" — баннер либо обрежется, либо оставит пустое место. Правильный подход — слушать onAdLoaded и устанавливать высоту программно через adView.adSize.getHeightInPixels(context).

Проблема прыжка контента

Самая раздражающая ошибка баннерной рекламы — когда при загрузке баннера контент экрана смещается вниз. Google за это понижает рейтинг в магазине. Решение: резервировать место для баннера до его загрузки.

На Android: контейнер FrameLayout с фиксированной высотой wrap_content и начальным visibility="invisible". После onAdLoadedView.VISIBLE. Контент не прыгает, место уже зарезервировано.

На iOS с автолейаутом: добавляем NSLayoutConstraint для высоты баннера с начальным значением 0, обновляем constraint после загрузки через UIView.animate.

Sticky-баннер внизу экрана

Наиболее популярное размещение — закреплённый баннер над tab bar или navigation bar. Нюанс: на iPhone с Dynamic Island или notch нужно учитывать safeAreaInsets.bottom. Баннер, перекрывающий home indicator, Apple отклоняет при ревью — видели несколько таких кейсов.

bannerView.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
    bannerView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor),
    bannerView.centerXAnchor.constraint(equalTo: view.centerXAnchor)
])

Обновление и жизненный цикл

Баннер нужно останавливать при уходе приложения в фон (onPause / applicationWillResignActive) и возобновлять при возврате. Без этого возможен IllegalStateException на Android при попытке загрузить новое объявление в неактивной Activity.

Автообновление (по умолчанию 60 сек в AdMob) можно настроить в консоли, но не через SDK — это ограничение намеренное. Если нужна другая частота — используйте AdView.pause() / resume() в сочетании с ручным таймером.

Сроки интеграции баннерной рекламы — 1–2 дня с учётом тестирования на разных устройствах и размерах экрана.