आरंभ करें

नॉन्स जनरेट करें

एक "संज्ञा" एन्क्रिप्ट (सुरक्षित) की गई एक स्ट्रिंग है. इसे PAL ने NonceLoader का इस्तेमाल करके जनरेट किया है. PAL SDK टूल के लिए, स्ट्रीम के हर नए अनुरोध के साथ एक नया नॉन्स जनरेट किया गया. हालांकि, नॉन्स का उपयोग स्ट्रीम नहीं कर सकते. नॉन्स जनरेट करने के लिए PAL का इस्तेमाल करने वाला सैंपल ऐप्लिकेशन देखने के लिए, डाउनलोड करें HTML5 का उदाहरण, GitHub से लिया गया है.

PAL SDK टूल का इस्तेमाल करके नॉन्स जनरेट करने के लिए, एक एचटीएमएल फ़ाइल बनाएं और फ़ॉलो किया जा रहा है:

pal.html

<html>
<head></head>
<body>
  <div id="placeholder-video"></div>
  <button id="generate-nonce">Generate Nonce</button>
  <script src="//imasdk.googleapis.com/pal/sdkloader/pal.js"></script>
  <script src="pal.js"></script>
</body>
</html>

इसके बाद, एक JavaScript फ़ाइल बनाएं और इन्हें जोड़ें:

pal.js

let videoElement;
let nonceLoader;
let managerPromise;
let nonceManager;
let storageConsent = true;
let playbackStarted = false;

/**
 * A placeholder for the publisher's own method of obtaining user
 * consent, either by integrating with a CMP or based on other
 * methods the publisher chooses to handle storage consent.
 * @return {boolean} Whether storage consent has been given.
 */
function getConsentToStorage() {
  return storageConsent;
}

/**
 * Initializes the PAL loader.
 */
function init() {
  const videoElement = document.getElementById('placeholder-video');
  videoElement.addEventListener('mousedown', (e) => void onVideoTouch(e));
  videoElement.addEventListener('touchstart', (e) => void onVideoTouch(e));
  videoElement.addEventListener('play', () => {
    if (!playbackStarted) {
      sendPlaybackStart();
      playbackStarted = true;
    }
  });
  videoElement.addEventListener('ended', () => void sendPlaybackEnd());
  videoElement.addEventListener('error', () => {
    console.log("Video error: " + videoElement.error.message);
    sendPlaybackEnd();
  });

  document.getElementById('generate-nonce')
      .addEventListener('click', generateNonce);

  // The default value for `allowStorage` is false, but can be
  // changed once the appropriate consent has been gathered.
  const consentSettings = new goog.pal.ConsentSettings();
  consentSettings.allowStorage = getConsentToStorage();

  nonceLoader = new goog.pal.NonceLoader(consentSettings);
}

/**
 * Generates a nonce with sample arguments and logs it to the console.
 *
 * The NonceRequest parameters set here are example parameters.
 * You should set your parameters based on your own app characteristics.
 */
function generateNonce() {
  const request = new goog.pal.NonceRequest();
  request.adWillAutoPlay = true;
  request.adWillPlayMuted = false;
  request.continuousPlayback = false;
  request.descriptionUrl = 'https://example.com';
  request.iconsSupported = true;
  request.playerType = 'Sample Player Type';
  request.playerVersion = '1.0';
  request.ppid = 'Sample PPID';
  request.sessionId = 'Sample SID';
  // Player support for VPAID 2.0, OMID 1.0, and SIMID 1.1
  request.supportedApiFrameworks = '2,7,9';
  request.url = 'https://developers.google.com/ad-manager/pal/html5';
  request.videoHeight = 480;
  request.videoWidth = 640;

  managerPromise = nonceLoader.loadNonceManager(request);
  managerPromise
      .then((manager) => {
        nonceManager = manager;
        console.log('Nonce generated: ' + manager.getNonce());
      })
      .catch((error) => {
        console.log('Error generating nonce: ' + error);
      });
}

init();

विज्ञापन अनुरोध में नॉन्स अटैच करें

जनरेट किए गए नॉन्स का इस्तेमाल करने के लिए, अपने विज्ञापन टैग को givn पैरामीटर के साथ जोड़ें और नॉन्स वैल्यू का इस्तेमाल करें.

