رسیدگی به درخواست های تبلیغاتی متعدد با UserContext

اکثر موارد استفاده از IMA SDK فقط نیاز به مدیریت یک درخواست آگهی در هر زمان دارد. با این حال، برخی از پیاده‌سازی‌های حاشیه‌ای، مانند بارگذاری پیش‌بار داده‌های آگهی قبل از انتخاب ویدیو توسط کاربر، ممکن است نیاز به چندین درخواست همزمان داشته باشند. از آنجایی که درخواست های تبلیغاتی به صورت ناهمزمان انجام می شود، اطمینان از مرتبط بودن مدیر تبلیغات مناسب با زمینه صحیح می تواند کاری دلهره آور به نظر برسد.

برای ساده‌سازی فرآیند تمایز چند مدیر تبلیغات، IMA SDK برای HTML5 به ناشران اجازه می‌دهد تا هر مقدار یا شیئی را به قسمت 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);
}
...