Как реализовать рекламу в iOS приложении и через какие сервисы
Что проверяют
Понимаете ли вы, что реклама в iOS это не только SDK и баннер, но и приватность: согласие на трекинг, требования App Store, ревью. Следом обычно спрашивают про ATT и про то, как показывать полноэкранную рекламу, не убивая удержание.
Как отвечать
Разведите два смысла вопроса. Монетизация это показ чужой рекламы в своём приложении. Реклама в поиске App Store это продвижение своего приложения, другая задача.
Сервисы для монетизации:
- Google Mobile Ads SDK (AdMob): баннеры, межстраничная, с вознаграждением, нативная, при открытии приложения;
- медиация: AdMob Mediation, AppLovin MAX, Unity LevelPlay, несколько сетей борются за показ, и доход выше;
- аудитория из России: основной выбор Yandex Mobile Ads SDK и VK Ads.
Каркас интеграции:
- SDK: через Swift Package Manager или CocoaPods, инициализация при старте, в
Info.plistидентификатор приложения (GADApplicationIdentifierу AdMob), без него SDK роняет приложение; - ATT: с iOS 14.5 доступ к IDFA только после
ATTrackingManager.requestTrackingAuthorizationи строкиNSUserTrackingUsageDescription, без согласия реклама неперсонализированная и eCPM ниже; - SKAdNetwork: идентификаторы сетей в
SKAdNetworkItems, иначе установки не атрибутируются; - приватность: манифест
PrivacyInfo.xcprivacyу приложения и SDK, метки приватности в App Store Connect, для ЕС окно согласия через UMP SDK; - показ: межстраничную рекламу загружают заранее и показывают в естественной паузе, после уровня или действия, а не на каждом переходе.
Код из старых статей часто не собирается: имена классов в SDK менялись между мажорными версиями, сверяйтесь с документацией текущей.
Где спотыкаются
Называют рекламу в поиске App Store способом монетизации. Это закупка трафика для своего приложения, денег за показы она не приносит.
Забывают про ATT, манифест приватности или SKAdNetworkItems. В лучшем случае падает доход, в худшем билд отклоняют на ревью.
Тестируют на боевых блоках и сами кликают по рекламе. Сеть видит недействительный трафик и может заблокировать аккаунт, поэтому при разработке нужны тестовые блоки и тестовые устройства.