pal.js

  /**
   * The ad tag for your ad request, for example:
   * https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1&cust_params=deployment%3Ddevsite%26sample_ct%3Dlinear&correlator=
   *
   * For more sample ad tags, see https://developers.google.com/interactive-media-ads/docs/sdks/html5/client-side/tags
   */
  const DEFAULT_AD_TAG = "Your ad tag";

  ...

  managerPromise = nonceLoader.loadNonceManager(request);
  managerPromise
      .then((manager) => {
        nonceManager = manager;
        console.log('Nonce generated: ' + manager.getNonce());
        
        // Append the nonce to the ad tag URL.
        makeAdRequest(DEFAULT_AD_TAG + "&givn=" + nonceString);
      })

प्लेबैक इवेंट ट्रैक करें

आखिर में, आपको अपने प्लेयर के लिए कई इवेंट हैंडलर लागू करने होंगे. इसके लिए टेस्टिंग के मकसद से, उन्हें बटन क्लिक इवेंट में अटैच कर सकते हैं, लेकिन असल लागू करने पर, ये सही प्लेयर इवेंट से ट्रिगर होंगे:

pal.js

/**
 * Informs PAL that an ad click has occurred. How this function is
 * called will vary depending on your ad implementation.
 */
function sendAdClick() {
  nonceManager?.sendAdClick();
}

/**
 * Handles the user touching on the video element, passing it to PAL.
 * @param {!TouchEvent|!MouseEvent} touchEvent
 */
function onVideoTouch(touchEvent) {
  nonceManager?.sendAdTouch(touchEvent);
}

/** Informs PAL that playback has started. */
function sendPlaybackStart() {
  nonceManager?.sendPlaybackStart();
}

/** Informs PAL that playback has ended. */
function sendPlaybackEnd() {
  nonceManager?.sendPlaybackEnd();
}

आपके लागू करने के तरीके में, आपके वीडियो के एक बार sendPlaybackStart को कॉल किया जाना चाहिए वीडियो चलाने का सेशन शुरू हो जाता है. आपके वीडियो के लिए एक बार sendPlaybackEnd कॉल किया जाना चाहिए वीडियो चलाने का सेशन खत्म होने वाला है. sendAdClick को हर बार दर्शक किसी विज्ञापन पर क्लिक करता है. हर टच इंटरैक्शन पर sendAdTouch को कॉल किया जाना चाहिए खिलाड़ी के साथ.

(ज़रूरी नहीं) तीसरे पक्ष के विज्ञापन सर्वर के ज़रिए Google Ad Manager सिग्नल भेजें

Ad Manager के लिए, तीसरे पक्ष के विज्ञापन सर्वर के अनुरोध को कॉन्फ़िगर करें.

अपने तीसरे पक्ष के विज्ञापन सर्वर को कॉन्फ़िगर करें, ताकि सर्वर की Ad Manager से अनुरोध किया है. यहां ऐसे विज्ञापन टैग का उदाहरण दिया गया है जिसे तीसरे पक्ष का विज्ञापन सर्वर:

'https://pubads.serverside.net/gampad/ads?givn=%%custom_key_for_google_nonce%%&...'

ज़्यादा जानकारी के लिए, Google Ad Manager का सर्वर-साइड लागू करना देखें गाइड देखें.

नॉन्स वैल्यू की पहचान करने के लिए, Ad Manager givn= देखता है. तीसरे पक्ष का विज्ञापन सर्वर को अपने खुद के कुछ मैक्रो का समर्थन करना होगा, जैसे %%custom_key_for_google_nonce%% पर जाकर, उसे नॉन्स क्वेरी पैरामीटर से बदलें आपने पिछले चरण में इसकी जानकारी दी थी. ऐसा करने के तरीके के बारे में ज़्यादा जानकारी तृतीय-पक्ष विज्ञापन सर्वर के दस्तावेज़ों में उपलब्ध होनी चाहिए.

हो गया! अब PAL SDK टूल से नॉन्स पैरामीटर को रजिस्टर किया जा चुका है, फिर उसे Google Ad Manager तक पहुंचाता है. यह चालू करता है के ज़रिए बेहतर तरीके से कमाई कर सकते है.