As guias personalizadas do Android oferecem uma experiência de navegador completa, segura e integrada diretamente no fluxo de login de rede para portais cativos, como os encontrados em aeroportos, hotéis e aviões. Ao integrar o navegador principal do usuário ao processo de autenticação, as guias personalizadas ativam funcionalidades avançadas, incluindo o preenchimento automático com um toque para credenciais e pagamentos, streaming protegido por DRM e conectividade consistente para usuários com recursos de segurança, como VPNs e DNS particular. Para mais informações sobre as guias personalizadas, consulte Visão geral das guias personalizadas do Android.
Benefícios em relação à WebView legada
A integração do navegador principal do usuário usando guias personalizadas resolve várias limitações funcionais inerentes aos fluxos de autenticação legados baseados na WebView para operadoras de rede:
- Transações simplificadas:a interface oferece suporte ao preenchimento automático com um toque para credenciais e informações de pagamento armazenadas, reduzindo a entrada manual de dados durante o processo de login. (Consulte a Figura 1.)
- Compatibilidade de mídia:a plataforma oferece suporte a conteúdo protegido por DRM (como Widevine), permitindo a reprodução de streams de vídeo criptografados diretamente no portal. (Consulte a Figura 2.)
- Suporte a configurações de segurança:as guias personalizadas mantêm a funcionalidade do portal para dispositivos que usam VPNs ou DNS particular, recursos de segurança que geralmente fazem com que os redirecionamentos de navegador padrão falhem.
- Consistência da interface:as guias personalizadas são integradas diretamente ao navegador do sistema, fornecendo as mesmas ferramentas funcionais e elementos de interface disponíveis em uma sessão de navegador completo.
- Persistência em segundo plano:o portal permanece operacional em segundo plano, servindo como um ponto de acesso persistente durante todo o período de conexão.
Figura 1. Entrada manual (WebView) versus preenchimento automático (guias personalizadas).
Figura 2. Sem vídeo (WebView) versus reprodução de vídeo (guias personalizadas).
Fluxo de descoberta e conexão de guias personalizadas
Embora as guias personalizadas forneçam a interface, a API Captive Portal gerencia o fluxo de inteligência da descoberta à conexão:
- Descoberta:a rede anuncia o suporte à API usando a opção 114 do DHCP.
- Interação:o dispositivo Android consulta o endpoint de API para buscar um payload JSON que contém o status da rede.
- Conexão:se a resposta JSON indicar o uso de guias personalizadas, o sistema abrirá o portal em um ambiente de navegador de alta performance em vez de uma janela básica do sistema.
A API Captive Portal permite que dispositivos Android detectem se um portal cativo existe usando o campo captive. A API integra outros campos, como venue-info-url e seconds-remaining, à interface do sistema Android.
Figura 3. Fluxo de descoberta para conexão da API Captive Portal.
Ativar guias personalizadas do Android
Para oferecer suporte ao fluxo de guias personalizadas, as operadoras de rede precisam implementar a API Captive Portal e ativar a opção na configuração JSON.
Requisitos
Para ativar as guias personalizadas para login de portal cativo, é necessário:
- Dispositivo com o Android 12 e versões mais recentes que ofereça suporte a atualizações do sistema do Google Play (consulte Mainline) pelo módulo
CaptivePortalLogindo Mainline. - Suporte à API Captive Portal (RFC 8908). Para mais detalhes, consulte Oferecer suporte à API Captive Portal.
Ativar as guias personalizadas do Android
Se a rede já oferece suporte à API Captive Portal (RFC 8908), adicione o seguinte par de chave-valor ao objeto de resposta JSON atual para ativar o fluxo de guias personalizadas:
| Chave | Valor | Descrição |
|---|---|---|
x-android-use-custom-tabs |
361335020 |
Esse valor representa o número da versão do módulo Mainline de login do portal cativo lançado em janeiro de 2026. Dispositivos com uma atualização de módulo igual ou mais recente que essa versão usam o fluxo de login de guias personalizadas. |
Este objeto JSON de exemplo inclui todos os atributos de portal cativo com suporte do Android:
{
"captive": true,
"user-portal-url": "https://login.example.com",
"venue-info-url": "https://venue.example.com",
"seconds-remaining": 3600,
"x-android-use-custom-tabs": 361335020
}
Confira a seguir os atributos de portal cativo JSON disponíveis:
captive: defina comotruese a autenticação for necessária; defina comofalsese o usuário já estiver on-line.user-portal-url: o URL da página de login ou pagamento.venue-info-url: um link para seu site com informações (por exemplo, detalhes do voo ou mapas).seconds-remaining: indica o tempo restante (em segundos) que o dispositivo deve manter uma conexão com a Internet.x-android-use-custom-tabs: controla se o dispositivo usa a guia personalizada quando disponível.
Oferecer suporte à API Captive Portal
Se a rede não oferece suporte à API Captive Portal, siga estas etapas para ativar a API Captive Portal e o fluxo de guias personalizadas.
Atualize a configuração do servidor DHCP para incluir a opção 114 do DHCP.
Valor:forneça o URL HTTPS completo do arquivo JSON gerado dinamicamente que contém informações do portal cativo (por exemplo,
https://api.yourvenue.com/status).Resultado:quando um dispositivo Android entra na rede, ele consulta a API fornecida em vez de esperar um redirecionamento do navegador.
Configure o servidor de API para responder a uma solicitação HTTP GET no URL fornecido com um arquivo JSON que informa o dispositivo sobre o estado atual do portal.
Requisito de HTTPS:o servidor de API precisa usar um certificado HTTPS válido.
Fallback de segurança:se o certificado for inválido ou autoassinado, o dispositivo vai voltar ao comportamento legado do portal cativo.
Comportamento de detecção de portal cativo do Android
A API Captive Portal oferece uma alternativa confiável às sondagens de rede padrão do Android para detectar a existência de portais cativos, ignorando inconsistências comuns.
Os dispositivos Android verificam o acesso à rede enviando sondagens HTTP e HTTPS simultâneas para URLs de validação específicos. O sucesso inconsistente da sondagem (por exemplo, HTTP bem-sucedido, mas HTTPS falha) resulta em um estado de conectividade parcial , que pode impedir a exibição automática do app de login.
A API Captive Portal torna a detecção mais confiável usando o seguinte comportamento de detecção:
- Se a API informar
"captive": true, o sistema vai reconhecer que está atrás de um portal e vai pular as sondagens padrão para mostrar imediatamente a interface de login. - Se a API informar
"captive": false, o sistema vai continuar com as sondagens padrão, exigindo que as sondagens HTTP e HTTPS sejam bem-sucedidas antes de confirmar o acesso total à Internet.
Feedback
Para enviar feedback, envie um e-mail para android-cct@google.com. Podemos usar seu feedback para criar e melhorar nossos produtos e recursos para o benefício de todos.