安全信號是從用戶端裝置收集並與特定出價方共用的編碼資料。本指南說明如何使用 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)
}
...