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

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

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

एक से ज़्यादा Ad Manager के बीच अंतर करने की प्रोसेस को आसान बनाने के लिए, 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);
}
...