Поддержка GDPR IAB

Выберите платформу: Android iOS Unity Flutter

В соответствии с Политикой Google по согласию пользователей в ЕС , вы обязаны предоставлять пользователям в Европейской экономической зоне (ЕЭЗ), а также в Великобритании, определенную информацию и получать их согласие на использование файлов cookie или других локальных хранилищ, если это требуется по закону, а также на использование персональных данных (таких как AdID) для показа рекламы. Данная политика отражает требования Директивы ЕС о защите конфиденциальности в электронных коммуникациях (ePrivacy Directive) и Общего регламента по защите данных (GDPR).

В этом руководстве описаны шаги, необходимые для поддержки сообщения GDPR IAB TCF v2 в рамках UMP SDK. Оно предназначено для использования в паре с руководством «Начало работы» , которое дает обзор того, как запустить ваше приложение с UMP SDK, и основные сведения о настройке сообщения. Приведенные ниже рекомендации относятся именно к сообщению GDPR IAB TCF v2. Для получения дополнительной информации см. раздел «Как требования IAB влияют на сообщения о согласии ЕС» .

Предварительные требования

В соответствии с GDPR, отзыв согласия позволяет пользователям в любое время отозвать свой выбор. См. раздел «Параметры конфиденциальности» , чтобы реализовать способ отзыва согласия пользователями.

