A partir do Android 11 Beta 2, o sistema oferece compatibilidade com um subconjunto de recursos descritos por RFC7710bis e pela API Captive Portal associada (links em inglês).
A API oferece uma maneira confiável para os pontos de acesso se identificarem como portais cativos. Ela também permite novos casos de uso para que os pontos de acesso publiquem informações aos usuários, como informações de sessão e local.
Detecção melhorada de portal cativo
Desde o Android 5.0 (nível da API 21), os dispositivos Android detectavam portais cativos
e notificavam o usuário que ele precisava fazer login na rede para acessar a
Internet. Os portais cativos eram detectados usando sondagens HTTP de texto simples para destinos conhecidos
(como connectivitycheck.gstatic.com
). Se a sondagem
recebesse um redirecionamento HTTP, o dispositivo presumia que a rede era um portal
cativo. Essa técnica pode não ser confiável porque não há um URL padrão para
sondagem, e essas sondagens podem ser acidentalmente permitidas ou bloqueadas (em vez de
serem redirecionadas) por redes de portais cativos. A API permite que os portais forneçam um
sinal positivo de que o login é necessário e um URL no qual fazer login.
O Android 11 é compatível com a opção DHCP 114 como descrito em RFC7710bis. Poderemos adicionar compatibilidade com a opção de publicidade do roteador em uma atualização futura. Se o dispositivo receber um URL da API Captive Portal por meio dessa opção durante o handshake do DHCP, os dispositivos buscarão o conteúdo da API imediatamente após a conexão e solicitarão que os usuários façam login se a rede for cativa, conforme a API Captive Portal.
Se a API não estiver disponível ou se nenhum portal for anunciado, o sistema continuará a detectar portais e verificar a conectividade com a Internet usando sondagens HTTP/HTTPS, como antes.
Informações publicadas no local
O Android 11 é compatível com o venue-info-url
definido na API Captive Portal. Esse URL permite que os usuários recebam informações específicas do contexto sobre
o local do ponto de acesso no navegador. Por padrão, os usuários podem abrir esse URL se
usando uma notificação após o login ou nas configurações
de rede.
Figura 1. Se a rede fornecer um URL de local, o sistema exibirá um aviso
permitindo que o usuário acesse essa página.
Figura 2. Botão para abrir o site na tela "Detalhes da rede".
Casos de uso futuros
Embora no lançamento o Android 11 seja compatível apenas com um conjunto básico de recursos da API Captive Portal, novos recursos podem ser enviados aos dispositivos por meio das atualizações do sistema do Google Play após o lançamento. Incentivamos que os operadores de rede implementem a API Captive Portal, tendo em mente possíveis melhorias futuras:
- O tempo da sessão (
seconds-remaining
) é usado atualmente no app Configurações padrão para informar os usuários por quanto tempo podem continuar conectados ao portal. A capacidade de estender a sessão por meio do URL de login (can-extend-session
) também pode ser expressa por meio da API para permitir que o sistema avise o usuário sobre sessões expiradas ou que vão expirar em breve. - Os limites de dados (
bytes-remaining
) podem ser anunciados pela API para permitir que os usuários acompanhem os dados restantes.