Защищенные сигналы — это закодированные данные, которые собираются на устройстве клиента и передаются выбранным участникам торгов. В этом руководстве показано, как собирать и отправлять защищенные сигналы в Google Ad Manager с помощью IMA SDK.
Чтобы выбрать сигналы и участников торгов, а также включить безопасный обмен сигналами, см. раздел «Обмен безопасными сигналами с участниками торгов» .
Используйте стороннего поставщика сигналов.
Для использования защищенных сигналов необходимо развернуть на вашем сайте скрипт сбора сигналов, который будет собирать сигналы, кодировать их и передавать в SDK IMA.
Вы развертываете скрипты для защиты сигналов либо автоматически, либо вручную.
Автоматическое развертывание
При выборе поставщиков сигналов в Ad Manager, в зависимости от выбранных вами поставщиков сигналов, может появиться опция «Попросить Google развернуть скрипт сбора сигналов от вашего имени» . Если вы выберете эту опцию, и ваш сайт содержит теги Google Publisher , выбранные вами скрипты сбора сигналов будут загружены автоматически.
Вот пример того, что вы можете увидеть в пользовательском интерфейсе менеджера рекламы :

Вот пример того, что вы можете увидеть в файле index.html вашего сайта:
<script src="//imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<!-- Load gpt.js, which autoloads all signal provider scripts configured to be
deployed by Google. -->
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script src="ads.js"></script>
Развернуть вручную
Если в Ad Manager вы не видите опцию «Попросить Google развернуть скрипт сбора сигналов от вашего имени» или если эта опция не включена, вам необходимо получить ссылку на скрипт у вашего надежного поставщика сигналов и вручную добавить его в свой проект.
Вот пример того, что вы можете увидеть в пользовательском интерфейсе менеджера рекламы :

Вот пример того, что вы можете увидеть в файле index.html вашего сайта:
<script src="//imasdk.googleapis.com/js/sdkloader/ima3.js"></script>
<!-- Load signal provider scripts manually, using the unique instructions given by each
signal provider. -->
<script src="//cdn.provider1.com/files/a/e/5/4/7/signalCollector.js"></script>
<script src="//provider2.co.uk/ads/signalcollector/script.min.js"></script>
<script src="/local/path/to/third_party_signal_provider_3.js"></script>
<script src="ads.js"></script>
Отправить пользовательские данные
Помимо использования стороннего поставщика сигналов, вы также можете собирать, кодировать и отправлять сигналы с пользовательскими данными. Прежде чем отправлять защищенные сигналы с пользовательскими данными, необходимо включить пользовательские сигналы в Ad Manager.
Вот шаги для реализации проектов на HTML5:
- Создайте объект со следующими свойствами:
networkCodeиcollectorFunction. - Укажите в свойстве
networkCodeкод вашей сети . - Заполните свойство
collectorFunctionфункцией, которая возвращает промис, разрешающийся в ваши закодированные сигналы.
Добавьте объект в массив googletag.secureSignalProviders перед созданием экземпляра `adsLoader`, чтобы SDK IMA мог получить к нему доступ для получения и передачи закодированных сигналов:
Вот пример на JavaScript:
console.log("initializing IMA");
adContainer = document.getElementById('ad-container');
adDisplayContainer = new google.ima.AdDisplayContainer(adContainer, videoElement);
const NETWORK_CODE = '21775744923';
/**
* Sample signal collector function.
* @return {!Promise<string>} A promise that resolves to the encoded signals.
*/
const signalCollector = () => {
return new Promise((resolve, reject) => {
resolve("My encoded signal string");
});
};
if (!googletag) googletag = {};
if (!googletag.secureSignalProviders) googletag.secureSignalProviders = [];
googletag.secureSignalProviders.push({
networkCode: NETWORK_CODE,
collectorFunction: signalCollector
});
adsLoader = new google.ima.AdsLoader(adDisplayContainer);