सुरक्षित सिग्नल, एन्कोड किया गया डेटा होता है. इसे क्लाइंट डिवाइस पर इकट्ठा किया जाता है और कुछ बिडर के साथ शेयर किया जाता है. इस गाइड में, IMA SDK का इस्तेमाल करके Google Ad Manager को सुरक्षित सिग्नल इकट्ठा करने और भेजने का तरीका बताया गया है.
Secure Signals API के लिए, IMA SDK for iOS का वर्शन 3.18.1 या इसके बाद का वर्शन ज़रूरी है.
सिग्नल और बिडर चुनने के लिए, बिडर के साथ सुरक्षित सिग्नल शेयर करना लेख पढ़ें. इसमें सुरक्षित सिग्नल शेयर करने की सुविधा चालू करने के बारे में भी बताया गया है.
तीसरे पक्ष की सिग्नल प्रोवाइडर कंपनी का इस्तेमाल करना
सुरक्षित सिग्नल का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन में सिग्नल कलेक्टर अडैप्टर क्लास डिप्लॉय करनी होगी. इससे सिग्नल इकट्ठा किए जा सकेंगे, उन्हें कोड में बदला जा सकेगा, और IMA SDK को पास किया जा सकेगा.
तीसरे पक्ष की सेवा देने वाली कंपनी के साथ खाता सेट अप करने के लिए, उसके निर्देशों का पालन करें. फ़्रेमवर्क शामिल करें, और अपने ऐप्लिकेशन में, सुरक्षित सिग्नल अडैप्टर सेट अप करें.
iOS के लिए IMA SDK, हर सुरक्षित सिग्नल अडैप्टर को अपने-आप शुरू कर देता है. इसके लिए, आपको अपने कोड में कोई बदलाव करने की ज़रूरत नहीं होती.
यहां एक उदाहरण दिया गया है, जिसमें बताया गया है कि अपने प्रोजेक्ट में सुरक्षित सिग्नल अडैप्टर कैसे जोड़ा जा सकता है:
कस्टम डेटा भेजना
तीसरे पक्ष की सिग्नल सेवा देने वाली कंपनी का इस्तेमाल करने के अलावा, कस्टम डेटा के साथ सिग्नल इकट्ठा, कोड में बदला, और भेजा भी जा सकता है. कस्टम डेटा के साथ सुरक्षित सिग्नल भेजने के लिए, आपको Ad Manager में कस्टम सिग्नल चालू करने होंगे.
स्ट्रीम के हर अनुरोध के लिए, यह तरीका अपनाएं:
- एक
IMASecureSignals
ऑब्जेक्ट बनाएं. इसमें स्ट्रिंग के तौर पर, आपका एन्कोड किया गया कस्टम डेटा शामिल हो. IMASecureSignals
एट्रिब्यूट सेट करके, अपने स्ट्रीम अनुरोध मेंIMASecureSignals
ऑब्जेक्ट जोड़ें:IMAStreamRequest.secureSignals
Objective-C
app/ViewController.m
- (void)requestStream {
// Create a stream request. Use one of "Livestream request" or "VOD request",
// depending on your type of stream.
IMAStreamRequest *request;
if (kStreamType == StreamTypeLive) {
// Livestream request. Replace the asset key with your value.
request = [[IMALiveStreamRequest alloc] initWithAssetKey:kLiveStreamAssetKey
networkCode:kNetworkCode
adDisplayContainer:self.adDisplayContainer
videoDisplay:self.imaVideoDisplay
userContext:nil];
} else {
// VOD request. Replace the content source ID and video ID with your values.
request = [[IMAVODStreamRequest alloc] initWithContentSourceID:kVODContentSourceID
videoID:kVODVideoID
networkCode:kNetworkCode
adDisplayContainer:self.adDisplayContainer
videoDisplay:self.imaVideoDisplay
userContext:nil];
}
IMASecureSignals *signals =
[[IMASecureSignals alloc] initWithCustomData:@"My encoded signal string"];
request.secureSignals = signals;
[self.adsLoader requestStreamWithRequest:request];
}
Swift
app/ViewController.swift
func requestStream() {
// Create a stream request. Use one of "Livestream request" or "VOD request".
let signals = IMASecureSignals(customData: "My encoded signal string")
if ViewController.requestType == StreamType.live {
// Livestream request.
let request = IMALiveStreamRequest(
assetKey: ViewController.assetKey,
networkCode: ViewController.networkCode,
adDisplayContainer: adDisplayContainer!,
videoDisplay: imaVideoDisplay,
userContext: nil)
request.secureSignals = signals
adsLoader?.requestStream(with: request)
} else {
// VOD stream request.
let request = IMAVODStreamRequest(
contentSourceID: ViewController.contentSourceID,
videoID: ViewController.videoID,
networkCode: ViewController.networkCode,
adDisplayContainer: adDisplayContainer!,
videoDisplay: imaVideoDisplay,
userContext: nil)
request.secureSignals = signals
adsLoader?.requestStream(with: request)
}
}