Dispositivos
O separador Dispositivos lista todos os ecrãs vinculados à sua empresa.
Colunas da lista
| Coluna | Significado |
|---|---|
| Estado | Ícone verde / vermelho consoante o agente tenha feito heartbeat recentemente |
| Nome / ID | Dispositivo_UTILIZADOR_RDSXXXX e o seu código RDSXXXX curto |
| Empresa / sucursal | A quem pertence e onde está |
| Estado playlist | "A descarregar", "Descarga concluída", "A reproduzir", "Não iniciada" (com tooltip ao passar o rato) |
| Último batimento | Última vez que o agente comunicou com o servidor |
| Cobertura | Qualidade da ligação reportada pelo agente (se aplicável) |
| Ações | Menu pendente com operações |
Filtros
Por empresa, sucursal, data ou texto livre (procura por nome, RDSXXXX, localização, departamento). Os filtros mantêm-se enquanto navega.
Menu "Ações"
Em cada linha tem dois menus pendentes:
Ações (utilizador)
- Editar kiosk — modo Web/Playlist, URL inicial, whitelist, palavra-passe admin. Detalhe.
- Enviar mensagem ao suporte — envia uma incidência.
- Logs — mostra os últimos logs do agente. Útil para diagnóstico.
- Captura de ecrã — pede ao dispositivo uma captura JPEG do que está a mostrar. Abre um diálogo com um spinner; em ≤ 60 s a imagem aparece dentro do próprio diálogo e fica guardada na ficha do dispositivo. Se o dispositivo estiver desligado, o pedido fica pendente e é enviado assim que volte a estar online. Detalhe.
- Editar — nome, localização, empresa/sucursal, observações.
- Desbloquear token — só aparece se o token de comunicação tiver sido bloqueado por tentativas repetidas falhadas.
- Eliminar — apaga o dispositivo do plano (liberta o lugar).
Admin (apenas Promotienda)
Ações internas de suporte: ativar/desativar manualmente, retirar, ligar, atender incidência, etc.
Adicionar um dispositivo
Botão "+ Adicionar" no canto superior direito.
- Se o seu plano tem lugares livres, o dispositivo é criado de imediato sem custo.
- Se não tiver lugares livres, o sistema pede para ampliar o plano: pague o valor proporcional com o cartão e são criados tanto os lugares novos como os dispositivos.
- Receberá um email de confirmação com a lista de IDs criados e, se houve pagamento, a fatura PDF em anexo.
Importante: o dispositivo recém-criado existe apenas no painel. Para reproduzir conteúdo é necessário instalar o agente no hardware e emparelhá-lo com o ID atribuído. Se comprou o dispositivo à Promotienda isto já vem feito.
Comprar um dispositivo
Botão "Comprar dispositivo". Abre o catálogo com a opção de envio direto para a sua loja com a playlist e o WiFi pré-configurados. Inclui 1 ano de licença RDS grátis.
Estado de envio
Quando compra dispositivos pelo catálogo, durante o tempo em que demoram a ser enviados aparecem com um "Aguarda envio" e as ações do utilizador estão desativadas. A Promotienda marca-os como enviados quando saem do armazém — nessa altura as ações são reativadas e recebe um email de aviso.
Informação do dispositivo na ficha
Ao passar o rato sobre um dispositivo abre-se uma ficha com os seus dados em tempo real. As linhas relevantes:
| Linha | Significado |
|---|---|
| IP | Última IP pública vista pelo servidor |
| Versão | Versão do agente instalada (badge EOL se estiver abaixo do mínimo suportado: 2.0.0 em Android, 1.0.0 em Linux) |
| Cobertura | Qualidade da ligação reportada pelo agente |
| Modelo | Modelo de hardware. Android: Build.DEVICE (ex.: emu64xa, RMX2061). Linux: nome DMI (VirtualBox, ThinkPad X1, etc.) |
| Android | Versão do Android (apenas agentes Android) |
| OS | Distribuição e versão do sistema operativo (apenas agentes Linux, lido de /etc/os-release. Ex.: Debian GNU/Linux 13 (trixie)) |
| Uptime | Tempo desde o último arranque. Útil para detetar reinícios inesperados |
| Último batimento | Hora do último heartbeat recebido |
O agente Android usa
SystemClock.elapsedRealtime()(inclui tempo em deep-sleep). O agente Linux lê/proc/uptime.
Capturas de ecrã
A partir de Ações → Captura de ecrã pode pedir ao dispositivo uma imagem JPEG do que está a mostrar no ecrã naquele momento. Funciona em Android e Linux.
Como funciona
- Ao carregar na opção abre-se um diálogo modal com um spinner e a mensagem "Captura solicitada. A aguardar pelo dispositivo…". O contador a cinzento mostra os segundos decorridos.
- O servidor marca o pedido (
screenshot_pending=1) e injeta-o como flag na próxima resposta de heartbeat ao agente (≤ 60 s). - O agente:
- Linux captura com
scroto ecrã:0(tudo o que se vê, incluindo o navegador WebKit do modo kiosk ou o leitor de playlist). - Android captura com
PixelCopya janela da Activity em primeiro plano (PlayerActivityouKioskBrowserActivity). Isso inclui o conteúdo WebView/Surface acelerado por GPU.
- Linux captura com
- O JPEG (qualidade 70, ~150–400 KB típico) é assinado com HMAC-SHA256 v2 e enviado a
/suport/upload_screenshot.phppor POST. - O servidor verifica a assinatura, guarda a imagem como
/screenshots/<num_serie_gprs>.jpg(sempre uma única imagem por dispositivo, é sobrescrita), limpa o flag e marca a horascreenshot_at. - O diálogo, que estava a fazer polling a cada 4 s, deteta a nova imagem e substitui-a por uma pré-visualização clicável (abre a imagem original num separador à parte).
Tempos e novas tentativas
- Em condições normais, a imagem aparece em 5–60 s.
- Se o dispositivo estiver desligado, sem rede, ou o agente parado, o diálogo expira aos 120 s e mostra: "O dispositivo não respondeu a tempo. O pedido fica pendente — se voltar a ficar online a imagem será enviada igualmente." O pedido não é cancelado: assim que o agente voltar a fazer heartbeat, recolhe o flag e envia a imagem. Só tem de atualizar a ficha do dispositivo para a ver.
- No Android, só se captura enquanto a Activity do kiosk está em primeiro plano (
onResume). Se o dispositivo estiver bloqueado ou a mostrar outra app, a captura aguarda o próximo regresso ao kiosk.
Privacidade e permissões
- Apenas utilizadores com permissão Gestão > Ecrãs > Modificar (ou Admin > Ecrãs > Criar) podem solicitar capturas.
- A imagem é servida apenas através do painel e fica associada ao
num_serie_gprsdo dispositivo. Não existe endpoint público para listá-las. - Cada nova captura sobrescreve a anterior — só fica guardada a mais recente.
Ver a imagem mais tarde
Se fechar o diálogo, a última captura continua acessível:
- Na ficha do dispositivo (clique no nome ou no ID) existe uma secção "Captura de ecrã" com a imagem e a data/hora em que foi tirada.