Visão geral

O SDK do Cast permite que um usuário selecione conteúdo de streaming audiovisual usando um Remetente e o reproduza em (ou transmita) para outro dispositivo conhecido como Receptor, enquanto controla a reprodução usando o Remetente.

O termo remetente se refere a um app que desempenha o papel de controlador na sessão de transmissão. Um remetente inicia a sessão de transmissão e gerencia a interação do usuário com o conteúdo.

Há muitos tipos de remetentes, incluindo apps para dispositivos móveis e apps da Web do Google Chrome, além de superfícies de controle virtual em dispositivos com Google Home por toque. Os controles de mídia no navegador Chrome funcionam como remetente, assim como o Google Assistente.

O termo Receiver se refere a um app em execução em um dispositivo compatível com Cast que é responsável por responder a comandos do Remetente e por transmitir conteúdo de streaming de um serviço de streaming on-line para o dispositivo compatível com Cast. Exemplos de dispositivos receptores compatíveis com Cast incluem Chromecasts, televisores inteligentes, telas inteligentes e alto-falantes inteligentes.

O SDK do Cast também oferece suporte a vários remetentes que se conectam a uma sessão. Por exemplo, um remetente pode iniciar uma sessão em um receptor e outro poder participar da mesma sessão para controlar a reprodução, carregar novo conteúdo ou enfileirar mais conteúdo para um momento posterior.

Componentes e arquitetura do app

O Google Cast é compatível com o desenvolvimento de apps de remetente para Android, iOS e plataformas da Web compatíveis com Cast, como o Google Chrome.

Um app receptor é executado em um dispositivo compatível com Google Cast. Veja alguns exemplos:

  • É um Chromecast conectado a um sistema de televisão ou som de alta definição.
  • Uma televisão compatível com Cast.
  • Uma tela inteligente compatível com Cast
  • Ter um dispositivo Android compatível com Cast, como o Android TV.

Arquitetura de transmissão de alto nível

Um remetente controla a reprodução de mídia em um receptor usando mensagens de reprodução de mídia definidas pelo SDK. Se um caso de uso de app exigir o envio de dados que não são formalmente definidos nas mensagens de mídia padrão, use o campo customData fornecido por vários tipos de mensagens para transmitir dados auxiliares.

Há dois cenários básicos de desenvolvimento de apps de transmissão:

  1. Uma solução completa com base em Google Cast. Nesse cenário, o desenvolvedor precisa criar o app remetente e dois apps receptores: um Android TV Receiver e um Web Receiver (veja mais sobre isso abaixo).
  2. Um app remetente de transmissão compatível que pode transmitir conteúdo (uma tela ou um stream multimídia) ao receptor de transmissão padrão do Google, chamado de receptor de mídia padrão. Nesse cenário, o desenvolvedor só precisa criar um app, o remetente. O receptor de mídia padrão é útil para aprendizado e cenários de reprodução muito limitados. Não é prático para receptores que exigem lógica de negócios, credenciais, gerenciamento de direitos ou análises personalizadas.

O SDK do Google Cast

O SDK do Google Cast é composto por várias bibliotecas da API Cast. Além das APIs, há dois tipos de documentação:

  • Guias de API que orientam você no uso das APIs com exemplo de código (link em inglês) que demonstra os recursos de transmissão.
  • Tutoriais do codelab que orientam você no processo de desenvolvimento de tipos específicos de apps de transmissão.

As APIs Cast são divididas de acordo com a plataforma e o tipo de app Cast. A Tabela 1 contém links para os guias das várias APIs Google Cast.

Tabela 1: guias do SDK do Google Cast
Plataforma Remetente Receptor
Android Apps Android Sender Visão geral do receptor do Android TV
Web Apps de remetente da Web Visão geral do receptor da Web
iOS Apps de remetente do iOS n/d

Tipos de apps de remetente

Os apps remetentes podem ser executados em três plataformas:

  • Web
  • Android
  • iOS

A escolha do tipo de remetente geralmente é feita em grande parte pelas plataformas de remetente que você pretende oferecer suporte, mas é importante conhecer os recursos e limitações de cada tipo de remetente (consulte a Tabela 3).

Tabela 3: Comparação de remetentes
Capacidade Remetente do Android Remetente do iOS Remetente da Web
Intervalos de anúncios e anúncios complementares em um stream de mídia
Faixas de texto com estilo
Agrupar, definir o estilo e ativar faixas de mídia
Reprodução automática e fila (editar, reordenar, atualizar)
Critérios personalizados
Ações personalizadas
IU de transmissão completa, incluindo controlador e minicontrolador
Intenção de participar

Tipos de apps receptores

Os apps receptores processam a comunicação entre o app remetente e o dispositivo de transmissão. Há dois tipos principais de receptor: o Web Receiver e o Android TV Receiver. Espera-se que você forneça um receptor da Web no mínimo e é incentivado a fornecer um receptor do Android TV para maximizar a experiência do usuário com seu aplicativo.

Há três tipos de receptor da Web, cada um com um conjunto distinto de qualidades e recursos:

  • O Receiver Personalizado, que permite lógica personalizada, branding e modificação de controles.
  • O Receptor de mídia estilizado, que permite o branding personalizado.
  • O Receptor padrão, que é o tipo mais básico. Isso não permite nenhum tipo de personalização e não é adequado para apps de produção.

Além dos recursos fornecidos pelo receptor personalizado, o receptor do Android TV oferece o Cast Connect, um conjunto de recursos que oferecem uma experiência nativa para os usuários, combinando perfeitamente com o Android TV.

A tabela 2 destaca os recursos dos diferentes tipos de receptores.

Tabela 2: comparação de receptores
Receptor do Android TV Receptor personalizado Receptor de mídia estilizado (SMR) Receptor de mídia padrão
Plataforma
Baseado no Android (Java/Kotlin)
Baseado na Web (HTML5)
Requisitos
Precisa ser registrado
Recursos
Reprodução de mídia HLS e DASH
Suporte para controles por toque
Processa comandos de voz de dispositivos com Google Assistente
Estilo visual e branding personalizáveis
Processar mensagens personalizadas
Google Cast Connect

A escolha entre as três opções de Web Receiver depende do tipo de mídia que o app precisa oferecer, do grau de personalização da IU necessário e de qualquer requisito de lógica personalizada.

Determinar qual tipo de Web Receiver deve ser criado

Se seu app puder ser integrado ao Google Cast, use as instruções abaixo para determinar qual tipo de Web Receiver será criado:

Crie um receptor personalizado se:
O app exige um ou mais dos seguintes recursos especiais:

  • Estilo não fornecido pelo receptor de mídia estilizado
  • Modificações nos controles por toque
  • Autorização ou autenticação
  • Análise do receptor
  • Licença DRM enviada separadamente do manifesto
  • Antes, no meio ou depois da publicidade
  • Qualquer outra funcionalidade de receptor personalizada ou lógica JavaScript personalizada.
OU
  • O app exige estilo personalizado
AND
  • Os recursos de estilo do receptor de mídia estilizado são insuficientes
Crie um receptor de mídia estilizado se:
  • O app exige estilo personalizado
AND
  • Os recursos de estilo do receptor de mídia estilizado são suficientes
AND
  • O app não exige nenhum dos recursos especiais listados acima
Use o receptor de mídia padrão se:
  • O formato de mídia é compatível
AND
  • O app não exige estilos personalizados.
AND
  • O app não exige nenhum dos recursos especiais listados acima