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

Отправить пользовательские данные
Помимо использования стороннего поставщика сигналов, вы также можете собирать, кодировать и отправлять сигналы с пользовательскими данными. Прежде чем отправлять защищенные сигналы с пользовательскими данными, необходимо включить пользовательские сигналы в Ad Manager.
Для каждого запроса на показ рекламы выполните следующие действия:
- Создайте объект
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];
}
...
Быстрый
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)
}
...