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

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

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

अलग-अलग विज्ञापन मैनेजर के बीच अंतर करने की प्रोसेस को आसान बनाने के लिए, HTML5 के लिए IMA SDK टूल, पब्लिशर को विज्ञापन दिखाने के किसी भी अनुरोध के 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);
}
...