Ao contrário das integrações anteriores entre o Chromecast e a DAI, o SDK da DAI do CAF se concentra principalmente na manutenção dos padrões e expectativas definidos pelo framework de aplicativos de transmissão. Portanto, não é necessário personalizar muito os apps de remetentes para gerenciar as comunicações bidirecionais entre o IMA e o app remetente. Essas comunicações agora são gerenciadas pela funcionalidade de intervalos de anúncios CAF integrados, em vez de exigir que os sistemas de mensagens personalizados se comuniquem entre o app remetente e o receptor.
Dependendo do remetente, talvez seja necessário adicionar algum código limitado aos remetentes para ativar totalmente o suporte aos intervalos de anúncio do CAF, como adicionar compatibilidade com anúncios puláveis a remetentes da Web.
Agora, além do suporte para intervalos de anúncio do CAF, é preciso incluir os dados de stream da DAI no objeto MediaInfo do CAF que é enviado do remetente ao destinatário. Há várias formas de enviar esses dados. Por exemplo, é possível codificar o contentSourceID no seu receptor e enviar videoID apenas com o objeto MediaInfo ou enviar um identificador arbitrário para o receptor e, a partir dele, consultar um banco de dados on-line para os parâmetros da DAI reais.
No entanto, para simplificar, todos os nossos exemplos pressupõem que você segue esta estrutura simples e a convenção de nomenclatura para seus objetos MediaInfo:
ID do conteúdo | Um identificador exclusivo para esse item de mídia | |
Urldoconteúdo | O URL de stream substituto para carregar se o StreamRequest da DAI falhar por algum motivo | |
streamType (em inglês) | Para transmissões ao vivo, esse valor precisa ser definido como "LIVE". Para streams de VOD, esse valor precisa ser definido como "BUFFERED". | |
customData (em inglês) | assetKey | Apenas para transmissões ao vivo. Identifica a transmissão ao vivo que será carregada |
ContentSourceId | Somente streams de VOD Identifica o feed de mídia que contém o stream solicitado. | |
ID do vídeo | Somente streams de VOD Identifica o stream solicitado no feed de mídia especificado. | |
ApiKey | Uma chave de API opcional que pode ser necessária para recuperar o URL de stream do SDK de DAI do IMA. | |
senderCanSkip (em inglês) | Um valor booleano para permitir que o destinatário saiba se o dispositivo remetente tem a capacidade de exibir um botão "Pular", permitindo compatibilidade com anúncios puláveis |
Exemplo de transmissão ao vivo:
{
"media": {
"contentId": "bbb",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/bbb.m3u8",
"streamType": "LIVE",
"customData": {
"assetKey": "sN_IYUG8STe1ZzhIIE_ksA",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}
Exemplo de stream de VOD:
{
"media": {
"contentId": "tos",
"contentUrl": "https://storage.googleapis.com/interactive-media-ads/media/tos.m3u8",
"streamType": "BUFFERED",
"customData": {
"contentSourceId": "2548831",
"videoId": "tears-of-steel",
"ApiKey": "",
"senderCanSkip": true
}
},
"credentials": "testCredentials"
}