Recursos do dispositivo
Chromecast / Smart TV
Transmita conteúdo da web para a TV via ponte JS
1O que é o suporte a Chromecast?#
O suporte a Chromecast permite que os usuários transmitam vídeo/áudio do seu app para uma TV ou tela inteligente. O app oferece uma ponte JavaScript que seu site pode chamar para iniciar a transmissão.
Perfeito para:
- Sites de streaming de vídeo
- Plataformas de música
- Galerias de fotos
- Ferramentas de apresentação
- Apps de controle de sinalização digital
2Como funciona#
O app gerado injeta uma ponte JavaScript (window.WebToApk) na sua WebView. Seu site pode chamar essa ponte para acionar a transmissão nativa do Android.
Fluxo:
- O usuário toca em um botão 'Transmitir' no seu site
- Seu JS chama
window.WebToApk.castMedia(url) - O Android abre o seletor nativo de compartilhamento/transmissão de mídia
- O usuário seleciona o dispositivo Chromecast
- A mídia toca na TV
3Adicione um botão de transmissão ao seu site#
Adicione ao seu site um botão de transmitir que chama a ponte JS:
<!-- Add a Cast button -->
<button id="castBtn" onclick="castToTV()">
📺 Cast to TV
</button>
<script>
function castToTV() {
var videoUrl = document.querySelector('video')?.src
|| 'https://yoursite.com/video.mp4';
if (window.WebToApk && window.WebToApk.castMedia) {
window.WebToApk.castMedia(videoUrl);
} else {
alert('Casting is only available in the app');
}
}
</script>4Tipos de mídia compatíveis#
A ponte de transmissão é compatível com estes tipos de mídia:
✅ URLs diretas de vídeo (MP4, WebM)
✅ URLs de áudio (MP3, AAC, OGG)
✅ Streams HLS (.m3u8)
✅ Streams DASH (.mpd)
⚠️ Conteúdo protegido por DRM exige configuração adicional do app receptor do Chromecast
⚠️ Páginas web (HTML) não podem ser transmitidas diretamente - apenas URLs de mídia
5Detectar o ambiente do app#
Seu site pode detectar se está rodando dentro do app gerado para mostrar/ocultar o botão de transmitir:
// Check if running inside WebToApk app
if (window.WebToApk) {
// Running in the app — show cast button
document.getElementById('castBtn')
.style.display = 'block';
} else {
// Running in a browser — hide cast button
document.getElementById('castBtn')
.style.display = 'none';
}6Alternativa para o navegador#
Se seu site também for acessado de um navegador comum, o objeto window.WebToApk não existirá. Sempre verifique antes de chamar:
✅ Use detecção de recurso: if (window.WebToApk)
✅ Mostre uma mensagem alternativa para usuários de navegador
✅ Considere exibir um banner 'Baixe nosso app para transmitir'