Receptor da Web personalizado

Pular: o código para criar um receptor da Web personalizado básico é simples. Pule para registrar o app Web Receiver e criar um app básico do Web Receiver.

O SDK do receptor da Web usa um player de mídia integrado para oferecer uma experiência de reprodução sem problemas e fácil. Ele oferece suporte predefinido para o Google Assistente, bem como recursos específicos do Google Cast que são automaticamente compatíveis com todos os remetentes e dispositivos compatíveis com toque. Conforme novos recursos forem lançados, eles continuarão a ter suporte sem alterações adicionais no remetente.

O receptor da Web personalizado é um app HTML5 personalizado que precisa ser hospedado para exibir seu conteúdo em dispositivos compatíveis com Cast. Talvez seja necessário criar um receptor da Web personalizado, dependendo das necessidades da sua empresa. Se quiser ajuda para decidir qual tipo de receptor usar, consulte o guia Escolher um receptor da Web.

SDK receptor da Web do Google

O app Web Receiver acessa a API Web Receiver com a seguinte referência:

<script src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js"></script>

Prática recomendada para protocolos de URL: o URL acima não especifica um protocolo"http:" ou "https:" A omissão desses protocolos ao fornecer o recurso cast_receiver_framework.js permite que esse recurso seja buscado usando o mesmo protocolo que o servidor que hospeda o app Web Receiver. Isso significa que alternar entre HTTP para desenvolvimento e HTTPS para produção é transparente e não exigirá uma mudança de código. Os apps receptores da Web publicados precisam ser hospedados em servidores compatíveis com TLS.

Visualização do SDK

Uma versão de pré-lançamento do SDK do Cast Web Receiver também está disponível para uso em testes de aplicativos que não são de produção. Mais informações sobre o URL de visualização do SDK podem ser encontradas em URL de visualização do SDK do receptor da Web do Google Cast.

Ciclo de vida da solicitação

O ciclo de vida do app Web Receiver começa do ponto em que o Web Receiver é carregado no dispositivo de transmissão e passa para o ponto em que o aplicativo é removido e o dispositivo de Cast volta para o estado padrão.

Durante o ciclo de vida de um app Web Receiver, as mensagens são trocadas entre o Web Receiver e todos os apps de remetente conectados. Um aplicativo de remetente enviará uma mensagem inicial a um dispositivo com Google Cast solicitando a criação de uma sessão usando um ID de aplicativo específico. Isso inicia o ciclo de vida do receptor da Web, já que o dispositivo com Google Cast tentará carregar o app receptor. Se não houver problemas de rede, o download do app receptor da Web será feito usando o URL resolvido associado ao ID do app. Após o carregamento, o app Web Receiver requer as operações de configuração e indica que está pronto para processar mensagens de qualquer aplicativo de remetente conectado.

Um app Web Receiver pode desmontar (encerrar o ciclo de vida atual e fechar o app) nas seguintes condições:

  • O app Web Receiver recebe uma mensagem explícita do último remetente conectado para encerrar a sessão do aplicativo.
  • O app Web Receiver está inativo por um período definido sem nenhum remetente conectado e decide encerrar a sessão do aplicativo.
  • Uma sessão de transmissão diferente foi iniciada.
  • O Receptor da Web encontra um erro fatal durante o ciclo de vida normal.

O SDK do receptor da Web processa todos os casos comuns de acordo com as nossas diretrizes de UX.

Principais classes

O framework do Web Receiver SDK tem duas classes principais:

  • cast.framework.CastReceiverContext: gerencia o framework geral e carrega as bibliotecas necessárias. Com esse objeto, é possível:

    • Definir opções de configuração do aplicativo
    • Gerenciar eventos do sistema (como o remetente conectado ou desconectado)
    • Criar canais personalizados
    • Iniciar comunicação de transmissão
  • cast.framework.PlayerManager: gerencia a reprodução de mídia. Ele processa o player subjacente e o elemento de mídia de acordo com a solicitação do remetente. Com esse objeto, é possível:

    • Processar operações de reprodução
    • Processar solicitações relacionadas a reprodução do remetente
    • Processar eventos relacionados à reprodução

Registrar o app Web Receiver

Antes de desenvolver um app receptor da Web, você precisará registrá-lo no Console do desenvolvedor do SDK do Google Cast. Consulte Registro para mais informações. Todos os apps Web Receiver exigem que os apps de remetente forneçam um ID de app com as mensagens de comando que eles enviam para o Web Receiver por meio da API do remetente. Ao registrar o aplicativo receptor da Web, você receberá o ID do aplicativo para incluir nas chamadas de API do remetente.

Criar um app Web Receiver básico

Veja a seguir a estrutura principal de um app Web Receiver básico que não tem personalização:

  1. Um elemento HTML cast-media-player para representar o player de mídia.
  2. Um elemento HTML de script para carregar o framework Receptor da Web.
  3. Chame start() para iniciar o app Web Receiver sem opções.

Este é o código mínimo para um app receptor da Web que usa o framework de aplicativos de transmissão sem nenhuma personalização. Você pode copiar e colar esse script exatamente no estado em que ele está no app para criar o receptor da Web.

<html>
<head>
  <script type="text/javascript"
      src="//www.gstatic.com/cast/sdk/libs/caf_receiver/v3/cast_receiver_framework.js">
  </script>
</head>
<body>
  <cast-media-player></cast-media-player>
  <script>
    cast.framework.CastReceiverContext.getInstance().start();
  </script>
</body>
</html>

Neste ponto, o usuário pode abrir o app do remetente, conectar-se ao dispositivo de transmissão e navegar pelas mídias e pressionar "Play", o que instrui o receptor da Web a fazer streaming da mídia para a TV para o usuário assistir.

Compare esse receptor da Web básico com um app receptor personalizado.

Mídia e jogadores

O framework do Google Cast fornece um player de mídia integrado, representado pelo elemento HTML cast-media-player. Esse player de mídia é compatível com a reprodução de protocolos de streaming, como MPEG-DASH, HLS e Smooth Streaming.

Um conjunto de codecs e contêineres de mídia compatíveis está listado em Mídias compatíveis. Por meio da transmissão de mensagens, os desenvolvedores podem oferecer suporte a uma lista de operações iniciadas pelo remetente, como carregar, reproduzir, pausar e buscar, em que o SDK do Cast processa as interações com a mídia. Para ver uma lista de operações compatíveis, consulte a referência da API do remetente para a plataforma do seu app: RemoteMediaClient no remetente do Android, GCKMediaControlChannel no remetente no iOS e Media no remetente na Web.

Compartilhamento de recursos entre origens

O Google Cast é totalmente compatível com o Compartilhamento de recursos entre origens (CORS). Os protocolos de streaming, ao contrário da maioria dos protocolos baseados em arquivos, acessam conteúdo de maneira assíncrona usando XMLHttpRequest. Em um mundo de CORS, essas solicitações são protegidas contra o acesso inadequado pelo cabeçalho de CORS do servidor de origem do recurso. Isso significa que o servidor do conteúdo tem uma palavra sobre onde ele pode ser incluído. A maioria dos navegadores modernos é totalmente compatível com CORS. Dispositivos iOS e Android acessam o conteúdo em um nível inferior e não analisam esses cabeçalhos. Geralmente, esse é o primeiro problema que aparece quando um desenvolvedor quer usar conteúdo de streaming. Consulte Compartilhamento de recursos entre origens para ver mais detalhes.