보안 처리된 신호 어댑터 통합
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
보안 처리된 신호는 클라이언트 기기에서 수집되어 일부 입찰자와 공유되는 인코딩된 데이터입니다. 이 가이드에서는 IMA SDK를 사용하여 보안 신호를 수집하고 Google Ad Manager에 전송하는 방법을 보여줍니다.
보안 처리된 신호 API에는 tvOS용 IMA SDK 버전 4.8.2 이상이 필요합니다.
신호 및 입찰자를 선택하고 보안 처리된 신호 공유를 사용 설정하려면 입찰자와 보안 처리된 신호 공유를 참고하세요.
서드 파티 신호 제공업체 사용
보안 처리된 신호를 사용하려면 앱에 신호 수집기 어댑터 클래스를 배포하여 신호를 수집하고, 인코딩하고, IMA SDK에 전달해야 합니다.
서드 파티 제공업체의 안내에 따라 계정을 설정하고, 프레임워크를 포함하고, 앱에서 보안 신호 어댑터를 설정합니다.
tvOS용 IMA SDK는 코드에 추가 변경사항 없이 각 보안 처리된 신호 어댑터를 자동으로 초기화합니다.
다음은 보안 처리된 신호 어댑터를 프로젝트에 추가하는 방법의 예입니다.

맞춤 데이터 전송
서드 파티 신호 제공업체를 사용하는 것 외에도 맞춤 데이터를 사용하여 신호를 수집, 인코딩, 전송할 수 있습니다. 맞춤 데이터로 보안 처리된 신호를 전송하려면 먼저 Ad Manager에서 맞춤 신호를 사용 설정해야 합니다.
각 광고 요청에 대해 인코딩된 맞춤 데이터를 문자열로 포함하는 IMASecureSignals
객체를 만듭니다. 그런 다음 IMAAdsRequest.secureSignals
속성을 호출하여 IMASecureSignals
객체를 광고 요청에 추가합니다.
다음은 Objective-C 및 Swift의 샘플입니다.
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)
}
...
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-31(UTC)
[null,null,["최종 업데이트: 2025-08-31(UTC)"],[[["\u003cp\u003eSecure signals, encoded data from client devices, are shared with specific bidders to enhance ad targeting.\u003c/p\u003e\n"],["\u003cp\u003eYou need to integrate a signal collector adapter and the IMA SDK (version 4.8.2 or higher for tvOS) to collect and send secure signals to Google Ad Manager.\u003c/p\u003e\n"],["\u003cp\u003eUtilize a third-party signal provider or, if eligible for a limited beta, send custom data as secure signals after enabling it in Ad Manager.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the provided code examples (Objective-C and Swift) for implementation guidance on adding secure signals to your ad requests.\u003c/p\u003e\n"]]],[],null,["Secure signals are encoded data that is collected on the client device and\nshared with select bidders. This guide shows you how to collect and send secure\nsignals to Google Ad Manager using the IMA SDK.\n\nThe secure signals API requires version 4.8.2\nor higher of the IMA SDK for tvOS.\n\nTo select signals and bidders, and enable secure signal sharing, see [Share\nsecure signals with bidders](//support.google.com/admanager/answer/10488752).\n\nUse a third-party signal provider\n\nTo use secure signals, you must deploy a signal collector\n\nadapter class in your app\n\nto collect signals, encode them, and pass them to the IMA SDK.\n\n\u003cbr /\u003e\n\nFollow your third-party provider's instructions to set up an account with them,\n\n[include frameworks](//developer.apple.com/library/archive/documentation/MacOSX/Conceptual/BPFrameworks/Tasks/IncludingFrameworks.html),\n\nand set up their secure signals adapter in your app.\n\nThe IMA SDK for tvOS automatically\ninitializes each secure signals adapter, without any additional changes to your\ncode.\n\nHere's an example of how you might add a secure signals adapter to your project:\n\n\u003cbr /\u003e\n\nSend custom data\n\nIn addition to using a third-party signal provider, you can also collect,\nencode, and send signals with custom data. Before you can send secure signals\nwith custom data, you must turn on custom signals in Ad Manager.\n\n\u003cbr /\u003e\n\nFor each ad request, create an `IMASecureSignals` object containing your\nencoded custom data as a string. Then, add the `IMASecureSignals` object to\nyour ad request by calling the `IMAAdsRequest.secureSignals` attribute.\n\nHere are samples in Objective-C and Swift: \n\nObjective-C\n\n**BasicExample/ViewController.m** \n\n ...\n - (void)requestAds {\n // Create an ad display container for ad rendering.\n IMAAdDisplayContainer *adDisplayContainer =\n [[IMAAdDisplayContainer alloc] initWithAdContainer:self.videoView\n viewController:self\n companionSlots:nil];\n // Create an ad request with our ad tag, display container, and optional user context.\n IMAAdsRequest *request = [[IMAAdsRequest alloc] initWithAdTagUrl:kTestAppAdTagUrl\n adDisplayContainer:adDisplayContainer\n contentPlayhead:self.contentPlayhead\n userContext:nil];\n IMASecureSignals \\*signals =\n \\[\\[IMASecureSignals alloc\\] initWithCustomData:@\"My encoded signal string\"\\];\n request.secureSignals = signals;\n [self.adsLoader requestAdsWithRequest:request];\n }\n ...\n\nSwift\n\n**BasicExample/ViewController.swift** \n\n ...\n private func requestAds() {\n // Create ad display container for ad rendering.\n let adDisplayContainer = IMAAdDisplayContainer(\n adContainer: videoView, viewController: self, companionSlots: nil)\n // Create an ad request with our ad tag, display container, and optional user context.\n let request = IMAAdsRequest(\n adTagUrl: ViewController.testAppAdTagURL,\n adDisplayContainer: adDisplayContainer,\n contentPlayhead: contentPlayhead,\n userContext: nil)\n let signals = IMASecureSignals(customData: \"My encoded signal string\")\n request.secureSignals = signals\n adsLoader.requestAds(with: request)\n }\n ..."]]