O documento discute o desenvolvimento de aplicativos para Chromecast, cobrindo três pontos principais: 1) A arquitetura do aplicativo Sender e Receiver, onde o Sender envia instruções para o Receiver na TV; 2) Detalhes do workflow entre Sender e Receiver, incluindo descoberta, conexão e envio de mídia; 3) Exemplos de aplicativos customizados para diferentes casos de uso.
18. Workflow em detalhes
• Descoberta do Chromecast.
• (Re)Conexão com o Chromecast: sessionID.
19. Workflow em detalhes
• Descoberta do Chromecast.
• (Re)Conexão com o Chromecast: sessionID.
• Envio do Application ID ao Chromecast.
20. Workflow em detalhes
• Descoberta do Chromecast.
• (Re)Conexão com o Chromecast: sessionID.
• Envio do Application ID ao Chromecast.
• Chromecast acessa a URL do Application ID: Receiver App no ar!!
21. Workflow em detalhes
• Descoberta do Chromecast.
• (Re)Conexão com o Chromecast: sessionID.
• Envio do Application ID ao Chromecast.
• Chromecast acessa a URL do Application ID: Receiver App no ar!!
• Sender envia a URL para o vídeo (media channel) e/ou…
22. Workflow em detalhes
• Descoberta do Chromecast.
• (Re)Conexão com o Chromecast: sessionID.
• Envio do Application ID ao Chromecast.
• Chromecast acessa a URL do Application ID: Receiver App no ar!!
• Sender envia a URL para o vídeo (media channel) e/ou…
• Envia texto (custom channel).
23. Workflow em detalhes
• Descoberta do Chromecast.
• (Re)Conexão com o Chromecast: sessionID.
• Envio do Application ID ao Chromecast.
• Chromecast acessa a URL do Application ID: Receiver App no ar!!
• Sender envia a URL para o vídeo (media channel) e/ou…
• Envia texto (custom channel).
• Callbacks, callbacks, callbacks, callbacks…
26. Por dentro do Chromecast
• Chrome Browser.
• HTML5, CSS 3, JavaScript.
27. Por dentro do Chromecast
• Chrome Browser.
• HTML5, CSS 3, JavaScript.
• Limitações de memória e CPU.
28. Por dentro do Chromecast
• Chrome Browser.
• HTML5, CSS 3, JavaScript.
• Limitações de memória e CPU.
• Sem WebGL ou Chrome Extensions.
29. Por dentro do Chromecast
• Chrome Browser.
• HTML5, CSS 3, JavaScript.
• Limitações de memória e CPU.
• Sem WebGL ou Chrome Extensions.
• Nada de Tabs, janelas, popups ou inputs.
30. Por dentro do Chromecast
• Chrome Browser.
• HTML5, CSS 3, JavaScript.
• Limitações de memória e CPU.
• Sem WebGL ou Chrome Extensions.
• Nada de Tabs, janelas, popups ou inputs.
• Suporte à WebAudio API.
31. Por dentro do Chromecast
• Chrome Browser.
• HTML5, CSS 3, JavaScript.
• Limitações de memória e CPU.
• Sem WebGL ou Chrome Extensions.
• Nada de Tabs, janelas, popups ou inputs.
• Suporte à WebAudio API.
• Uma tag <video> ativa por vez.
48. Exemplo 1
• Custom Receiver para exibir propaganda e notificações no
telefone.
49. Exemplo 1
• Custom Receiver para exibir propaganda e notificações no
telefone.
• Envia URL do vídeo pelo Media Channel.
50. Exemplo 1
• Custom Receiver para exibir propaganda e notificações no
telefone.
• Envia URL do vídeo pelo Media Channel.
• Envia texto pelo Custom Channel com as notificações.
51. Exemplo 1
• Custom Receiver para exibir propaganda e notificações no
telefone.
• Envia URL do vídeo pelo Media Channel.
• Envia texto pelo Custom Channel com as notificações.
• No Receiver exibe propagandas.
58. Exemplo 2
• Custom Receiver para exibir um gráfico.
59. Exemplo 2
• Custom Receiver para exibir um gráfico.
• www.flotcharts.org
60. Exemplo 2
• Custom Receiver para exibir um gráfico.
• www.flotcharts.org
• A página do Custom Receiver quando acessada pelo Chromecast
é um Receiver.
61. Exemplo 2
• Custom Receiver para exibir um gráfico.
• www.flotcharts.org
• A página do Custom Receiver quando acessada pelo Chromecast
é um Receiver.
• A página do Custom Receiver quando acessada pelo Browser é
uma aplicação Web.
70. Mirror e Presentation
• Transmissão de Tela (Mirroring).
• Presentation API: API Level 17, Android 4.2+:
71. Mirror e Presentation
• Transmissão de Tela (Mirroring).
• Presentation API: API Level 17, Android 4.2+:
• Em modo Mirror renderizar um Layout na TV (não há
receiver).
72. Mirror e Presentation
• Transmissão de Tela (Mirroring).
• Presentation API: API Level 17, Android 4.2+:
• Em modo Mirror renderizar um Layout na TV (não há
receiver).
• Wireless Display.
73. Mirror e Presentation
• Transmissão de Tela (Mirroring).
• Presentation API: API Level 17, Android 4.2+:
• Em modo Mirror renderizar um Layout na TV (não há
receiver).
• Wireless Display.
• Suporta Miracast.
74. Mirror e Presentation
• Transmissão de Tela (Mirroring).
• Presentation API: API Level 17, Android 4.2+:
• Em modo Mirror renderizar um Layout na TV (não há
receiver).
• Wireless Display.
• Suporta Miracast.
• E Chromecast :)
75. Mirror e Presentation
• Transmissão de Tela (Mirroring).
• Presentation API: API Level 17, Android 4.2+:
• Em modo Mirror renderizar um Layout na TV (não há
receiver).
• Wireless Display.
• Suporta Miracast.
• E Chromecast :)
• Plugin do Chromecast para Chrome: espelha aba e tela.
95. FAQ
• Sender/Receiver: HTTPS.
• URL do Receiver: HTTP em desenvolvimento, HTTPS em produção.
96. FAQ
• Sender/Receiver: HTTPS.
• URL do Receiver: HTTP em desenvolvimento, HTTPS em produção.
• Múltiplas conexões ao receiver.
97. FAQ
• Sender/Receiver: HTTPS.
• URL do Receiver: HTTP em desenvolvimento, HTTPS em produção.
• Múltiplas conexões ao receiver.
• Segurança: é preciso implementar os mecanismos.
98. FAQ
• Sender/Receiver: HTTPS.
• URL do Receiver: HTTP em desenvolvimento, HTTPS em produção.
• Múltiplas conexões ao receiver.
• Segurança: é preciso implementar os mecanismos.
• Media Player Library (Beta): Live Streaming, MPEG-DASH, Smooth
Streaming, DRM, etc..
99. FAQ
• Sender/Receiver: HTTPS.
• URL do Receiver: HTTP em desenvolvimento, HTTPS em produção.
• Múltiplas conexões ao receiver.
• Segurança: é preciso implementar os mecanismos.
• Media Player Library (Beta): Live Streaming, MPEG-DASH, Smooth
Streaming, DRM, etc..
• CORS.
100. FAQ
• Sender/Receiver: HTTPS.
• URL do Receiver: HTTP em desenvolvimento, HTTPS em produção.
• Múltiplas conexões ao receiver.
• Segurança: é preciso implementar os mecanismos.
• Media Player Library (Beta): Live Streaming, MPEG-DASH, Smooth
Streaming, DRM, etc..
• CORS.
• Não esqueçam do iOS :)
106. Seu App na TV: Desenvolvimento
para ChromeCast
Obrigado!!
Cast your questions :)
Ivan de Aguirre
!
ivan.aguirre@gmail.com
!
Twitter: IvAguirre
!
G+: plus.google.com/+IvanAguirreBr