Obsługa wielu żądań reklamy

Wybierz platformę: HTML5 Android iOS tvOS

W większości przypadków użycia pakietu IMA SDK wystarczy zarządzać tylko 1 żądaniem reklamy naraz. Jednak w niektórych przypadkach, np. podczas wstępnego wczytywania danych reklam, zanim użytkownik wybierze film, może być konieczne wysłanie kilku żądań jednocześnie. Ponieważ żądania reklamy są wysyłane asynchronicznie, zapewnienie, że odpowiedni menedżer reklam jest powiązany z właściwym kontekstem, może wydawać się trudnym zadaniem.

Aby uprościć proces rozróżniania wielu menedżerów reklam, pakiet IMA SDK na HTML5 umożliwia wydawcom przekazywanie dowolnej wartości lub obiektu do pola UserContext w dowolnym żądaniu reklamy. Tę wartość lub obiekt można następnie pobrać w procedurze obsługi zdarzenia 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);
}
...