Сообщайте пользователям из ЕЭЗ

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

Эти правила отражают требования, изложенные в Директиве ЕС о конфиденциальности и электронных средствах связи и Генеральном регламенте ЕС о защите персональных данных (GDPR).

В этом руководстве описаны шаги, необходимые для поддержки запроса GDPR IAB TCF версии 2 в рамках UMP SDK. Его следует использовать вместе со статьей Начало работы, в которой рассказывается, как запустить приложение с UMP SDK и настроить сообщение. Приведенные ниже инструкции относятся к сообщениям, созданным в соответствии с Генеральным регламентом ЕС о защите персональных данных (GDPR) и спецификацией TCF версии 2 от IAB. Подробнее о том, как требования IAB влияют на запросы согласия пользователей из ЕС…

Требования

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

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

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

Swift

// Create a UMPRequestParameters object.
let parameters = RequestParameters()
// Indicate the user is under age of consent.
parameters.isTaggedForUnderAgeOfConsent = true

// Request an update for the consent information.
ConsentInformation.shared.requestConsentInfoUpdate(with: parameters) {
  [weak self] requestConsentError in
  guard let self else { return }

  // ...
}

Objective-C

// Create a UMPRequestParameters object.
UMPRequestParameters *parameters = [[UMPRequestParameters alloc] init];
// Indicate the user is under age of consent.
parameters.tagForUnderAgeOfConsent = YES;

// Request an update for the consent information.
[UMPConsentInformation.sharedInstance
    requestConsentInfoUpdateWithParameters:parameters
        completionHandler:^(NSError *_Nullable requestConsentError) {
          // ...
        }];

Чтобы настроить запрос согласия в медиации AdMob, выполните инструкции в следующих разделах.

Как добавить рекламных партнеров в сообщения GDPR

Чтобы добавить партнеров по медиации в список рекламных партнеров, выполните инструкции из статьи Как добавить рекламных партнеров в опубликованные сообщения GDPR. В противном случае партнеры не смогут показывать рекламу в вашем приложении.

В таблице ниже указаны названия партнеров по рекламным технологиям для каждого источника объявлений.

Источник объявлений Название партнера по рекламным технологиям
AppLovin AppLovin Corp.
BidMachine BidMachine
BIGO Ads SDK Empathy Technology Pte.Ltd. (BIGO Ads)
Chartboost Chartboost
DT Exchange DT Exchange (монетизация Fyber)
i-mobile i-mobile
InMobi InMobi
ironSource Ads ironSource Mobile
Liftoff Monetize Liftoff
LY Ads Network LY Ads Network
maio. maio.
Meta Audience Network; Meta
Mintegral Mobvista/Mintegral
Moloco Ads SDK Moloco Ads
myTarget Mail.ru
Pangle Pangle DSP
PubMatic OpenWrap SDK PubMatic
Unity Ads Unity Ads
Verve HyBid SDK Verve Group

В таблице ниже показано, какие источники объявлений поддерживают передачу сигналов согласия по GDPR от платформ для запросов согласия, интегрированных со спецификацией Transparency & Consent Framework (TCF) от IAB и спецификацией "Дополнительное согласие" от Google, в SDK источников объявлений.

Источник объявлений Минимальная поддерживаемая версия
AppLovin 12.0.0.0
BidMachine 3.4.0.0
BIGO Ads SDK 5.0.6.0
Chartboost 9.13.0.0
DT Exchange 8.3.1.0
i-mobile –1
InMobi 10.7.5.0
ironSource Ads 7.7.0.0
Liftoff Monetize 7.4.1.0
LY Ads Network –1
maio. –1
Meta Audience Network; –2
Mintegral 7.7.9.0
Moloco Ads SDK 3.5.0.0
myTarget 5.45.0.1
Pangle 7.9.0.6.0
PubMatic OpenWrap SDK 4.7.0.0
Unity Ads 4.19.0.1
Verve HyBid SDK 3.7.1.1

1 Источник объявлений не показывает рекламу в ЕЭЗ.

2 Чтобы узнать больше, обратитесь к менеджеру по работе с партнерами Meta.

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

В приведенном ниже фрагменте кода показано, как проверить согласие для цели 1:

Swift

// Example value: "1111111111"
let purposeConsents = UserDefaults.standard.string(forKey: "IABTCF_PurposeConsents")
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
let hasConsentForPurposeOne = purposeConsents?.first == "1"

Objective-C

// Example value: "1111111111"
NSString *purposeConsents = [NSUserDefaults.standardUserDefaults
                             stringForKey:@"IABTCF_PurposeConsents"];
// Purposes are zero-indexed. Index 0 contains information about Purpose 1.
BOOL hasConsentForPurposeOne = [purposeConsents hasPrefix:@"1"];

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Согласно GDPR, необходимо предоставить пользователям возможность в любое время отзывать согласие. Чтобы реализовать возможность отзыва согласия, ознакомьтесь с вариантами обеспечения конфиденциальности. Чтобы снова показать форму согласия, вызовите функцию presentPrivacyOptionsFormFromViewController:completionHandler:.

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

Согласно спецификации TCF, Google следит за тем, чтобы поставщики рекламных технологий и другие источники спроса с алгоритмической продажей не нарушали правила Google и имели хотя бы одно правовое основание для обработки данных. Мы проверяем, соответствует ли источник спроса этим условиям, прежде чем добавлять его в каскад медиации. Подробнее о медиации…

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

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

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

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

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

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

Как лучше всего показывать одному и тому же пользователю запрос ATT для iOS и согласие по GDPR?

Если пользователь дал согласие по GDPR, мы рекомендуем сначала показывать запрос согласия по GDPR, а затем – оповещение с запросом ATT в iOS. Если вы настроите оба сообщения в интерфейсе AdMob, UMP SDK будет обрабатывать их автоматически. Подробнее о том, какие сообщения будут видны пользователям…

Если вы не показываете запрос ATT с помощью UMP SDK, мы рекомендуем считывать варианты согласия после того, как будет получено согласие на соблюдение GDPR, чтобы определить, нужно ли показывать запрос ATT на iOS.

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

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

Swift

// Example value: "2~1.35.41.101~dv.9.21.81"
let additionalConsent = UserDefaults.standard.string(forKey: "IABTCF_AddtlConsent")
// Index 0 contains information about the specification version number.
let isACVersion2 = additionalConsent?.first == "2"

Objective-C

// Example value: "2~1.35.41.101~dv.9.21.81"
NSString *additionalConsent = [NSUserDefaults.standardUserDefaults
                        stringForKey:@"IABTCF_AddtlConsent"];
// Index 0 contains information about the specification version number.
BOOL isACVersion2 = [additionalConsent hasPrefix:@"2"];