لا تتطلّب معظم استخدامات "حزمة تطوير البرامج لإعلانات الوسائط التفاعلية" سوى إدارة طلب إعلان واحد في كل مرة. ومع ذلك، قد تتطلّب بعض حالات الاستخدام، مثل التحميل المُسبَق لبيانات الإعلان قبل أن يختار المستخدم فيديو، تقديم طلبات متزامنة متعددة. بما أنّ طلبات الإعلانات يتم إجراؤها بشكل غير متزامن، قد يبدو ضمان ربط "مدير الإعلانات" المناسب بالسياق الصحيح مهمة شاقة.
لتبسيط عملية التمييز بين عدة مدراء إعلانات، تتيح حزمة تطوير البرامج للإعلانات التفاعلية من Google في 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);
}
...