A API de DAI do Google permite implementar streams ativados para DAI do Google em ambientes em que não há suporte para a implementação do SDK do IMA. Recomendamos que você ainda use IMA em plataformas compatíveis com o SDK do IMA.
Recomendamos o uso da API DAI nas seguintes plataformas:
- Smart TV Samsung (Tizen)
- TV LG
- HbbTV
- Xbox (apps JavaScript)
- KaiOS
A API é compatível com os recursos básicos fornecidos pelo SDK de DAI do IMA. Para casos sobre compatibilidade ou recursos com suporte, entre em contato com seu gerente de contas.
Implementar a API DAI para streams de VOD
A API DAI é compatível com streams de VOD usando os protocolos HLS e DASH. Etapas neste guia se aplicam aos dois protocolos.
Para integrar a API ao seu aplicativo para streams de VOD, conclua o etapas a seguir:
Solicite um stream fazendo uma chamada POST para o endpoint do stream:
Exemplo de corpo da solicitação:
https://dai.google.com/ondemand/v1/dash/content/2559737/vid/tos-dash/stream { key1 : "value1", stream_parameter1 : "value2" }
Exemplo de corpo de resposta:
{ "stream_id":"d32f8920-612a-4d46-8bc7-d73fd6c17c85", "total_duration":636.458, "content_duration":596.458, "valid_for":"8h0m0s", "valid_until":"2020-06-04T20:39:41.274707306-07:00", "stream_manifest":"https://dai.google.com/ondemand/dash/content/2559737/vid/tos-dash/ATL/streams/d32f8920-612a-4d46-8bc7-d73fd6c17c85/manifest.mpd", "media_verification_url":"https://dai.google.com/view/p/service/vod/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/loc/ATL/network/124319096/content/2559737/vid/tos-dash/media/", "ad_breaks":[ { "type":"pre", "start":0, "duration":10, "ads":[ { "seq":1, "duration":10, "title":"External NCA1C1L1 Preroll", "description":"External NCA1C1L1 Preroll ad", "clickthrough_url":"https://dai.google.com/ondemand/v1/dash/content/2474148/vid/bbb-clear/location/ATL/stream/d32f8920-612a-4d46-8bc7-d73fd6c17c85/videoclick/5489259204425938365", "events":[ { "time":0.1, "type":"start" }, { "time":2.5, "type":"firstquartile" }, { "time":4.75, "type":"midpoint" }, { "time":7.5, "type":"thirdquartile" }, { "time":9, "type":"complete" } ] } ] }, { "type":"mid", "start":45, "duration":10, "ads":[ {.... } ] } ] }, { "type":"post", "start":626.458, "duration":10, "ads":[...] } ] }
Resposta de erro
Em caso de erros, os códigos de erro HTTP padrão são retornados sem JSON corpo da resposta.
Analise a resposta JSON e armazene os seguintes valores:
stream_id
stream_manifest
media_verification_url
ad_breaks
Para realizar a verificação de mídia, detecte eventos ID3:
- Armazenar os eventos de mídia em uma fila, salvando cada ID de mídia junto com os respectivos carimbo de data/hora (se for exibido pelo jogador).
- Em cada atualização do player ou em uma frequência definida (recomendado) 500 ms), verifique a fila de eventos de mídia em busca de eventos reproduzidos recentemente por comparando os carimbos de data/hora dos eventos com o marcador.
- Para eventos de mídia que você confirmou ter sido reproduzidos, acompanhe a reprodução por anexando o ID da mídia ao endpoint de verificação de mídia e fazendo uma GET.
Exemplo de corpo da solicitação:
https://dai.google.com/view/p/service/linear/stream/c6bbee18-0d20-4c55-b071-efdf3a81da33:ATL/loc/ATL/network/51636543/event/0ndl1dJcRmKDUPxTRjvdog/media/
Exemplos de resposta:
Accepted for asynchronous verification - HTTP/1.1 202 Accepted Successful empty response - HTTP/1.1 204 No Content Media verification not found - HTTP/1.1 404 Not Found Media verification sent by someone else - HTTP/1.1 409 Conflict
Verifique os eventos de rastreamento em Atividade de transmissão Monitorar.
Opcional: use os dados
ad_breaks
da resposta de criação de stream para procurar. que tipo de evento foi acionado.Remova o evento de mídia da fila.
Limitações
Ao usar a API em WebViews, as seguintes limitações se aplicam com relação à segmentação:
- UserAgent: o parâmetro do user agent é transmitido como um valor específico do navegador. em vez da plataforma subjacente.
rdid
,idtype
,is_lat
: o ID do dispositivo é não foi aprovado corretamente, o que limita os seguintes recursos:- Limite de frequência
- Rotação de anúncios sequencial
- Segmentação de público-alvo
Práticas recomendadas
Mapear tags ID3 para o tipo de evento apropriado é tedioso no VOD. Use o
retornou informações de ad_breaks
no JSON para pesquisar o evento diretamente, como
que faria com conteúdo ao vivo.