सुरक्षित सिग्नल, कोड में बदला गया ऐसा डेटा होता है जो क्लाइंट डिवाइस पर इकट्ठा किया जाता है. इसे चुनिंदा बिड करने वाली इकाइयों के साथ शेयर किया जाता है. इस गाइड में, IMA SDK का इस्तेमाल करके Google Ad Manager को सुरक्षित सिग्नल इकट्ठा करने और भेजने का तरीका बताया गया है.
सिग्नल और बिड करने वाली इकाइयां चुनने और सुरक्षित सिग्नल शेयर करने की सुविधा चालू करने के लिए, बिड करने वाली इकाइयों के साथ सुरक्षित सिग्नल शेयर करना लेख पढ़ें.
तीसरे पक्ष की सिग्नल कंपनी का इस्तेमाल करना
सुरक्षित सिग्नल का इस्तेमाल करने के लिए, आपको अपनी साइट पर सिग्नल इकट्ठा करने वाली स्क्रिप्ट डिप्लॉय करनी होगी. इससे सिग्नल इकट्ठा किए जा सकेंगे, उन्हें कोड में बदला जा सकेगा, और IMA SDK को भेजा जा सकेगा.
सुरक्षित सिग्नल की स्क्रिप्ट, अपने-आप या मैन्युअल तरीके से डिप्लॉय की जा सकती हैं.
अपने-आप डिप्लॉय करना
Ad Manager में सिग्नल कंपनियां चुनते समय, आपको Google से सिग्नल कलेक्शन स्क्रिप्ट को आपकी ओर से डिप्लॉय करने के लिए कहें विकल्प मिल सकता है. यह विकल्प, चुनी गई सिग्नल कंपनियों के हिसाब से मिलता है. अगर आपने यह विकल्प चुना है और आपकी साइट पर Google Publisher Tag मौजूद हैं, तो चुनी गई सिग्नल कलेक्शन स्क्रिप्ट अपने-आप लोड हो जाती हैं.
यहां एक उदाहरण दिया गया है, जिससे पता चलता है कि आपको 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 प्रोजेक्ट के लिए तरीका बताया गया है:
networkCodeऔरcollectorFunctionप्रॉपर्टी वाला एक ऑब्जेक्ट बनाएं.networkCodeप्रॉपर्टी में अपना नेटवर्क कोड डालें.collectorFunctionप्रॉपर्टी में एक ऐसा फ़ंक्शन डालें जो प्रॉमिस दिखाता हो. यह प्रॉमिस, कोड में बदले गए आपके सिग्नल के तौर पर रिज़ॉल्व होता है.
`streamManager` इंस्टेंस बनाने से पहले, ऑब्जेक्ट को googletag.secureSignalProviders कलेक्शन में पुश करें. इससे 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);