UserContext ile birden fazla reklam isteğini işleme

IMA SDK'nın çoğu kullanımı, aynı anda yalnızca tek bir reklam isteğinin yönetilmesini gerektirir. Ancak reklam verilerinin kullanıcı bir video seçmeden önce önceden yüklenmesi gibi bazı uç durum uygulamaları için birden fazla eşzamanlı istek yapılması gerekebilir. Reklam istekleri eşzamansız olarak yapıldığından, uygun reklam yöneticisinin doğru bağlamla ilişkilendirilmesini sağlamak göz korkutucu bir görev gibi görünebilir.

HTML5 için IMA SDK, birden çok reklam yöneticisini ayırt etme sürecini basitleştirmek amacıyla yayıncıların herhangi bir değeri veya nesneyi herhangi bir reklam isteğinin UserContext alanına geçirmesine olanak tanır. Bu değer veya nesne, daha sonra getUserRequestContext() yöntemi kullanılarak AdsManagerLoadedEvent işleyicisinden alınabilir.

Örnek

...
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);
}
...