Защищенные сигналы – это закодированные данные, которые собираются на клиентском устройстве и передаются выбранным системам назначения ставок. В этом руководстве рассказывается, как собирать и отправлять защищенные сигналы в Google Менеджер рекламы с помощью IMA SDK.
Для работы с API защищенных сигналов требуется IMA SDK для iOS версии 3.18.1 или более поздней.
Чтобы выбрать сигналы и системы назначения ставок и включить передачу защищенных сигналов, ознакомьтесь с разделом Как передавать защищенные сигналы системам назначения ставок.
Как использовать стороннего поставщика сигналов
Чтобы использовать защищенные сигналы, вам нужно развернуть в приложении класс адаптера сборщика сигналов, который будет собирать сигналы, кодировать их и передавать в IMA SDK.
Следуйте инструкциям стороннего поставщика, чтобы создать аккаунт, добавить фреймворки и настроить адаптер защищенных сигналов в приложении.
IMA SDK для iOS автоматически инициализирует каждый адаптер защищенных сигналов без каких-либо дополнительных изменений в коде.
Вот пример того, как можно добавить адаптер защищенных сигналов в проект:

Отправка специальных данных
Помимо использования стороннего поставщика сигналов, вы также можете собирать, кодировать и отправлять сигналы с собственными данными. Чтобы отправлять защищенные сигналы со специальными данными, включите специальные сигналы в Менеджере рекламы.
Для каждого запроса объявления выполните следующие действия:
- Создайте объект
IMASecureSignals, содержащий закодированные пользовательские данные в виде строки. - Добавьте объект
IMASecureSignalsв запрос объявления, задав атрибутIMAAdsRequest.secureSignals:
Objective-C
BasicExample/ViewController.m
...
- (void)requestAds {
// Create an ad display container for ad rendering.
IMAAdDisplayContainer *adDisplayContainer =
[[IMAAdDisplayContainer alloc] initWithAdContainer:self.videoView
viewController:self
companionSlots:nil];
// Create an ad request with our ad tag, display container, and optional user context.
IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:kTestAppAdTagUrl
adDisplayContainer:adDisplayContainer
contentPlayhead:self.contentPlayhead
userContext:nil];
IMASecureSignals *signals =
[[IMASecureSignals alloc] initWithCustomData:@"My encoded signal string"];
request.secureSignals = signals;
[self.adsLoader requestAdsWithRequest:request];
}
...
Swift
BasicExample/ViewController.swift
...
private func requestAds() {
// Create ad display container for ad rendering.
let adDisplayContainer = IMAAdDisplayContainer(
adContainer: videoView, viewController: self, companionSlots: nil)
// Create an ad request with our ad tag, display container, and optional user context.
let request = IMAAdsRequest(
adTagUrl: ViewController.testAppAdTagURL,
adDisplayContainer: adDisplayContainer,
contentPlayhead: contentPlayhead,
userContext: nil)
let signals = IMASecureSignals(customData: "My encoded signal string")
request.secureSignals = signals
adsLoader.requestAds(with: request)
}
...