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

प्लैटफ़ॉर्म चुनें: HTML5 Android iOS tvOS

सुरक्षित सिग्नल, कोड में बदला गया ऐसा डेटा होता है जो क्लाइंट डिवाइस पर इकट्ठा किया जाता है और चुनिंदा बिड करने वाली इकाइयों के साथ शेयर किया जाता है. इस गाइड में, 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.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 प्रॉपर्टी में, ऐसा फ़ंक्शन डालें जो प्रॉमिस दिखाता हो. यह प्रॉमिस, कोड में बदले गए आपके सिग्नल में रिज़ॉल्व होता है.

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

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

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

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
});

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