सुरक्षित सिग्नल का इस्तेमाल शुरू करना

सुरक्षित सिग्नल, एन्कोड किया गया डेटा होता है. इसे क्लाइंट डिवाइस पर इकट्ठा किया जाता है और कुछ बिडर के साथ शेयर किया जाता है. इस गाइड में, IMA SDK का इस्तेमाल करके Google Ad Manager को सुरक्षित सिग्नल इकट्ठा करने और भेजने का तरीका बताया गया है.

Secure Signals API के लिए, IMA SDK for iOS का वर्शन 3.18.1 या इसके बाद का वर्शन ज़रूरी है.

सिग्नल और बिडर चुनने के लिए, बिडर के साथ सुरक्षित सिग्नल शेयर करना लेख पढ़ें. इसमें सुरक्षित सिग्नल शेयर करने की सुविधा चालू करने के बारे में भी बताया गया है.

तीसरे पक्ष की सिग्नल प्रोवाइडर कंपनी का इस्तेमाल करना

सुरक्षित सिग्नल का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन में सिग्नल कलेक्टर अडैप्टर क्लास डिप्लॉय करनी होगी. इससे सिग्नल इकट्ठा किए जा सकेंगे, उन्हें कोड में बदला जा सकेगा, और IMA SDK को पास किया जा सकेगा.

तीसरे पक्ष की सेवा देने वाली कंपनी के साथ खाता सेट अप करने के लिए, उसके निर्देशों का पालन करें. फ़्रेमवर्क शामिल करें, और अपने ऐप्लिकेशन में, सुरक्षित सिग्नल अडैप्टर सेट अप करें.

iOS के लिए IMA SDK, हर सुरक्षित सिग्नल अडैप्टर को अपने-आप शुरू कर देता है. इसके लिए, आपको अपने कोड में कोई बदलाव करने की ज़रूरत नहीं होती.

यहां एक उदाहरण दिया गया है, जिसमें बताया गया है कि अपने प्रोजेक्ट में सुरक्षित सिग्नल अडैप्टर कैसे जोड़ा जा सकता है:

कस्टम डेटा भेजना

तीसरे पक्ष की सिग्नल सेवा देने वाली कंपनी का इस्तेमाल करने के अलावा, कस्टम डेटा के साथ सिग्नल इकट्ठा, कोड में बदला, और भेजा भी जा सकता है. कस्टम डेटा के साथ सुरक्षित सिग्नल भेजने के लिए, आपको Ad Manager में कस्टम सिग्नल चालू करने होंगे.

स्ट्रीम के हर अनुरोध के लिए, यह तरीका अपनाएं:

  1. एक IMASecureSignals ऑब्जेक्ट बनाएं. इसमें स्ट्रिंग के तौर पर, आपका एन्कोड किया गया कस्टम डेटा शामिल हो.
  2. 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)
  }
}