Google UMP SDK: реализация согласия GDPR в мобильных играх на Unity
Зачем мобильным играм нужен SDK согласия
Если ваша игра показывает рекламу из AdMob, Ad Manager или опосредованного водопада игрокам в Европейской экономической зоне или Великобритании, вы юридически обязаны получить действительное согласие перед использованием любой персонализированной рекламы или идентификатора отслеживания. Веб-баннер cookie этого не решает — нативные мобильные приложения не имеют файлов cookie, а согласие должно достигать рекламных SDK, работающих внутри вашей сборки.
Ответ Google — это User Messaging Platform (UMP) SDK, слой согласия, поставляемый с Google Mobile Ads SDK. Он показывает форму согласия, совместимую с IAB TCF, сохраняет выбор игрока и предоставляет сигнал согласия, который AdMob и партнёры по медиации считывают автоматически. Для студии на Unity правильная настройка этого потока — это разница между здоровым eCPM и волной нарушений политики.
Поток согласия от начала до конца
Правильный порядок операций важнее любого отдельного вызова API. При каждом запуске приложения следует:
- Запросить обновление информации о согласии. Это указывает UMP проверить регион игрока и нужна ли форма.
- Загрузить и показать форму, если требуется. UMP решает, показывать ли её, на основе географии и предыдущего выбора — вы никогда жёстко не прописываете «находится ли этот пользователь в ЕС».
- Дождаться закрытия формы перед инициализацией Mobile Ads SDK.
- Инициализировать рекламу только после сбора согласия, чтобы первый рекламный запрос уже нёс правильный сигнал.
Инициализация рекламного SDK до возврата формы согласия — это самая распространённая ошибка, которую мы видим. Она порождает неперсонализированный или несоответствующий первый показ и может запустить автоматические проверки политики.
Минимальная реализация на Unity
На C# скелет выглядит так:
var request = new ConsentRequestParameters();
ConsentInformation.Update(request, (FormError error) => {
ConsentForm.LoadAndShowConsentFormIfRequired((FormError err) => {
if (ConsentInformation.CanRequestAds()) InitializeAds();
});
});
Проверка CanRequestAds() — это ваши ворота. Пока она возвращает true — либо потому, что игрок дал согласие, либо потому, что он находится вне регулируемого региона — вы можете инициализировать и запрашивать рекламу. Не кэшируйте ничего о регионе самостоятельно; пусть UMP будет единственным источником истины.
Тестирование без публикации в магазине
Вы не можете проверить поток согласия из своего офиса, скажем, в Стамбуле, если не смоделируете устройство ЕЭЗ. UMP поддерживает настройку отладочной географии и список хешированных идентификаторов тестового устройства:
- Зарегистрируйте хешированный идентификатор вашего тестового устройства в параметрах запроса.
- Принудительно установите отладочную географию на
EEA, чтобы форма появилась. - Используйте метод сброса SDK между запусками, чтобы каждый раз видеть опыт первого запуска.
Всегда удаляйте отладочные настройки перед продакшн-сборкой. Поставка принудительно-ЕЭЗ отладочного флага каждому игроку — это реальный и постыдный инцидент.
Согласие, медиация и ваш доход
Когда согласие распространяется правильно, каждая сеть в вашем стеке медиации — AdMob, Meta Audience Network, Unity Ads, AppLovin — получает строку TCF и может делать ставки на персонализированный инвентарь там, где это разрешено. Когда оно ломается, эти сети возвращаются к неперсонализированной рекламе за долю eCPM, и ваш водопад тихо теряет доход. Относитесь к слою согласия как к части вашего стека монетизации, а не как к запоздалой мысли о соответствии.
Где вписывается FlexyConsent
Нативным приложениям нужна CMP внутри приложения, например UMP от Google. FlexyConsent охватывает веб-сайты на компьютерах и мобильных устройствах (CMP ID 317 — это веб-CMP). Он отправляет сигналы IAB TCF 2.4 и Google Consent Mode v2. Его отчёты показывают решения по источнику и региону.
Ключевые выводы
- Собирайте согласие через UMP SDK перед инициализацией Mobile Ads SDK.
- Никогда не прописывайте жёстко логику региона — пусть UMP решает, когда нужна форма.
- Тестируйте с отладочной географией и хешированными тестовыми идентификаторами, а затем удаляйте их перед выпуском.
- Правильное распространение согласия защищает ваш eCPM персонализированной рекламы во всём стеке медиации.