Processar várias solicitações de anúncios

Selecione a plataforma: HTML5 Android iOS tvOS

A maioria dos usos do SDK do IMA exige apenas o gerenciamento de uma solicitação de anúncio por vez. No entanto, algumas implementações de casos extremos, como o pré-carregamento de dados de anúncios antes que o usuário selecione um vídeo, podem exigir várias solicitações simultâneas. Como as solicitações de anúncio são feitas de forma assíncrona, garantir que o Ad Manager adequado esteja associado ao contexto correto pode parecer uma tarefa difícil.

Para simplificar o processo de diferenciação de vários gerenciadores de anúncios, o SDK HTML5 do IMA permite que os editores transmitam qualquer valor ou objeto ao campo UserContext de qualquer solicitação de anúncio. Esse valor ou objeto pode ser recuperado no manipulador AdsManagerLoadedEvent usando o método getUserRequestContext().

Exemplo

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