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.
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:
- 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).
- 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.
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).
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.
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:
|
OU |
|
Crie um receptor de mídia estilizado se: | |||||
|
Use o receptor de mídia padrão se: | |||||
|