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
UMP охватывает собственную поверхность Google, но большинство серьёзных издателей управляют согласием одновременно на веб-ресурсах, в нескольких приложениях и при серверном тегировании. FlexyConsent даёт вам единую запись согласия, сигналы TCF и Google Consent Mode v2 и аналитику по показателям согласия на каждой платформе — так что выбор, который игрок делает в вашей игре на Unity, и выбор, который посетитель делает на вашем маркетинговом сайте, живут в одном проверяемом месте. Соответствие становится панелью управления, а не пожарной тревогой.
Ключевые выводы
- Собирайте согласие через UMP SDK перед инициализацией Mobile Ads SDK.
- Никогда не прописывайте жёстко логику региона — пусть UMP решает, когда нужна форма.
- Тестируйте с отладочной географией и хешированными тестовыми идентификаторами, а затем удаляйте их перед выпуском.
- Правильное распространение согласия защищает ваш eCPM персонализированной рекламы во всём стеке медиации.