Как интегрировать адаптеры защищенных сигналов

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

Защищенные сигналы – это закодированные данные, которые собираются на устройстве клиента и передаются выбранным системам назначения ставок. В этом руководстве рассказывается, как собирать и отправлять защищенные сигналы в Google Менеджер рекламы с помощью IMA SDK.

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

Как использовать стороннего поставщика сигналов

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

Вы можете развернуть скрипты защищенных сигналов автоматически или вручную.

Автоматическое развертывание

При выборе поставщиков сигналов в Менеджере рекламы вы можете увидеть вариант Попросить Google развернуть скрипт сбора сигналов от вашего имени. Если вы выберете этот вариант и на вашем сайте есть теги Google Publisher Tag, то выбранные вами скрипты для сбора сигналов будут загружаться автоматически.

Вот пример того, что вы можете увидеть в интерфейсе Менеджера рекламы:

Вот пример того, что вы можете увидеть в файле index.html своего сайта:

<script src="//imasdk.googleapis.com/js/sdkloader/ima3_dai.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="dai.js"></script>

Развертывание вручную

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

Вот пример того, что вы можете увидеть в интерфейсе Менеджера рекламы:

Вот пример того, что вы можете увидеть в файле index.html своего сайта:

<script src="//imasdk.googleapis.com/js/sdkloader/ima3_dai.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="dai.js"></script>

Отправка специальных данных

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

Вот как это сделать для проектов HTML5:

  1. Создайте объект со следующими свойствами: networkCode и collectorFunction.
  2. Укажите в свойстве networkCode код сети.
  3. Заполните свойство collectorFunction функцией, которая возвращает обещание, разрешающееся в закодированные сигналы.

Добавьте объект в массив googletag.secureSignalProviders, прежде чем создавать экземпляр `streamManager`. Это позволит IMA SDK получить доступ к объекту, чтобы извлечь и передать закодированные сигналы.

Пример кода JavaScript:

console.log("initializing IMA");
videoElement = document.getElementById('video');
adUiElement = document.getElementById('adUi');

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
});

streamManager = new google.ima.dai.api.StreamManager(videoElement, adUiElement);