Безопасные сигналы

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

Для API безопасных сигналов требуется версия 3.29.0 или более поздняя версия IMA SDK для Android.

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

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

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

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

IMA SDK для Android автоматически инициализирует каждый адаптер защищенных сигналов без каких-либо дополнительных изменений в коде.

Вот пример того, как вы можете добавить в свой проект адаптер защищенных сигналов:

Отправить пользовательские данные

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

Для каждого запроса объявления создайте объект SecureSignals , содержащий ваши закодированные пользовательские данные в виде строки. Затем добавьте объект SecureSignals в свой запрос объявления, adsRequest.setSecureSignals() .

Вот пример Java:

app/src/main/java/com/example/имя проекта/MainActivity.java

...
private void requestAds(String adTagUrl) {
  // Create the ads request.
  AdsRequest request = sdkFactory.createAdsRequest();
  request.setAdTagUrl(adTagUrl);
  request.setContentProgressProvider(
      () -> {
        if (videoPlayer.getDuration() <= 0) {
          return VideoProgressUpdate.VIDEO_TIME_NOT_READY;
        }
        return new VideoProgressUpdate(
            videoPlayer.getCurrentPosition(), videoPlayer.getDuration());
      });
  
  SecureSignals signal = SecureSignals.create("My encoded signal string");
  request.setSecureSignals(signal);
  
  // Request the ad. After the ad is loaded, onAdsManagerLoaded() will be called.
  adsLoader.requestAds(request);
}
...