В соответствии с Политикой Google в отношении согласия пользователей из ЕС вы должны раскрывать определенную информацию своим пользователям в Европейской экономической зоне (ЕЭЗ), а также в Великобритании, и получать их согласие на использование файлов cookie или других локальных хранилищ, если это требуется по закону, а также на использование персональных данных ( например AdID) для показа рекламы. Эта политика отражает требования Директивы ЕС по электронной конфиденциальности и Общего регламента по защите данных (GDPR).
Чтобы помочь издателям выполнять свои обязанности в соответствии с этой политикой, Google предлагает SDK User Messaging Platform (UMP). UMP SDK был обновлен для поддержки последних стандартов IAB. Все эти конфигурации теперь можно удобно обрабатывать в AdMob конфиденциальности и обмене сообщениями.
Предпосылки
- Заполните руководство по началу работы .
- Настройте свои сообщения на вкладке « Конфиденциальность и обмен сообщениями » вашей учетной записиAdMob . Дополнительные сведения см.О конфиденциальности и обмене сообщениями ,
- Если вы работаете над требованиями, связанными с GDPR, прочтитеКак требования IAB влияют на запросы согласия ЕС .
Типы пользовательских сообщений
Полный список поддерживаемых сообщений см. в разделеТипы пользовательских сообщений. Конкретные инструкции по реализации каждого типа сообщений см. на левой панели навигации.
Определите, нужно ли отображать сообщение
Вы должны запрашивать обновление информации о согласии пользователя при каждом запуске приложения, используя Update()
перед загрузкой формы. Это может определить, должен ли ваш пользователь предоставить согласие, если он еще не сделал этого или если срок его согласия истек.
ConsentInformation
, когда вы представляете форму , когда это необходимо.Вот пример того, как проверить статус при запуске приложения:
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Ump;
using GoogleMobileAds.Ump.Api;
public class UmpManager : MonoBehaviour
{
void Start()
{
// Set tag for under age of consent.
// Here false means users are not under age.
ConsentRequestParameters request = new ConsentRequestParameters
{
TagForUnderAgeOfConsent = false,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
void OnConsentInfoUpdated(FormError error)
{
if (error != null)
{
// Handle the error.
UnityEngine.Debug.LogError(error);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
}
}
Загрузите форму, если она доступна
Прежде чем отображать форму, сначала необходимо определить, доступна ли она. Недоступность форм может быть связана с тем, что пользователь включил ограниченное отслеживание рекламы или если вы пометили их как не достигших возраста согласия.
Чтобы проверить доступность формы, используйте созданный ранееthe IsConsentFormAvailable()
method on the ConsentInformation
instance .
Затем добавьте метод-оболочку для загрузки формы:
void OnConsentInfoUpdated(FormError error)
{
if (error != null)
{
// Handle the error.
UnityEngine.Debug.LogError(error);
return;
}
// If the error is null, the consent information state was updated.
// You are now ready to check if a form is available.
if (ConsentInformation.IsConsentFormAvailable())
{
LoadConsentForm();
}
}
void LoadConsentForm()
{
// Loads a consent form.
}
Чтобы загрузить форму, используйте the static Load()
method on the ConsentForm
class.
private ConsentForm _consentForm;
void LoadConsentForm()
{
// Loads a consent form.
ConsentForm.Load(OnLoadConsentForm);
}
void OnLoadConsentForm(ConsentForm consentForm, FormError error)
{
if (error != null)
{
// Handle the error.
UnityEngine.Debug.LogError(error);
return;
}
// The consent form was loaded.
// Save the consent form for future requests.
_consentForm = consentForm;
// You are now ready to show the form.
}
Предъявите форму, если требуется
После того как вы определили доступность формы и загрузили ее, используйте методShow()
ConsentForm
для экземпляра l10n-placeholder95, чтобы представить форму.
Используйте ранее созданный объектConsentInformation
, чтобы проверитьconsent status и обновить методLoadForm()
:
void LoadForm()
{
// Loads a consent form.
ConsentForm.Load(OnLoadConsentForm);
}
void OnLoadConsentForm(ConsentForm consentForm, FormError error)
{
if (error != null)
{
// Handle the error.
UnityEngine.Debug.LogError(error);
return;
}
// The consent form was loaded.
// Save the consent form for future requests.
_consentForm = consentForm;
// You are now ready to show the form.
if(ConsentInformation.ConsentStatus == ConsentStatus.Required)
{
_consentForm.Show(OnShowForm);
}
}
void OnShowForm(FormError error)
{
if (error != null)
{
// Handle the error.
UnityEngine.Debug.LogError(error);
return;
}
// Handle dismissal by reloading form.
LoadForm();
}
Если вам нужно выполнить какие-либо действия после того, как пользователь сделал выбор или закрыл форму, поместите эту логику в обработчик завершения или обратный вызов для вашей формы.
Тестирование
Заставить географию
UMP SDK позволяет протестировать поведение вашего приложения, как если бы устройство находилось в ЕЭЗ или Великобритании, с помощью the DebugGeography
field on ConsentDebugSettings
.
Вы должны указать хэш-идентификатор вашего тестового устройства в настройках отладки вашего приложения, чтобы использовать функции отладки. Если вы вызываетеUpdate()
без установки этого значения, ваше приложение регистрирует требуемый хэш идентификатора при запуске.
void Start()
{
var debugSettings = new ConsentDebugSettings
{
// Geography appears as in EEA for debug devices.
DebugGeography = DebugGeography.EEA,
TestDeviceHashedIds = new List<string>
{
"TEST-DEVICE-HASHED-ID"
}
};
// Set tag for under age of consent.
// Here false means users are not under age.
ConsentRequestParameters request = new ConsentRequestParameters
{
TagForUnderAgeOfConsent = false,
ConsentDebugSettings = debugSettings,
};
// Check the current consent information status.
ConsentInformation.Update(request, OnConsentInfoUpdated);
}
С помощью DebugGeography
enumу вас есть возможность принудительно указать географию в одном из следующих вариантов:
DebugGeography | Описание |
---|---|
DISABLED | География отладки отключена. |
EEA | География отображается как в ЕЭЗ для отладочных устройств. |
Not_EEA | Географическое положение отображается как не входящее в ЕЭЗ для устройств отладки. |
Обратите внимание, что настройки отладки работают только на тестовых устройствах. Эмуляторы не нужно добавлять в список идентификаторов устройств, так как для них уже включено тестирование по умолчанию.
Сбросить состояние согласия
При тестировании приложения с помощью UMP SDK может оказаться полезным сбросить состояние SDK, чтобы можно было имитировать первую установку пользователя. SDK предоставляет для этого метод Reset()
.
ConsentInformation.Reset();
Вам также следует вызвать Reset()
, если вы решите полностью удалить UMP SDK из своего проекта.