Tín hiệu an toàn là dữ liệu được mã hoá, được thu thập trên thiết bị của khách hàng và chia sẻ với một số bên đặt giá thầu. Hướng dẫn này cho bạn biết cách thu thập và gửi tín hiệu an toàn đến Google Ad Manager bằng SDK IMA.
API tín hiệu an toàn yêu cầu phiên bản 4.8.2 trở lên của SDK IMA cho tvOS.
Để chọn tín hiệu và bên đặt giá thầu, đồng thời bật tính năng chia sẻ tín hiệu an toàn, hãy xem phần Chia sẻ tín hiệu an toàn với bên đặt giá thầu.
Sử dụng nhà cung cấp tín hiệu bên thứ ba
Để sử dụng tín hiệu an toàn, bạn phải triển khai một lớp bộ chuyển đổi bộ thu tín hiệu trong ứng dụng của mình để thu thập tín hiệu, mã hoá tín hiệu và truyền tín hiệu đó đến SDK IMA.
Làm theo hướng dẫn của nhà cung cấp bên thứ ba để thiết lập tài khoản với họ, bao gồm cả các khung và thiết lập bộ chuyển đổi tín hiệu an toàn của họ trong ứng dụng của bạn.
IMA SDK cho tvOS sẽ tự động khởi chạy từng bộ chuyển đổi tín hiệu an toàn mà không cần thay đổi gì thêm đối với mã của bạn.
Sau đây là ví dụ về cách bạn có thể thêm một bộ chuyển đổi tín hiệu an toàn vào dự án của mình:
Gửi dữ liệu tuỳ chỉnh
Ngoài việc sử dụng nhà cung cấp tín hiệu bên thứ ba, bạn cũng có thể thu thập, mã hoá và gửi tín hiệu bằng dữ liệu tuỳ chỉnh. Trước khi có thể gửi tín hiệu an toàn bằng dữ liệu tuỳ chỉnh, bạn phải bật tín hiệu tuỳ chỉnh trong Ad Manager.
Đối với mỗi yêu cầu quảng cáo, hãy tạo một đối tượng IMASecureSignals
chứa dữ liệu tuỳ chỉnh được mã hoá dưới dạng một chuỗi. Sau đó, hãy thêm đối tượng IMASecureSignals
vào yêu cầu quảng cáo của bạn bằng cách gọi thuộc tính IMAAdsRequest.secureSignals
.
Dưới đây là các mẫu bằng Objective-C và 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)
}
...