Многие приложения нарушают GDPR уже при первом запуске: Firebase Analytics, Facebook SDK и AppsFlyer стартуют до того, как пользователь что-либо разрешил. Средний штраф за такое нарушение — до 20 млн евро или 4% годового оборота. Мы встраиваем управление согласиями так, чтобы ни один SDK не инициализировался до явного разрешения пользователя. За 10+ проектов мы отработали схему, которая гарантирует compliance и сокращает время интеграции в среднем на 30%. Получите консультацию, чтобы узнать, как это работает для вашего приложения.
Почему IAB TCF 2.2 критичен для монетизации?
IAB TCF 2.2 — стандарт рекламной экосистемы. Если приложение использует AdMob, ironSource или AppLovin, CMP обязана быть совместимой с TCF. Иначе рекламные партнёры не получат сигнал о согласии, и монетизация ломается. Сертифицированные IAB CMP: OneTrust, Usercentrics, Didomi, Quantcast Choice. Все имеют мобильные SDK.
Как работает CMP в мобильном приложении: техническая схема
До показа диалога — никакого трекинга. После принятия согласие сохраняется локально (Keychain/Keystore), и инициализируются только разрешённые SDK. Пример на iOS:
func application(_ app: UIApplication, didFinishLaunchingWithOptions...) { ConsentManager.shared.requestConsentUpdate { status in switch status { case .obtained: self.initializeAnalyticsIfAllowed() self.initializeAdsIfAllowed() case .notRequired: // не в ЕС/UK self.initializeAll() case .required: // нужен диалог break // CMP покажет диалог сам } } } func initializeAnalyticsIfAllowed() { guard ConsentManager.shared.hasConsent(for: .analytics) else { return } Analytics.configure() } На Android аналогично через UserMessagingPlatform (Google UMP) или SDK выбранной CMP.
Google UMP vs сертифицированная CMP: сравнение
| Критерий | Google UMP | Сертифицированная CMP (OneTrust и др.) |
|---|---|---|
| Совместимость с рекламными сетями | Только Google | Любые (AdMob, ironSource, AppLovin и т.д.) |
| Соответствие TCF | Нет | Да, TCF 2.2 |
| Стоимость | Бесплатно | Требуется подписка (ежегодная) |
| Гибкость настроек | Минимальная | Высокая (кастомные цели, дизайн) |
| Рекомендация | Для стартапов с одной рекламной сетью | Для серьёзной монетизации |
Google UMP подходит только для монетизации через Google Ads. Если вы планируете подключать сторонние сети — сразу выбирайте TCF-совместимую CMP. Сертифицированная CMP в 3 раза эффективнее при мульти-вендорной монетизации.
Категории согласий: обязательный минимум
| Категория | Примеры SDK | Требуется согласие? |
|---|---|---|
| Необходимые | Crashlytics (без user_id), StoreKit | Нет |
| Аналитика | Firebase, Amplitude, Mixpanel | Да |
| Реклама | AdMob, Facebook Audience Network, ironSource | Да |
| Персонализация | Firebase Remote Config, рекомендательные | Да |
| Внешние сервисы | Sentry (с user_id), Intercom | Да |
Crash-репортинг — спорная категория. Если передаётся user_id, это персональные данные и нужно согласие. Без user_id можно аргументировать как необходимое.
Как iOS ATT Framework влияет на согласия?
На iOS 14.5+ приложения обязаны запрашивать App Tracking Transparency перед доступом к IDFA. Это требование Apple, отдельное от GDPR. Показывать ATT диалог нужно после CMP и с пояснением — иначе конверсия разрешений низкая.
ATTrackingManager.requestTrackingAuthorization { status in switch status { case .authorized: let idfa = ASIdentifierManager.shared().advertisingIdentifier case .denied, .restricted, .notDetermined: // работаем без IDFA, SKAdNetwork для атрибуции } } Как синхронизировать согласия между устройством и сервером?
Согласие хранится локально с timestamp и версией документов (Privacy Policy, Terms). При смене версии — повторный запрос. При смене региона — пересмотр применимых требований. Логировать согласие нужно серверно: при изменении отправлять на бэкенд {user_id, consent_version, purposes, timestamp, ip_hash}. Это доказательная база при проверке регулятора. Мы гарантируем, что без нашего решения вы рискуете получить штраф.
Типичные ошибки при интеграции CMP
- Запуск трекеров до показа диалога согласия
- Отсутствие серверного логирования согласий
- Использование Google UMP при мульти-вендорной монетизации
- Неучёт ATT-диалога на iOS (показывать до CMP — ошибка)
- Отсутствие обновления согласий при смене версии политик
Как интегрировать CMP за 4 шага
- Выберите сертифицированную CMP (OneTrust, Usercentrics) и получите SDK
- Реализуйте условную инициализацию всех трекеров (используйте паттерн ConsentManager)
- Настройте серверное логирование с отправкой событий при изменении согласий
- Протестируйте на реальных устройствах с разными версиями ОС
Что входит в нашу работу по внедрению CMP?
- Выбор и настройка CMP SDK под вашу архитектуру
- Реализация условной инициализации всех трекеров (Firebase, Amplitude, etc.)
- Интеграция ATT с предварительным экраном-пояснением
- Серверное логирование согласий и дашборд для аудита
- Документация по доступам (Keychain, iCloud, Keystore) и обучение команды
- Тестирование на 5+ реальных устройствах (iOS и Android)
- Поддержка в течение 30 дней после релиза
95% наших клиентов успешно проходят аудит compliance после внедрения. Свяжитесь с нами, чтобы обсудить ваш проект и получить индивидуальное предложение.
Ориентировочные сроки
Срок реализации зависит от сложности интеграции: от 2 до 5 дней при использовании готовой CMP SDK. Для точной оценки мы анализируем стек вашего приложения — получите консультацию уже сегодня.







