Enviar notificações de intervalo de anúncio antecipado

A Inserção de anúncios dinâmicos (DAI) do Google oferece suporte a transmissões ao vivo com alto nível de concorrência. As notificações antecipadas de intervalo de anúncio (EABN, na sigla em inglês) são solicitações para que o DAI do Google programe um intervalo de anúncio ou inicie imediatamente as decisões de anúncio, otimizando a taxa de preenchimento de anúncios e o tempo de carregamento.

Para iniciar notificações antecipadas de intervalo de anúncio para serviço completo, veiculação de pods ou inserção de anúncios guiada pelo servidor, use o recurso AdBreaks. Esse recurso pode criar e gerenciar intervalos de anúncios em todas as transmissões ao vivo que você cria na interface do Google Ad Manager ou na API SOAP LiveStreamEventService do Google Ad Manager.

Esta página explica como programar um intervalo de anúncio como uma notificação antecipada.

Pré-requisitos

Para criar ou gerenciar os intervalos de anúncios, você precisa de uma chave de recurso ou chave de recurso personalizada gerada pelo sistema de transmissão ao vivo. Você também pode encontrar essas chaves na página de detalhes da transmissão ao vivo. Consulte Configurar uma transmissão ao vivo para a DAI usando a interface do Google Ad Manager.

Programar um intervalo de anúncio

Você pode programar um intervalo de anúncio enquanto o número de espectadores da transmissão aumenta. Para cada evento de transmissão ao vivo, programe um intervalo de anúncio individualmente com até seis horas de antecedência usando o método de serviço Create. Inclua o horário de início esperado e o ID do intervalo de anúncio. A DAI começa a tomar decisões sobre anúncios perto do horário programado. Para decisões imediatas de intervalo de anúncio, omita o horário de início esperado do intervalo.

Para que o Google DAI comece a tomar decisões de anúncio imediatamente, omita o horário de início esperado do intervalo de anúncios ao chamar Create.

O exemplo a seguir programa um intervalo de anúncios para um evento de transmissão ao vivo do tipo Linear para começar em 6 de março de 2025 às 16h no Tempo Universal Coordenado (UTC):

curl 'https://admanager.googleapis.com/v1/networks/NETWORK_CODE/liveStreamEventsByAssetKey/ASSET_KEY/adBreaks' \
  -H 'authorization: Bearer ACCESS_TOKEN' \
  -H 'content-type: application/json' \
  --data-raw '{"adBreakId":"mid-roll-1","assetKey":"ASSET_KEY","duration":"30s","expectedStartTime":"2025-03-06T16:00:00Z"}'
fetch("https://admanager.googleapis.com/v1/networks/NETWORK_CODE/liveStreamEventsByAssetKey/ASSET_KEY/adBreaks", {
    "headers": {
      "authorization":
        "Bearer ACCESS_TOKEN",
        "Content-Type": "application/json",
    },
  "body": JSON.stringify({
    "adBreakId": "mid-roll-1",
    "duration": "30s",
    "expectedStartTime": "2025-03-06T16:00:00Z"
  }),
  "method": "POST"
});

Se for bem-sucedido, você vai receber a seguinte resposta JSON:

{
  "name": "networks/.../liveStreamEventsByAssetKey/.../adBreaks/mid-roll-1",
  "adBreakId": "mid-roll-1",
  "assetKey": "...",
  "expectedStartTime": "2025-03-06T16:00:00Z",
  "duration": "30s",
  "breakState": "SCHEDULED"
}

Para consultar intervalos de anúncios, use o método List. Para inspecionar os detalhes de um intervalo de anúncios, use o método Get.

O exemplo a seguir lista todos os intervalos de anúncio de um evento de transmissão ao vivo:

curl 'https://admanager.googleapis.com/v1/networks/NETWORK_CODE/liveStreamEventsByAssetKey/ASSET_KEY/adBreaks' \
  -H 'authorization: Bearer ACCESS_TOKEN'
fetch(
  "https://admanager.googleapis.com/v1/networks/NETWORK_CODE/liveStreamEventsByAssetKey/ASSET_KEY/adBreaks",
  {
    "headers": {
      "authorization": "Bearer ACCESS_TOKEN",
    },
    "method": "GET"
  }
);

Se for bem-sucedido, você vai receber a seguinte resposta JSON:

{
  "adBreaks": [
    {
      "name": "networks/.../liveStreamEventsByAssetKey/.../adBreaks/mid-roll-1",
      "adBreakId": "mid-roll-1",
      "assetKey": "...",
      "expectedStartTime": "2025-03-06T16:00:00Z",
      "duration": "30s",
      "breakState": "DECISIONED",
      "breakSequence": "1"
    }
  ]
}

Se você quiser reprogramar o intervalo de anúncios atual para mais cedo, use o método Patch para mudar o horário de início esperado. Se você quiser cancelar o intervalo atual de anúncios, use o método Delete antes que o estado dele seja COMPLETED.

Para criar outro intervalo de anúncio, aguarde até que o estado do intervalo atual seja COMPLETED.