सुरक्षित सिग्नल अडैप्टर इंटिग्रेट करना

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

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

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

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

सुरक्षित सिग्नल की स्क्रिप्ट को अपने-आप या मैन्युअल तरीके से डिप्लॉय किया जाता है.

अपने-आप डिप्लॉय होने की सुविधा

Ad Manager में सिग्नल देने वाली कंपनियों को चुनते समय, आपको Google से, सिग्नल इकट्ठा करने वाली स्क्रिप्ट को आपकी ओर से डिप्लॉय करने के लिए कहने का विकल्प मिल सकता है. यह विकल्प, सिग्नल देने वाली चुनी गई कंपनियों के हिसाब से मिलता है. यह विकल्प चुनने पर, अगर आपकी साइट में Google पब्लिशर टैग शामिल हैं, तो चुनी गई सिग्नल कलेक्टर स्क्रिप्ट अपने-आप लोड हो जाती हैं.

यहां एक उदाहरण दिया गया है, जिसमें दिखाया गया है कि आपको Ad Manager के यूज़र इंटरफ़ेस (यूआई) में क्या दिख सकता है:

यहां एक उदाहरण दिया गया है, जिससे पता चलता है कि आपकी साइट की index.html फ़ाइल में क्या दिख सकता है:

<script src="//imasdk.googleapis.com/js/sdkloader/ima3_dai.js"></script>
<!-- Load gpt.js, which autoloads all signal provider scripts configured to be
  deployed by Google. -->
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script src="dai.js"></script>

मैन्युअल तरीके से डिप्लॉय करना

अगर आपको Ad Manager में, Google से सिग्नल कलेक्शन स्क्रिप्ट को आपकी ओर से डिप्लॉय करने के लिए कहें विकल्प नहीं दिखता है या आपने इस विकल्प को चालू नहीं किया है, तो आपको सुरक्षित सिग्नल उपलब्ध कराने वाली कंपनी से स्क्रिप्ट का लिंक पाना होगा. इसके बाद, आपको इसे अपने प्रोजेक्ट में मैन्युअल तरीके से शामिल करना होगा.

यहां एक उदाहरण दिया गया है, जिसमें दिखाया गया है कि आपको Ad Manager के यूज़र इंटरफ़ेस (यूआई) में क्या दिख सकता है:

यहां एक उदाहरण दिया गया है, जिससे पता चलता है कि आपकी साइट की index.html फ़ाइल में क्या दिख सकता है:

<script src="//imasdk.googleapis.com/js/sdkloader/ima3_dai.js"></script>
<!-- Load signal provider scripts manually, using the unique instructions given by each
  signal provider. -->
<script src="//cdn.provider1.com/files/a/e/5/4/7/signalCollector.js"></script>
<script src="//provider2.co.uk/ads/signalcollector/script.min.js"></script>
<script src="/local/path/to/third_party_signal_provider_3.js"></script>
<script src="dai.js"></script>

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

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

HTML5 प्रोजेक्ट के लिए, यह तरीका अपनाएं:

  1. इन प्रॉपर्टी वाला एक ऑब्जेक्ट बनाएं: networkCode और collectorFunction.
  2. networkCode प्रॉपर्टी में अपना नेटवर्क कोड डालें.
  3. collectorFunction प्रॉपर्टी में ऐसा फ़ंक्शन डालें जो एक प्रॉमिस दिखाता हो. यह प्रॉमिस, आपके एन्कोड किए गए सिग्नल में बदल जाता है.

ऑब्जेक्ट को googletag.secureSignalProviders कलेक्शन में पुश करें. इसके बाद, `streamManager` इंस्टेंस बनाएं, ताकि IMA SDK इसे ऐक्सेस कर सके. इससे, वह आपके एन्कोड किए गए सिग्नल को वापस पा सकेगा और उन्हें ट्रांसमिट कर सकेगा:

यहां JavaScript का एक उदाहरण दिया गया है:

console.log("initializing IMA");
videoElement = document.getElementById('video');
adUiElement = document.getElementById('adUi');

const NETWORK_CODE = '21775744923';

/**
 * Sample signal collector function.
 * @return {!Promise<string>} A promise that resolves to the encoded signals.
 */
const signalCollector = () => {
 return new Promise((resolve, reject) => {
   resolve("My encoded signal string");
 });
};
if (!googletag) googletag = {};
if (!googletag.secureSignalProviders) googletag.secureSignalProviders = [];
googletag.secureSignalProviders.push({
 networkCode: NETWORK_CODE,
 collectorFunction: signalCollector
});

streamManager = new google.ima.dai.api.StreamManager(videoElement, adUiElement);