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