A API Inserção de anúncios dinâmicos permite solicitar e monitorar streams lineares (AO VIVO) da DAI.
Serviço: dai.google.com
Todos os URIs são relativos a https://dai.google.com
Método: stream
| Métodos | |
|---|---|
stream |
POST /linear/v1/hls/event/{assetKey}/stream
Cria um fluxo de DAI para o ID do evento especificado. |
Solicitação HTTP
POST https://dai.google.com/linear/v1/hls/event/{assetKey}/stream
Cabeçalho da solicitação
| Parâmetros | |
|---|---|
api‑key |
stringA chave de API, fornecida ao criar um stream, precisa ser válida para a rede do editor. Em vez de fornecer a chave no corpo da solicitação, ela pode ser transmitida no cabeçalho de autorização HTTP com o seguinte formato: Authorization: DCLKDAI key="<api-key>" |
Parâmetros de caminho
| Parâmetros | |
|---|---|
assetKey |
stringO ID do evento da transmissão. |
Corpo da solicitação
O corpo da solicitação é do tipo application/x-www-form-urlencoded e contém os seguintes parâmetros:
| Parâmetros | ||
|---|---|---|
dai-ssb |
Opcional | Defina como |
| Parâmetros de segmentação do DFP | Opcional | Outros parâmetros de segmentação. |
| Modificar os parâmetros de stream | Opcional | Substitua os valores padrão de um parâmetro de criação de stream. |
| Autenticação HMAC | Opcional | Autentique usando um token baseado em HMAC. |
Corpo da resposta
Se a solicitação for bem-sucedida, o corpo da resposta vai conter um novo
Stream. Para fluxos de beacon do lado do servidor, esse Stream contém apenas os campos stream_id e stream_manifest.
Open Measurement
A API DAI contém informações para verificação do Open Measurement no campo
Verifications. Esse campo contém um ou mais elementos Verification que listam os recursos e metadados necessários para executar o código de medição terceirizada e verificar a reprodução do criativo. Somente
JavaScriptResource é aceito. Para mais informações, consulte o
IAB Tech Lab e a
especificação VAST 4.1.
Método: verificação de mídia
Depois de encontrar um identificador de mídia de anúncio durante a reprodução, faça imediatamente uma solicitação usando o media_verification_url obtido do endpoint stream. Essas solicitações não são necessárias para streams de beaconing do lado do servidor, em que o servidor inicia a verificação de mídia.
As solicitações para o endpoint media verification são idempotentes.
| Métodos | |
|---|---|
media verification |
GET /{media_verification_url}/{ad_media_id}
Notifica a API sobre um evento de verificação de mídia. |
Solicitação HTTP
GET https://{media-verification-url}/{ad-media-id}
Corpo da resposta
media verification
retorna as seguintes respostas:
HTTP/1.1 204 No Contentse a verificação de mídia for bem-sucedida e todos os pings forem enviados.HTTP/1.1 404 Not Foundse a solicitação não puder verificar a mídia devido à formatação ou expiração incorreta do URL.HTTP/1.1 404 Not Foundse uma solicitação de verificação anterior para esse ID foi concluída.HTTP/1.1 409 Conflictse outra solicitação já estiver enviando pings no momento.
IDs de mídia de anúncio (HLS)
Os identificadores de mídia de anúncios serão codificados em metadados temporizados HLS usando a chave
TXXX, reservada para frames de "informações de texto definidas pelo usuário". O
conteúdo do frame não será criptografado e sempre começará com o texto
"google_".
Todo o conteúdo de texto do frame precisa ser anexado ao URL de verificação de anúncio antes de cada solicitação.
Método: metadados
O endpoint de metadados em metadata_url retorna informações usadas para criar uma interface
de anúncio. O endpoint de metadados não está disponível para streams de beacon do lado do servidor,
em que o servidor é responsável por iniciar a verificação de mídia do anúncio.
| Métodos | |
|---|---|
metadata |
GET /{metadata_url}/{ad-media-id}GET /{metadata_url}
Recupera informações de metadados de anúncios. |
Solicitação HTTP
GET https://{metadata_url}/{ad-media-id}
GET https://{metadata_url}
Parâmetros de consulta
| Parâmetros | ||
|---|---|---|
delta_token |
opcional |
string
Um token opaco que representa o estado de sincronização atual do cliente.
Se fornecido, o servidor vai retornar apenas os metadados que mudaram desde a geração do token, além de um novo |
Corpo da resposta
Se a solicitação for bem-sucedida, a resposta vai retornar uma instância de PodMetadata.
Como trabalhar com metadados
Os metadados têm três seções distintas: tags, ads e breaks do anúncio. O ponto de entrada dos dados é a seção tags. Em seguida, itere pelas tags
e encontre a primeira entrada cujo nome seja um prefixo do
ID da mídia do anúncio encontrado no stream de vídeo. Por exemplo, você pode ter um ID de mídia de anúncio como este:
google_1234567890
Em seguida, encontre um objeto de tag chamado google_12345. Nesse caso, ele corresponde ao ID da mídia do seu anúncio. Depois de encontrar o objeto de prefixo de mídia do anúncio correto, você pode pesquisar
IDs de anúncio, IDs de intervalo de anúncio e o tipo de evento. Os IDs de anúncio são usados para indexar os objetos ads, e os IDs de intervalo de anúncio são usados para indexar os objetos breaks.
Dados de resposta
Stream
O stream é usado para renderizar uma lista de recursos para um stream recém-criado em formato JSON.| Representação JSON |
|---|
{
"stream_id": string,
"stream_manifest": string,
"hls_master_playlist": string,
"media_verification_url": string,
"metadata_url": string,
"session_update_url": string,
"polling_frequency": number,
} |
| Campos | |
|---|---|
stream_id |
stringO identificador de fluxo do GAM. |
stream_manifest |
stringO URL do manifesto do stream, usado para recuperar a playlist multivariante em HLS ou o MPD em DASH. |
hls_master_playlist |
stringURL de playlist multivariante HLS(DESCONTINUADO). Use "stream_manifest". |
media_verification_url |
stringO URL de verificação de mídia usado como endpoint base para rastrear eventos de reprodução. |
metadata_url |
stringURL de metadados usado para pesquisar informações periódicas sobre os próximos eventos de anúncios em stream. |
session_update_url |
stringO URL de atualização da sessão usado para atualizar os parâmetros de segmentação deste fluxo. Os valores originais dos parâmetros de segmentação são capturados durante a solicitação inicial de criação de stream. |
polling_frequency |
numberA frequência de sondagem, em segundos, ao solicitar metadata_url ou heartbeat_url. |
PodMetadata
PodMetadata contém informações de metadados sobre anúncios, intervalos comerciais e tags de ID de mídia.| Representação JSON |
|---|
{
"tags": map[string, object(TagSegment)],
"ads": map[string, object(Ad)],
"ad_breaks": map[string, object(AdBreak)],
"next_delta_token": string,
"obsolete_ad_break_ids": [],
} |
| Campos | |
|---|---|
tags |
map[string, object(TagSegment)]Mapa de segmentos de tag indexados por prefixo de tag. |
ads |
map[string, object(Ad)]Mapa de anúncios indexados por ID do anúncio. |
ad_breaks |
map[string, object(AdBreak)]Mapa de intervalos de anúncio indexados por ID. |
next_delta_token |
stringUm token opaco para o cliente usar na próxima pesquisa. |
obsolete_ad_break_ids |
stringUma lista de IDs de intervalo de anúncio obsoletos que precisam ser removidos do cache do cliente. |
TagSegment
O TagSegment contém uma referência a um anúncio, ao intervalo de anúncio e ao tipo de evento. TagSegment com type="progress" não deve ser pingado para o endpoint de verificação de mídia do anúncio.| Representação JSON |
|---|
{ "ad": string, "ad_break_id": string, "type": string, } |
| Campos | |
|---|---|
ad |
stringO ID do anúncio desta tag. |
ad_break_id |
stringO ID do intervalo de anúncio desta tag. |
type |
stringO tipo de evento desta tag. |
AdBreak
AdBreak descreve um único intervalo de anúncio no stream. Ele contém uma duração, um tipo (meio/antes/depois) e o número de anúncios.| Representação JSON |
|---|
{ "type": string, "duration": number, "expected_duration": number, "ads": number, } |
| Campos | |
|---|---|
type |
stringOs tipos de quebra válidos são: pre, mid e post. |
duration |
numberDuração total do anúncio para este intervalo de anúncio, em segundos. |
expected_duration |
numberDuração esperada do intervalo de anúncio (em segundos), incluindo todos os anúncios e inserções reserva. |
ads |
numberNúmero de anúncios no intervalo de anúncio. |
Anúncio
"Ad" descreve um anúncio no fluxo.| Representação JSON |
|---|
{
"ad_break_id": string,
"position": number,
"duration": number,
"title": string,
"description": string,
"advertiser": string,
"ad_system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
"clickthrough_url": string,
"click_tracking_urls": [],
"verifications": [object(Verification)],
"slate": boolean,
"icons": [object(Icon)],
"wrappers": [object(Wrapper)],
"universal_ad_id": object(UniversalAdID),
"extensions": [],
"companions": [object(Companion)],
"interactive_file": object(InteractiveFile),
} |
| Campos | |
|---|---|
ad_break_id |
stringO ID do intervalo de anúncio deste anúncio. |
position |
numberPosição deste anúncio no intervalo de anúncio, começando em 1. |
duration |
numberDuração do anúncio, em segundos. |
title |
stringTítulo opcional do anúncio. |
description |
stringDescrição opcional do anúncio. |
advertiser |
stringIdentificador de anunciante opcional. |
ad_system |
stringSistema de anúncios opcional. |
ad_id |
stringID do anúncio opcional. |
creative_id |
stringID do criativo opcional. |
creative_ad_id |
stringID do anúncio criativo opcional. |
deal_id |
stringID da transação opcional. |
clickthrough_url |
stringURL de clique opcional. |
click_tracking_urls |
stringURLs de rastreamento de cliques opcionais. |
verifications |
[object(Verification)]Entradas opcionais de verificação da medição aberta que listam os recursos e os metadados necessários para executar o código de medição terceirizada para verificar a reprodução do criativo. |
slate |
booleanBooleano opcional que indica se a entrada atual é uma lista. |
icons |
[object(Icon)]Uma lista de ícones, omitida se estiver vazia. |
wrappers |
[object(Wrapper)]Uma lista de wrappers, omitida se estiver vazia. |
universal_ad_id |
object(UniversalAdID)ID universal do anúncio opcional. |
extensions |
stringLista opcional de todos os nós <Extension> no VAST. |
companions |
[object(Companion)]Complementares opcionais que podem ser exibidos com este anúncio. |
interactive_file |
object(InteractiveFile)Criativo interativo opcional (SIMID) que deve ser exibido durante a reprodução do anúncio. |
Ícone
O ícone contém informações sobre um ícone VAST.| Representação JSON |
|---|
{ "click_data": object(ClickData), "creative_type": string, "click_fallback_images": [object(FallbackImage)], "height": int32, "width": int32, "resource": string, "type": string, "x_position": string, "y_position": string, "program": string, "alt_text": string, } |
| Campos | |
|---|---|
click_data |
object(ClickData) |
creative_type |
string |
click_fallback_images |
[object(FallbackImage)] |
height |
int32 |
width |
int32 |
resource |
string |
type |
string |
x_position |
string |
y_position |
string |
program |
string |
alt_text |
string |
ClickData
ClickData contém informações sobre um clickthrough de ícone.| Representação JSON |
|---|
{
"url": string,
} |
| Campos | |
|---|---|
url |
string |
FallbackImage
"FallbackImage" contém informações sobre uma imagem substituta VAST.| Representação JSON |
|---|
{ "creative_type": string, "height": int32, "width": int32, "resource": string, "alt_text": string, } |
| Campos | |
|---|---|
creative_type |
string |
height |
int32 |
width |
int32 |
resource |
string |
alt_text |
string |
Wrapper
O wrapper contém informações sobre um anúncio wrapper. Ele não inclui um ID da transação se ele não existir.| Representação JSON |
|---|
{
"system": string,
"ad_id": string,
"creative_id": string,
"creative_ad_id": string,
"deal_id": string,
} |
| Campos | |
|---|---|
system |
stringIdentificador do sistema de publicidade. |
ad_id |
stringID do anúncio usado para o anúncio wrapper. |
creative_id |
stringID do criativo usado para o anúncio wrapper. |
creative_ad_id |
stringID do criativo do anúncio usado para o anúncio wrapper. |
deal_id |
stringID da transação opcional para o anúncio wrapper. |
Verificação
A verificação contém informações para o Open Measurement, que facilita a visibilidade e a medição de verificação de terceiros. No momento, apenas recursos JavaScript são aceitos. Consulte https://iabtechlab.com/standards/open-measurement-sdk/| Representação JSON |
|---|
{
"vendor": string,
"java_script_resources": [object(JavaScriptResource)],
"tracking_events": [object(TrackingEvent)],
"parameters": string,
} |
| Campos | |
|---|---|
vendor |
stringO fornecedor de verificação. |
java_script_resources |
[object(JavaScriptResource)]Lista de recursos JavaScript para a verificação. |
tracking_events |
[object(TrackingEvent)]Lista de eventos de rastreamento para a verificação. |
parameters |
stringUma string opaca transmitida ao código de verificação de bootstrap. |
JavaScriptResource
JavaScriptResource contém informações para verificação via JavaScript.| Representação JSON |
|---|
{
"script_url": string,
"api_framework": string,
"browser_optional": boolean,
} |
| Campos | |
|---|---|
script_url |
stringURI para payload JavaScript. |
api_framework |
stringAPIFramework é o nome da estrutura de vídeo que exerce o código de verificação. |
browser_optional |
booleanIndica se o script pode ser executado fora de um navegador. |
TrackingEvent
TrackingEvent contém URLs que precisam ser pingados pelo cliente em determinadas situações.| Representação JSON |
|---|
{
"event": string,
"uri": string,
} |
| Campos | |
|---|---|
event |
stringO tipo do evento de rastreamento. |
uri |
stringO evento de rastreamento a ser pingado. |
UniversalAdID
O UniversalAdID é usado para fornecer um identificador exclusivo de criativo que é mantido em todos os sistemas de anúncios.| Representação JSON |
|---|
{ "id_value": string, "id_registry": string, } |
| Campos | |
|---|---|
id_value |
stringO ID universal do anúncio do criativo selecionado para o anúncio. |
id_registry |
stringUma string usada para identificar o URL do site de registro em que o ID universal do anúncio do criativo selecionado está catalogado. |
Companion
O campo "companion" contém informações sobre anúncios complementares que podem ser exibidos com o anúncio.| Representação JSON |
|---|
{ "click_data": object(ClickData), "creative_type": string, "height": int32, "width": int32, "resource": string, "type": string, "ad_slot_id": string, "api_framework": string, "tracking_events": [object(TrackingEvent)], } |
| Campos | |
|---|---|
click_data |
object(ClickData)Os dados de clique deste complemento. |
creative_type |
stringO atributo CreativeType no nó <StaticResource> no VAST se for um complemento do tipo estático. |
height |
int32A altura em pixels desta mídia complementar. |
width |
int32A largura em pixels deste complemento. |
resource |
stringPara complementos estáticos e de iframe, esse será o URL a ser carregado e mostrado. Para complementares em HTML, esse será o snippet HTML que deve ser mostrado como o complementar. |
type |
stringTipo de complemento. Ele pode ser estático, iframe ou HTML. |
ad_slot_id |
stringO ID do slot para este complemento. |
api_framework |
stringO framework de API para este complemento. |
tracking_events |
[object(TrackingEvent)]Lista de eventos de rastreamento para este complemento. |
InteractiveFile
O InteractiveFile contém informações para o criativo interativo (ou seja, SIMID) que deve ser exibido durante a reprodução do anúncio.| Representação JSON |
|---|
{ "resource": string, "type": string, "variable_duration": boolean, "ad_parameters": string, } |
| Campos | |
|---|---|
resource |
stringO URL do criativo interativo. |
type |
stringO tipo MIME do arquivo fornecido como recurso. |
variable_duration |
booleanIndica se o criativo pode pedir a extensão da duração. |
ad_parameters |
stringO valor do nó <AdParameters> no VAST. |