Android TV com Google Cast

Com o lançamento do Android 5.0, vem a Android TV, que oferece suporte ao Google Cast. Este documento descreve o que você precisa fazer para configurar e testar no Android TV ao desenvolver apps do Google Cast. O aplicativo Cast existente é executado no Android TV sem esforço adicional. Se você estiver desenvolvendo um aplicativo Google Cast pela primeira vez, consulte a documentação do Google Cast e desenvolva seu app para ser executado em um dispositivo Chromecast antes de desenvolver e testar com o Android TV.

Como configurar para desenvolvimento

  1. Configurar o dispositivo Android TV:
    1. Conecte o dispositivo Android TV à rede local.
    2. Faça login na sua Conta do Google.
  2. Em Configurações, na linha Dispositivo, selecione Sobre.
  3. Role para baixo e clique em Build várias vezes até que uma caixa de diálogo apareça com a mensagem "You are now a developer" (Você agora é um desenvolvedor).
  4. Se estiver com depuração USB:
    1. Instale o cabo USB, mas não conecte a extremidade principal do cabo USB ao computador ainda.
    2. Na linha Preferences, selecione Developer Options, USB debugging e On.
  5. Volte para a tela inicial. Faça isso para aplicar as configurações que você acabou de selecionar. As configurações serão mantidas, a menos que você redefina o dispositivo para a configuração original.
  6. Registre seu dispositivo Android TV no Console para desenvolvedores do SDK do Google Cast, conforme descrito em Registro de dispositivos.

Depuração

Para testar e depurar o aplicativo receptor da Web no dispositivo Android TV, faça o seguinte:

  1. Registre seu dispositivo Android TV e seu aplicativo no Console para desenvolvedores do SDK do Google Cast. Consulte Registro para mais informações sobre como registrar dispositivos e aplicativos.
  2. Inicie o app remetente e transmita para o dispositivo Android TV.
  3. Conecte-se ao dispositivo Android TV usando o adb, conforme descrito em Usar o Android Debug Bridge.
  4. Na máquina de desenvolvimento, abra uma janela do navegador Chrome e acesse chrome://inspect.
  5. Clique no link inspect para transferir o receptor da Web para o depurador.
  6. No console do depurador remoto do Google Chrome, ative a geração de registros de depuração inserindo o seguinte:

    cast.receiver.logger.setLevelValue(cast.receiver.LoggerLevel.DEBUG);
    

Consulte Depuração para ver mais informações.

Diretrizes de compatibilidade com o Android TV

Tornar seu aplicativo Google Cast compatível com o Android TV requer muito pouco trabalho adicional. Veja algumas recomendações e armadilhas comuns que precisam ser evitadas para garantir que seu app seja compatível com o Android TV:

  • A string do user agent contém os valores "Android" e "Cwebkit". Alguns sites podem redirecionar para um site somente para dispositivos móveis porque detectam o rótulo "Android". Não presuma que "Android" na string do user agent sempre indica um usuário de dispositivo móvel.
  • A pilha de mídia do Android pode usar GZIP transparente para buscar dados. Verifique se os dados de mídia podem responder a Accept-Encoding: gzip.
  • Os eventos de mídia HTML5 do Android TV podem ser acionados em momentos diferentes do Chromecast. Isso pode revelar problemas que estavam ocultos no Chromecast.
  • Ao atualizar a mídia, use eventos relacionados a ela disparados por elementos <audio>/<video>, como timeupdate, pause e waiting. Evite usar eventos relacionados à rede, como progress, suspend e stalled, porque eles tendem a depender da plataforma.
  • Ao configurar os certificados HTTPS do site do receptor da Web, inclua certificados de CA intermediários. Consulte a página de teste de SSL da Qualsys para verificar: se o caminho de certificação confiável do seu site inclui um certificado de CA identificado como "download extra", ele pode não ser carregado em plataformas baseadas no Android.
  • Enquanto o Chromecast exibe a página do Web Receiver em um plano gráfico de 720p, outras plataformas do Google Cast, como Android TV, podem exibir a página em até 1080p. Verifique se a página do receptor da Web é dimensionada corretamente em diferentes resoluções.

Como usar o Android Debug Bridge

A plataforma Android TV é apresentada em vários tipos de dispositivos eletrônicos de consumo: televisões, conversores, consoles de jogos e assim por diante. Cada um pode ser configurado de maneira diferente. Se você estiver com dificuldades para acessar os recursos do sistema do Android TV pela interface do usuário do dispositivo, use o Android Debug Bridge (ADB) para conferir o número de série do dispositivo para registro e depurar seu app. Consulte Android Debug Bridge para saber mais.

Como usar o ADB por Wi-Fi

Para se conectar ao dispositivo por ADB com uma conexão Wi-Fi:

  1. No dispositivo Android TV, ative as opções do desenvolvedor, conforme descrito em Configurar para desenvolvimento.
  2. Verifique se o computador está conectado à mesma rede que o dispositivo Android TV.
  3. Abra um terminal e insira o seguinte:

    adb connect Android TV device IP address:4321
    
  4. No computador, abra um terminal e digite comandos do adb. Você pode verificar se a conexão está estabelecida e se o dispositivo Android TV está se comunicando pela rede com o seguinte comando:

    adb logcat

Como usar o adb com um cabo USB

Para se conectar ao dispositivo por ADB com uma conexão por cabo USB:

  1. Configure o dispositivo Android TV para desenvolvimento, conforme descrito em Configuração para desenvolvimento.
  2. Conecte a extremidade principal do cabo USB ao computador.
  3. Na caixa de diálogo Permitir a depuração USB?, selecione a opção Sempre permitir neste computador e clique em OK.
  4. No computador, abra um terminal e digite comandos do adb. Você pode verificar se a conexão está estabelecida e se o dispositivo Android TV está se comunicando pela rede com o seguinte comando:

    adb logcat

Como usar o ADB sobre TCP/IP

O adb funciona sem um cabo USB por TCP/IP, mas é necessário primeiro saber o endereço IP do dispositivo Android TV. Os dispositivos com problemas do desenvolvedor detectam conexões de porta ADB automaticamente e podem ser conectados sem inicializar a porta. Os dispositivos Android TV padrão de varejo não detectam conexões ADB automaticamente. Para esses dispositivos, primeiro é necessário se conectar ao adb com um cabo USB e inicializar a porta.

  1. Configure o dispositivo Android TV para desenvolvimento, conforme descrito em Configuração para desenvolvimento.
  2. No Android TV, na linha Dispositivo, selecione Rede > Wi-Fi e escolha a rede conectada.
  3. Selecione Informações de status e anote o Endereço IP.
  4. Se o dispositivo for um Android TV padrão de varejo, faça o seguinte:

    1. Siga as etapas em Como usar o adb com um cabo USB.
    2. Verifique se o computador está conectado à mesma rede que o dispositivo Android TV.
    3. No computador, em um terminal, inicialize a porta para TCP/IP inserindo o seguinte:

      adb tcpip 5555
    4. Remova o cabo USB e insira o seguinte no terminal:

      adb connect Android TV device IP address:5555
      
  5. Se o Android TV for um problema para desenvolvedores, faça o seguinte:

    1. Verifique se o computador está conectado à mesma rede que o dispositivo Android TV.
    2. Abra um terminal e insira o seguinte:

      adb connect Android TV device IP address:4321
      
  6. No Android TV, na caixa de diálogo Permitir a depuração USB?, selecione Sempre permitir neste computador e selecione OK. Você pode verificar se a conexão foi estabelecida e se o dispositivo Android TV está se comunicando pela rede com o seguinte comando:

    adb logcat