Ao contrário das integrações anteriores entre o Chromecast e a DAI, o SDK de DAI do CAF se concentra muito em manter os padrões e as expectativas definidos pelo framework de aplicativo de transmissão. Dessa forma, não é necessário personalizar muito os apps remetentes para gerenciar comunicações bidirecionais entre o IMA e o app remetente. Essas comunicações agora são gerenciadas com a funcionalidade integrada de intervalos de anúncios da CAF, em vez de exigir que sistemas de mensagens personalizados se comuniquem entre o app remetente e o destinatário.
Dependendo do remetente, talvez ainda seja necessário adicionar um código limitado aos remetentes para ativar totalmente o suporte a intervalos de anúncio do CAF, como adicionar suporte a anúncios puláveis a remetentes da Web.
Tudo o que é necessário agora, além do suporte a intervalos de anúncios do CAF, é incluir os dados de stream da DAI no objeto CAF MediaInfo enviado do remetente ao destinatário. É possível enviar esses dados de várias maneiras diferentes. Por exemplo, codifique o contentSourceID no seu receptor e envie somente o videoID com o objeto MediaInfo ou envie um identificador arbitrário ao destinatário e consulte um banco de dados on-line para os parâmetros reais da DAI.
No entanto, para fins de simplicidade, todos os nossos exemplos presumirão que você segue esta estrutura simples e convenção de nomenclatura para seus objetos MediaInfo:
contentId | Um identificador exclusivo para este item de mídia. | |
contentUrl | O URL do stream substituto a ser carregado se o StreamRequest da DAI falhar por qualquer motivo | |
streamType | Para transmissões ao vivo, esse valor deve ser definido como "AO VIVO". Para streams de VOD, esse valor deve ser definido como "BUFFERED" | |
customData | assetKey | Apenas transmissões ao vivo. Identifica a transmissão ao vivo a ser carregada |
contentSourceId | Somente transmissões VOD. Identifica o feed de mídia que contém o stream solicitado. | |
videoId | Somente transmissões 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 | Um valor booleano para informar ao destinatário se o dispositivo de envio pode mostrar um botão "Pular", o que permite 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"
}