Чтобы указать, не достиг ли пользователь возраста согласия, установите параметр ` setTagForUnderAgeOfConsent (TFUA). Если вы установите TFUA в true , SDK UMP не будет запрашивать согласие у пользователя. Если ваше приложение предназначено для смешанной аудитории, установите этот параметр для детей, чтобы гарантировать, что согласие не будет запрашиваться.

В следующем примере параметр TFUA устанавливается в значение true для запроса согласия UMP:

Java

ConsentRequestParameters params =
    new ConsentRequestParameters.Builder()
        // Indicate the user is under age of consent.
        .setTagForUnderAgeOfConsent(true)
        .build();

Котлин

val params =
  ConsentRequestParameters.Builder()
    // Indicate the user is under age of consent.
    .setTagForUnderAgeOfConsent(true)
    .build()

Медиация

Чтобы добавить ваших партнеров по медиации в список партнеров по рекламе, выполните действия, описанные в разделе «Добавление партнеров по рекламе в опубликованные сообщения GDPR» . Невыполнение этого требования может привести к тому, что партнеры не смогут показывать рекламу в вашем приложении.

Партнеры по медиации также могут предлагать дополнительные инструменты для обеспечения соответствия требованиям GDPR. Более подробную информацию можно найти в руководстве по интеграции конкретного партнера.

После получения согласия в соответствии с GDPR вы можете прочитать варианты согласия из локального хранилища в соответствии со спецификацией TCF v2 . Ключ IABTCF_PurposeConsents указывает согласие для каждой из целей TCF .

Следующий фрагмент кода показывает, как проверить согласие для Цели 1:

Java

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "1111111111"
String purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "");
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isEmpty()) {
  String purposeOneString = String.valueOf(purposeConsents.charAt(0));
  boolean hasConsentForPurposeOne = purposeOneString.equals("1");
}

Котлин

val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "1111111111"
val purposeConsents = sharedPref.getString("IABTCF_PurposeConsents", "")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
if (!purposeConsents.isNullOrEmpty()) {
  val purposeOneString = purposeConsents.first().toString()
  val hasConsentForPurposeOne = purposeOneString == "1"
}

Часто задаваемые вопросы

Что произойдет, если я не предприму никаких действий для выполнения требований платформы управления согласием на показ рекламы в ЕЭЗ и Великобритании ?

Начиная с 16 января 2024 года, если партнер не внедрит сертифицированную Google платформу управления контентом (CMP) , показ рекламы на трафике из стран ЕЭЗ и Великобритании будет возможен только для объявлений с ограниченным набором контента .

Внедрение мер начнется 16 января 2024 года и затронет небольшую часть трафика из стран ЕЭЗ и Великобритании, постепенно усиливаясь до тех пор, пока Google не распространит эти меры на весь трафик из стран ЕЭЗ и Великобритании к концу февраля 2024 года. Для обеспечения бесперебойной монетизации необходимо иметь сертифицированный план управления контентом (CMP) до 16 января 2024 года.

Как проверить, дал ли пользователь согласие?

Согласие выражается не в одном бите, а в наборе целей и поставщиков, как определено в спецификации IAB TCF . См. «Политика согласия: персонализированная и неперсонализированная реклама» для ознакомления с критериями персонализации рекламы Google.

Кроме того, поставщики рекламных технологий из списка Google Ad Technology Providers (ATP), не зарегистрированные в списке поставщиков TCF, используют техническую спецификацию Google Additional Consent для сбора согласия. Google публикует список поставщиков рекламных технологий, не зарегистрированных в IAB, и их идентификаторы по следующему адресу: https://storage.googleapis.com/tcfac/additional-consent-providers.csv .

Для отладки отдельного запроса объявления используйте функцию «Отладка настроек конфиденциальности» в инспекторе объявлений, чтобы просмотреть следующие сигналы конфиденциальности, передаваемые в запросе объявления в рамках интеграции издателя с IAB Europe TCF :

Метка инспектора рекламы Параметр запроса рекламы Значение
Применяется GDPR (IABTCF_gdprApplies) gdpr Применяется ли GDPR к данному запросу на показ рекламы.
Строка TC (IABTCF_TCString) gdpr_consent Строка TC. IAB предоставляет веб-инструмент, с помощью которого можно вручную расшифровать это значение.
Строка AC (IABTCF_AddtlConsent) addtl_consent Строка AC из технической спецификации Google по дополнительному согласию .

Чтобы программно считывать варианты согласия, см. раздел «Как считывать варианты согласия» для получения дополнительной информации.

Нужно ли мне использовать SDK UMP от Google для выполнения требований CMP?

Нет, вы можете использовать любую CMP из списка сертифицированных Google CMP для показа рекламы.

Как можно повторно отобразить форму согласия с помощью UMP SDK, даже если пользователь уже дал свое согласие?

Если пользователь уже дал согласие, решение Google по управлению согласиями не будет запрашивать новое согласие до тех пор, пока срок действия строки TC не истечет или она не станет недействительной по другим причинам.

GDPR требует изменения формы согласия, чтобы пользователи могли в любое время отозвать свой выбор. См. раздел «Параметры конфиденциальности» , чтобы реализовать способ отзыва согласия пользователями. Чтобы снова отобразить форму согласия, вызовите метод showPrivacyOptionsForm() .

Я интегрировал сертифицированную Google платформу управления контентом (CMP), но не вижу, чтобы запросы на показ рекламы отправлялись партнерам по медиации, даже от пользователей, давших на это согласие. Почему это происходит?

В соответствии с принципом TCF (Total Workful Finance – добросовестное отношение к клиентам) Google проверяет, не нарушают ли поставщики рекламных технологий и другие источники программного спроса политику Google и имеют ли они хотя бы одно законное основание для обработки данных, прежде чем включать их в схему медиации. Для получения дополнительной информации перейдите в раздел «Медиация» .

Некоторые партнеры по медиации из списка поставщиков рекламных технологий Google (ATP) не зарегистрированы в списке поставщиков TCF . Вместо этого эти партнеры используют техническую спецификацию Google Additional Consent для сбора согласия. Google публикует список поставщиков рекламных технологий, не зарегистрированных в IAB, и их идентификаторы по следующему адресу: https://storage.googleapis.com/tcfac/additional-consent-providers.csv

UMP SDK поддерживает хранение ACString, что позволяет добавлять рекламных партнеров в публикуемые сообщения GDPR без необходимости понимать, зарегистрированы ли партнеры в TCF. При использовании стороннего CMP следует выполнить следующие действия:

  1. Убедитесь, что сторонний CMP поддерживает хранение ACString.
  2. Включите каждого партнера по медиации в список поставщиков рекламных технологий, которые сторонний CMP использует для сбора согласия.
Могу ли я изменить работу своего приложения без согласия пользователей? Разрешено ли это политикой компании?

Издатели могут считывать строку IAB TCF в своих приложениях. См. раздел «Как считывать варианты согласия» для получения информации о программном считывании вариантов согласия. Издателям следует обсудить свои обязательства в соответствии с соответствующими нормативными актами с юрисконсультом.

Когда я выбираю «Управление параметрами» и даю согласие на все действия, я не вижу никакой рекламы. Почему это происходит?

Помимо согласия на использование данных в определенных целях, вам также необходимо получить согласие поставщика услуг. Для того чтобы любой поставщик услуг, например Google, мог показывать соответствующую рекламу, требуется как согласие на использование данных в определенных целях, так и согласие поставщика услуг.

Как мне внедрить AC String версии 2 для пользователей, которые уже дали согласие на версию 1?

Проверьте ключ IABTCF_AddtlConsent в локальном хранилище в соответствии с технической спецификацией Google по дополнительному согласию, чтобы определить, дал ли пользователь согласие на использование строки AC версии 2 и нужно ли повторно показать форму согласия.

Java

SharedPreferences sharedPref = PreferenceManager.getDefaultSharedPreferences(context);
// Example value: "2~1.35.41.101~dv.9.21.81"
String additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "");
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  String specACVersion = additionalConsent.charAt(0);
  boolean isACVersion2 = purposeOneString.equals("2");
}

Котлин

val sharedPref = PreferenceManager.getDefaultSharedPreferences(context)
// Example value: "2~1.35.41.101~dv.9.21.81"
val additionalConsent = sharedPref.getString("IABTCF_AddtlConsent", "")
// Index 0 contains information about the specification version number.
if (!additionalConsent.isEmpty()) {
  val specACVersion = additionalConsent.first()
  val isACVersion2 = specACVersion == "2"
}