بیشتر کاربردهای 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);
}
...