(IMA) SDK do HTML5.
W większości przypadków użycia pakietu IMA SDK wystarczy zarządzać tylko jednym żądaniem reklamy naraz. Jednak w niektórych przypadkach, np. podczas wstępnego wczytywania danych reklamy przed wybraniem filmu przez użytkownika, może być konieczne wysłanie kilku żądań jednocześnie. Żądania reklamy są wysyłane asynchronicznie, więc powiązanie odpowiedniego menedżera reklam z właściwym kontekstem może wydawać się trudnym zadaniem.
Aby uprościć proces rozróżniania wielu usług zarządzania reklamami, pakiet IMA SDK dla HTML5 umożliwia wydawcom przekazywanie dowolnej wartości lub obiektu do pola UserContext w dowolnym żądaniu reklamy. Tę wartość lub ten obiekt można następnie pobrać w procedurze obsługi AdsManagerLoadedEvent za pomocą metody getUserRequestContext().
Przykład
...
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);
}
...