安全信號是經過編碼的資料,會在用戶端裝置上收集,並與特定出價方共用。本指南說明如何使用 IMA SDK 收集並傳送安全信號至 Google Ad Manager。
安全信號 API 需要 iOS 版 IMA SDK 3.18.1 以上版本。
如要選取信號和出價方,並啟用安全信號共用功能,請參閱「與出價方共用安全信號」。
使用第三方信號供應器
如要使用安全信號,您必須在應用程式中部署信號收集器轉接器類別,以便收集信號、對信號進行編碼,並將信號傳遞至 IMA SDK。
請按照第三方供應商的操作說明設定帳戶,並納入框架,以及在應用程式中設定安全信號轉接器。
iOS 版 IMA SDK 會自動初始化每個安全信號轉接程式,而不需要對程式碼進行任何額外變更。
以下範例說明如何在專案中加入安全信號轉接程式:
傳送自訂資料
除了使用第三方信號供應器,您也可以收集、編碼及傳送含有自訂資料的信號。您必須先在 Ad Manager 中啟用自訂信號,才能傳送含有自訂資料的安全信號。
針對每項廣告請求,建立 IMASecureSignals
物件,其中包含以字串形式提供的已編碼自訂資料。接著,請呼叫 IMAAdsRequest.secureSignals
屬性,將 IMASecureSignals
物件新增至廣告要求。
以下是 Objective-C 和 Swift 的範例:
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)
}
...