एक से ज़्यादा विज्ञापन अनुरोधों को मैनेज करना

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

IMA SDK के ज़्यादातर इस्तेमाल के लिए, एक बार में सिर्फ़ एक विज्ञापन अनुरोध को मैनेज करना ज़रूरी होता है. हालांकि, कुछ खास मामलों में एक साथ कई अनुरोध करने पड़ सकते हैं. जैसे, उपयोगकर्ता के वीडियो चुनने से पहले विज्ञापन डेटा को प्रीलोड करना. विज्ञापन दिखाने के अनुरोध एसिंक्रोनस तरीके से किए जाते हैं. इसलिए, यह पक्का करना मुश्किल हो सकता है कि सही विज्ञापन मैनेजर को सही कॉन्टेक्स्ट से जोड़ा गया हो.

एक से ज़्यादा विज्ञापन मैनेजर के बीच अंतर करने की प्रोसेस को आसान बनाने के लिए, IMA SDK for HTML5 की मदद से पब्लिशर, विज्ञापन अनुरोध के UserContext फ़ील्ड में कोई भी वैल्यू या ऑब्जेक्ट पास कर सकते हैं. इसके बाद, इस वैल्यू या ऑब्जेक्ट को AdsManagerLoadedEvent हैंडलर में वापस पाया जा सकता है. इसके लिए, getUserRequestContext() तरीके का इस्तेमाल करें.

उदाहरण

...
adsLoader.addEventListener(
      google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED,
      onAdsManagerLoaded,
      false);
adsLoader.addEventListener(
      google.ima.AdErrorEvent.Type.AD_ERROR,
      onAdsManagerError,
      false);
const contextA = {id: "Request A", element: videoElementA};
const contextB = {id: "Request B", element: videoElementB}
adsLoader.requestAds(adsRequestA, contextA);
adsLoader.requestAds(adsRequestB, contextB);
...

function onAdsManagerLoaded(adsManagerLoadedEvent) {
  const context = adsManagerLoadedEvent.getUserRequestContext();
  adsManager = adsManagerLoadedEvent.getAdsManager(context.element);
  console.log("Successfully loaded ID: " + context.id);
}

function onAdsManagerError(adsManagerErrorEvent) {
  const context = adsManagerErrorEvent.getUserRequestContext();
  console.log("Error with AdRequest ID: " + context.id);
}
...