اکثر موارد استفاده از کیت توسعه نرمافزار IMA فقط به مدیریت یک درخواست آگهی در هر زمان نیاز دارند. بااینحال، برخیاز پیادهسازیهای موارد حاشیهای، مانند پیشبارگیری دادههای آگهی قبلاز اینکه کاربر ویدیویی را انتخاب کند، ممکن است نیاز به ایجاد چندین درخواست همزمان داشته باشد. ازآنجاییکه درخواستهای آگهی بهصورت ناهمگام انجام میشوند، اطمینان از اینکه مدیر آگهی مناسب با زمینه صحیح مرتبط است، میتواند کار دلهرهآوری بهنظر برسد.
برای ساده کردن فرایند متمایز کردن چند مدیر آگهی، IMA SDK برای 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);
}
...