安全信號是從用戶端裝置收集並與特定出價方共用的編碼資料。本指南說明如何使用 IMA SDK 收集安全信號,並傳送至 Google Ad Manager。
安全信號 API 須使用 IMA SDK for iOS 3.18.1 以上版本。
如要選取信號和出價方,並啟用安全信號共用功能,請參閱「與出價方共用安全信號」。
使用第三方信號供應商
如要使用安全信號,您必須在應用程式中部署信號收集器 介面卡類別, 收集信號、編碼,然後傳遞至 IMA SDK。
請按照第三方供應商的操作說明向他們設定帳戶, 加入架構, 並在應用程式中設定安全信號介面卡。
iOS 適用的 IMA SDK 會自動初始化每個安全信號轉接程式,不需要對程式碼進行任何額外變更。
以下範例說明如何在專案中加入安全信號轉接程式:

傳送自訂資料
除了使用第三方信號供應商,您也可以收集、編碼及傳送信號和自訂資料。如要透過自訂資料傳送安全信號,請務必先在 Ad Manager 中啟用自訂信號。
針對每個廣告請求,請執行下列操作:
- 建立
IMASecureSignals物件,其中包含編碼的自訂資料 (以字串形式)。 - 設定
IMAAdsRequest.secureSignals屬性,將IMASecureSignals物件新增至廣告請求:
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)
}
...