Visão geral

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

O termo Sender refere-se a um app que desempenha o papel de controlador da sessão do Google Cast. 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, bem como superfícies de controle virtual em dispositivos Google Home com recurso de toque. Os controles de mídia no navegador da Web Chrome funcionam como um remetente, assim como o Google Assistente.

O termo Receptor se refere a um app executado em um dispositivo compatível com Cast responsável por responder aos comandos do remetente e 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, TVs inteligentes, telas inteligentes e alto-falantes inteligentes.

O SDK do Cast também é compatível com a conexão de vários remetentes a uma sessão do Cast. Por exemplo, um Remetente pode iniciar uma sessão em um Receptor, e outro Remetente pode participar da mesma sessão para controlar a reprodução, carregar novo conteúdo ou enfileirar mais conteúdo para mais tarde.

Componentes e arquitetura do app

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

Um app receptor é executado em um dispositivo compatível com Cast. Por exemplo:

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

Arquitetura de alto nível do Google Cast

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

Há dois cenários básicos de desenvolvimento de apps do Google Cast:

  1. Uma solução completa baseada em Google Cast. Nesse cenário, o desenvolvedor precisa criar o app Remetente e dois apps receptores: um receptor para Android TV e um receptor da Web (mais sobre isso abaixo).
  2. Um app de envio compatível com Cast que pode transmitir conteúdo (uma tela ou um stream multimídia) para o receptor de transmissão padrão do Google, que é 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 o aprendizado e cenários de reprodução muito limitados. Ele não é prático para destinatários 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 exemplos de código que demonstram os recursos do Google Cast e
  • Tutoriais de codelab que orientam você no processo de desenvolvimento de tipos específicos de apps do Google Cast.

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

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

Tipos de apps de remetentes

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

  • Web
  • Android
  • iOS

Embora a escolha do tipo de remetente provavelmente seja determinada em grande parte pelas plataformas que você pretende oferecer, é 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 estilizado
Agrupar, estilizar e ativar faixas de mídia
Reprodução automática e enfileiramento (editar, reordenar, atualizar)
Critérios personalizados
Ações personalizadas
interface de transmissão completa, incluindo o controlador e o 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 receptor da Web e o Receptor do Android TV. Ofereça, no mínimo, um receptor da Web, e é recomendável 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 receptor personalizado, que permite lógica personalizada, branding e modificação de controles.
  • O Receptor de mídia estilizada, que permite uma marca personalizada.
  • O Receptor padrão, que é o tipo mais básico. Isso não permite personalização e não é adequado para apps de produção.

Além dos recursos fornecidos pelo receptor personalizado, o receptor do Android TV fornece o Cast Connect, um conjunto de recursos que oferecem uma experiência nativa para os usuários, combinando perfeitamente o Cast 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 a controles por toque
Gerencia comandos de voz de dispositivos com Google Assistente
Estilo visual personalizável e branding
Processar mensagens personalizadas
Conexão de transmissão

A escolha entre as três opções de receptor da Web depende de quais tipos de mídia o app precisa oferecer, do grau de personalização da interface necessário e de quaisquer requisitos de lógica personalizada.

Determinar que tipo de receptor da Web criar

Caso seu app possa se integrar ao Google Cast, use as seguintes solicitações para determinar qual tipo de receptor da Web você precisa criar:

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

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