UserContext দিয়ে একাধিক বিজ্ঞাপনের অনুরোধ পরিচালনা করা

IMA SDK-এর বেশিরভাগ ব্যবহারের জন্য একবারে শুধুমাত্র একটি বিজ্ঞাপনের অনুরোধ পরিচালনা করতে হয়। তবে কিছু এজ কেস ইমপ্লিমেন্টেশন, যেমন ব্যবহারকারী একটি ভিডিও নির্বাচন করার আগে বিজ্ঞাপন ডেটা প্রিলোড করার জন্য একাধিক সমকালীন অনুরোধ করার প্রয়োজন হতে পারে। যেহেতু বিজ্ঞাপনের অনুরোধগুলি অ্যাসিঙ্ক্রোনাসভাবে করা হয়, তাই সঠিক প্রেক্ষাপটের সাথে সঠিক বিজ্ঞাপন ব্যবস্থাপক যুক্ত আছে তা নিশ্চিত করা একটি কঠিন কাজ বলে মনে হতে পারে।

একাধিক বিজ্ঞাপন পরিচালককে আলাদা করার প্রক্রিয়া সহজ করার জন্য, HTML5-এর জন্য IMA SDK প্রকাশকদের যেকোনো বিজ্ঞাপন অনুরোধের UserContext ক্ষেত্রের যেকোনো মান বা অবজেক্ট পাস করতে দেয়। তারপর getUserRequestContext() পদ্ধতিটি ব্যবহার করে এই মান বা বস্তুটি AdsManagerLoadedEvent হ্যান্ডলারে পুনরুদ্ধার করা যেতে পারে।

উদাহরণ

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