सुरक्षित सिग्नल

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

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

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

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

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

अपने-आप डिप्लॉय होना

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

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

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

...
<script src="//imasdk.googleapis.com/js/sdkloader/ima3.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="ads.js"></script>
...

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

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

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

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

...
<script src="//imasdk.googleapis.com/js/sdkloader/ima3.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="ads.js"></script>
...

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

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

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

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

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

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

ads.js

...
console.log("initializing IMA");
adContainer = document.getElementById('ad-container');
adDisplayContainer = new google.ima.AdDisplayContainer(adContainer, videoElement);

const NETWORK_CODE = '12345678901';
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
});

adsLoader = new google.ima.AdsLoader(adDisplayContainer);
...