Como gravar apps de remetentes para o SDK de DAI do CAF

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": "2528370",
      "videoId": "tears-of-steel",
      "ApiKey": "",
      "senderCanSkip": true
    }
  },
  "credentials": "testCredentials"
}