Under the Google EU User Consent Policy , you must make certain disclosures to your users in the European Economic Area (EEA), the United Kingdom (UK), and Switzerland, and obtain their consent to use cookies or other local storage, where legally required, and to use personal data (such as AdID) to serve ads.
Данная политика отражает требования Директивы ЕС о защите персональных данных в электронных коммуникациях (ePrivacy Directive) и Общего регламента по защите данных (GDPR).
В этом руководстве описаны шаги, необходимые для поддержки сообщения GDPR IAB TCF v2 в рамках UMP SDK. Оно предназначено для использования в паре с руководством «Начало работы» , которое дает обзор того, как запустить ваше приложение с UMP SDK, и основные сведения о настройке сообщения. Приведенные ниже рекомендации относятся именно к сообщению GDPR IAB TCF v2. Для получения дополнительной информации см. раздел «Как требования IAB влияют на сообщения о согласии ЕС» .
Предварительные требования
Отзыв согласия
В соответствии с GDPR, отзыв согласия позволяет пользователям в любое время отозвать свой выбор. См. раздел «Параметры конфиденциальности» , чтобы реализовать способ отзыва согласия пользователями.
Метка для несовершеннолетних.
To indicate whether a user is under the age of consent, set setTagForUnderAgeOfConsent (TFUA). When you set TFUA to true , the UMP SDK doesn't request consent from the user. If your app has a mixed audience, set this parameter for child users to ensure consent is not requested.
В следующем примере параметр TFUA устанавливается в значение true для запроса согласия UMP:
Java
ConsentRequestParameters params = new ConsentRequestParameters
.Builder()
// Indicate the user is under age of consent.
.setTagForUnderAgeOfConsent(true)
.build();
consentInformation = UserMessagingPlatform.getConsentInformation(this);
consentInformation.requestConsentInfoUpdate(
this,
params,
(OnConsentInfoUpdateSuccessListener) () -> {
// ...
},
(OnConsentInfoUpdateFailureListener) requestConsentError -> {
// ...
});
Котлин
val params = ConsentRequestParameters
.Builder()
// Indicate the user is under age of consent.
.setTagForUnderAgeOfConsent(true)
.build()
consentInformation = UserMessagingPlatform.getConsentInformation(this)
consentInformation.requestConsentInfoUpdate(
this,
params,
ConsentInformation.OnConsentInfoUpdateSuccessListener {
// ...
},
ConsentInformation.OnConsentInfoUpdateFailureListener {
requestConsentError ->
// ...
})
Медиация
Чтобы добавить ваших партнеров по медиации в список партнеров по рекламе, выполните действия, описанные в разделе «Добавление партнеров по рекламе в опубликованные сообщения GDPR» . Невыполнение этого требования может привести к тому, что партнеры не смогут показывать рекламу в вашем приложении.
Партнеры по медиации также могут предлагать дополнительные инструменты для обеспечения соответствия требованиям GDPR. Более подробную информацию можно найти в руководстве по интеграции конкретного партнера.
Как читать варианты согласия
After GDPR consent has been collected, you can read consent choices from local storage following the TCF v2 spec . The IABTCF_PurposeConsents key indicates consent for each of the TCF purposes .
Следующий фрагмент кода показывает, как проверить согласие для Цели 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 = purposeConsents.charAt(0).toString();
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?.isEmpty() == false) {
val purposeOneString = purposeConsents.first().toString()
val hasConsentForPurposeOne = purposeOneString == "1"
}
Часто задаваемые вопросы
- Что произойдет, если я не предприму никаких действий для выполнения требований платформы управления согласием на показ рекламы в ЕЭЗ, Великобритании и Швейцарии ?
Начиная с 16 января 2024 года, если партнер не внедрит сертифицированную Google платформу управления контентом (CMP) , показ рекламы на трафике из стран ЕЭЗ и Великобритании будет возможен только для объявлений с ограниченным набором контента .
Enforcement will begin January 16, 2024 on a small percentage of EEA and UK traffic and will ramp up until Google enforces across all EEA and UK traffic by the end of February 2024. Have a certified CMP in place by January 16, 2024 to ensure your monetization is not impacted.
- Как проверить, дал ли пользователь согласие?
Consent is not represented by a single bit, but rather a set of purposes and vendors as defined in the IAB TCF specification . See Consent Policies: Personalized & Non-Personalized Ads for Google Ads personalization criteria.
Кроме того, поставщики рекламных технологий из списка Google Ad Technology Providers (ATP), не зарегистрированные в списке поставщиков TCF, используют техническую спецификацию Google Additional Consent для сбора согласия. Google публикует список поставщиков рекламных технологий, не зарегистрированных в IAB, и их идентификаторы по следующему адресу: https://storage.googleapis.com/tcfac/additional-consent-providers.csv .
To debug an individual ad request, use the Troubleshoot privacy settings feature in ad inspector to view the following privacy signals passed in the ad request as part of Publisher integration with the 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 requires consent modification to allow users to withdraw their consent choices at any time. See privacy options to implement a way for users to withdraw their consent choices. To show a consent form again, call
showPrivacyOptionsForm().- Я интегрировал сертифицированную Google платформу управления контентом (CMP), но не вижу, чтобы запросы на показ рекламы отправлялись партнерам по медиации, даже от пользователей, давших на это согласие. Почему это происходит?
Under TCF, Google checks that ad technology providers and other programmatic demand sources don't violate Google policy and have at least one legal basis for processing data prior to including them in the mediation waterfall. Navigate to the mediation section for more information.
Некоторые партнеры по медиации из списка поставщиков рекламных технологий Google (ATP) не зарегистрированы в списке поставщиков TCF . Вместо этого эти партнеры используют техническую спецификацию Google Additional Consent для сбора согласия. Google публикует список поставщиков рекламных технологий, не зарегистрированных в IAB, и их идентификаторы по следующему адресу: https://storage.googleapis.com/tcfac/additional-consent-providers.csv
The UMP SDK supports storing the ACString, enabling you to Add ad partners to published GDPR messages without needing to understand whether partners are TCF-registered. When using a third-party CMP, you should do the following:
- Убедитесь, что сторонний CMP поддерживает хранение ACString.
- Включите каждого партнера по медиации в список поставщиков рекламных технологий, которые сторонний CMP использует для сбора согласия.
- Могу ли я изменить работу своего приложения без согласия пользователей? Разрешено ли это политикой компании?
Publishers can read the IAB TCF string in their apps. See How to read consent choices for information on reading consent choices programmatically. Publishers should review their obligations under relevant regulations with legal counsel.
- Когда я выбираю «Управление параметрами» и даю согласие на все действия, я не вижу никакой рекламы. Почему это происходит?
In addition to collecting purposes consent you also need to collect vendor consent. Both purposes consent and vendor consent are required for any vendor, such as Google, to serve appropriate ads.
- Как мне внедрить AC String версии 2 для пользователей, которые уже дали согласие на версию 1?
Check the
IABTCF_AddtlConsentkey in local storage per Google's Additional Consent technical specification to determine whether a user has consented to AC String version 2 and if you need to show the consent form again.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" }