Ao usar a plataforma de DAI do Google, recomendamos fornecer dados de segmentação para o próximo intervalo comercial linear/ao vivo em uma transmissão. O primeiro intervalo de anúncio A API Notification (EABN) permite que você implemente a segmentação específica de intervalos usando pares de chave-valor, que oferecem escalonabilidade para a tomada de decisões de anúncios em alto volume córregos.
As chamadas feitas para a API EABN precisam incluir a chave de recurso a ser segmentada e o a duração do intervalo seguinte. A duração precisa ser a mais próxima do anúncio real o maior tempo possível de intervalo. Se a duração esperada enviada for menor que o intervalo de anúncio fornecido, o O tipo de preenchimento do intervalo de anúncio está insuficiente (o padrão é uma folha em branco) para o restante do intervalo. Se o duração esperada de envio for maior do que o intervalo de anúncio fornecido, ele poderá terminar antes que o anúncio esteja completo.
Além desses campos obrigatórios, você também pode enviar parâmetros, o nome de um modelo de conjunto de anúncios a ser aplicado ou Dados de SCTE35 Cue Out, se disponíveis.
Pré-requisitos
Criar uma conta de serviço
Para acessar a API EABN, você precisa de uma conta de serviço do Google.
- Se você tiver uma conta do Google Cloud, poderá usar o módulo do IAM para criar um conta de serviço. Para mais informações, consulte Como criar e gerenciar contas de serviço.
- Se você não tiver uma conta do Google Cloud, crie uma conta de serviço
no Console de APIs do Google
seguindo estas etapas:
- Crie um novo projeto ou selecione um existente.
- Na página Credenciais, clique em Gerenciar contas de serviço.
- Na página Contas de serviço, clique em CRIAR CONTA DE SERVIÇO.
- Na página Criar conta de serviço, insira os detalhes da conta. Depois, Clique em CRIAR.
Depois de criar uma conta de serviço, copie o JSON dela chave de segurança, que será usada para autenticação.
Ativar a API EABN
Depois de criar a conta de serviço, peça ao gerente de contas para ativar a API EABN para essa conta.
Ativar a API DAI
Depois que a API EABN for ativada para sua conta de serviço, ative a API DAI na conta:
Na Biblioteca de APIs do Google, pesquise por "API DAI".
Selecione e ative a API DAI.
Como usar a API EABN
É possível chamar a API EABN usando solicitações JSON/REST.
Autenticação
Para fazer chamadas autenticadas para a API EABN, gere o serviço OAuth2
usando a chave JSON da sua conta de serviço e o escopo
https://www.googleapis.com/auth/video-ads
: Para mais informações, consulte
Usar o OAuth 2.0 para aplicativos de servidor para servidor.
O deve incluir o token de autenticação resultante como um cabeçalho Auth para cada chamada para a API EABN.
Enviar uma notificação antecipada de intervalo de anúncio
Para enviar uma notificação antecipada de intervalo de anúncio, envie uma solicitação POST usando o seguinte: URL e corpo da solicitação:
POST dai.googleapis.com/v1/adBreaks
Corpo da solicitação
Objeto | ||
---|---|---|
adBreak |
Obrigatório | O objeto wrapper para as propriedades adBreak |
assetKey |
Obrigatório | Um identificador exclusivo da LiveStreamEvent para a qual o
intervalo é criado |
expectedDuration |
Obrigatório | A duração desse intervalo de anúncio, usando o formato de duração padrão do Google (xx.xxxs, onde xx.xxx é o número de segundos) |
scte35CueOut |
Opcional | Dados codificados em Base64 da saída scte35. Podem incluir o parâmetro
comando splice_insert() ou time_signal() .
Exemplos:
|
custParams |
Opcional | Pares de chave-valor serão incluídos nas solicitações de anúncios para este intervalo para a personalização
de critérios personalizados no AM360, separados por = e unidos por
& .Exemplo: key=value&key2=value2,value3 () Para mais informações sobre segmentação, consulte Segmentação de fornecimento parâmetros ao seu stream. |
ptpln |
Opcional | Nome do modelo do conjunto de anúncios |
Cabeçalho de resposta
HTTP/1.1 200 OK
Corpo da resposta
O corpo da resposta contém todos os parâmetros enviados no objeto adBreak
.
bem como um campo daiBreakId
adicional, que contém a DAI interna
para o intervalo de anúncio criado no stream.
Exemplo
Solicitação
POST /v1/adBreaks HTTP/1.1
Content-Type: application/json
{
"adBreak": {
"assetKey": "asset1",
"expectedDuration": "30s",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"custParams": "param1=value1¶m2=value2",
"ptpln": "podtemplate"
}
}
Resposta
HTTP/1.1 200 OK
{
"assetKey": "asset1",
"expectedDuration": "30s",
"custParams": "param1=value1¶m2=value2",
"scte35CueOut": "/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==",
"ptpln": "podtemplate",
"daiBreakId": 1
}
Exemplo de implementação (Python)
from __future__ import absolute_import
from __future__ import division
from __future__ import print_function
from absl import app
from google.auth.transport.requests import AuthorizedSession
from google.oauth2 import service_account
SERVICE_ACCOUNT_KEY_FILE = "~/eabn_key.json"
ASSET_KEY = "asset1"
SCOPES = ['https://www.googleapis.com/auth/video-ads']
EABN_API_URL = 'https://dai.googleapis.com/v1/adBreaks'
def main():
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_KEY_FILE, scopes=SCOPES)
authed_session = AuthorizedSession(credentials)
data = {
'assetKey': ASSET_KEY,
'expectedDuration': '120s',
'custParams': 'param1=value1¶m2=value2',
'scte35CueOut': '/DA0AAAAAAAA///wBQb+cr0AUAAeAhxDVUVJSAAAjn/PAAGlmbAICAAAAAAsoKGKNAIAmsnRfg==',
}
r = authed_session.post(EABN_API_URL, json={'adBreak': data})
print(r.status_code)
print(r.headers)
print(r.text)
if __name__ == '__main__':
app.run(main)