การใช้งาน IMA SDK ส่วนใหญ่จำเป็นต้องจัดการคำขอโฆษณาเพียงรายการเดียวในแต่ละครั้ง อย่างไรก็ตาม การติดตั้งใช้งานในกรณีที่ซับซ้อนบางอย่าง เช่น การโหลดข้อมูลโฆษณาล่วงหน้าก่อนที่ผู้ใช้จะเลือกวิดีโอ อาจต้องส่งคำขอพร้อมกันหลายรายการ เนื่องจากคำขอโฆษณาจะดำเนินการแบบไม่พร้อมกัน การตรวจสอบว่า Ad Manager ที่เหมาะสมเชื่อมโยงกับบริบทที่ถูกต้องจึงอาจดูเป็นงานที่ยาก
IMA SDK สำหรับ HTML5 ช่วยให้ผู้เผยแพร่โฆษณาส่งค่าหรือออบเจ็กต์ไปยังฟิลด์ UserContext ของคำขอโฆษณาใดก็ได้ เพื่อลดความซับซ้อนของกระบวนการแยกความแตกต่างของ Ad Manager หลายรายการ จากนั้นจะเรียกค่าหรือออบเจ็กต์นี้ได้ในแฮนเดิลเลอร์ 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);
}
...