Como melhorar a compatibilidade do WebView

As instituições de ensino usam produtos de filtragem de conteúdo para impedir que os usuários acessem conteúdo inadequado nos Chromebooks. Há algumas maneiras de os usuários escaparem dessa sandbox de conteúdo e acessarem conteúdo que não deveriam acessar. Essas recomendações para apps Android e do Chrome ajudam os desenvolvedores a garantir que os apps funcionem bem com a filtragem de conteúdo.

Reduzir o conteúdo da Web no app

Se o app usa WebViews para permitir que os estudantes façam login no seu serviço ou mostrem documentação, ele pode permitir que os estudantes naveguem na Web sem as proteções de filtragem de conteúdo fornecidas pelas escolas. Alguns dos produtos de filtragem de conteúdo mais usados pelas escolas em Chromebooks são implantados como extensões do Chrome, que só podem ver o tráfego nas guias do navegador. Como o conteúdo da Web é imprevisível, os estudantes podem acessar links na WebView para navegar livremente na Web, sem proteções de filtragem de conteúdo.

Ao reduzir a quantidade de conteúdo baseado em navegador mostrado no aplicativo, você diminui a probabilidade de conteúdo indesejado ficar acessível nele. Se isso não for possível, verifique se o WebView só veicula o conteúdo desejado e não tem links para um mecanismo de pesquisa ou para a Web aberta.

Restringir conteúdo nas WebViews

Se o app exigir um WebView, verifique se o conteúdo dele não pode sair do aplicativo e navegar para conteúdo que não é de sua propriedade ou controle. Para isso, modifique o cliente WebView para substituir o carregamento de determinados URLs por uma lista de permissões no Android ou analise manualmente seu site e valide se os links não direcionam para conteúdo de terceiros que você não pode controlar, já que isso pode permitir que os usuários acessem conteúdo inadequado. Para apps do Chrome, use a WebRequestEventInterface para modificar solicitações e validar se elas podem navegar até sua lista de sites permitidos.

Abrir sites externos no navegador

Você pode reduzir o risco de os usuários burlarem a filtragem de conteúdo se abrir o conteúdo da Web nos navegadores integrados dos dispositivos.

Em apps Android, considere usar guias personalizadas do Chrome em vez de WebViews. No Android, a guia personalizada abre uma guia do navegador com um tema semelhante ao do seu aplicativo. No ChromeOS, isso vai iniciar o navegador normal e permitir que os usuários naveguem na página normalmente. Como é o navegador normal, as políticas do navegador podem ser aplicadas ao conteúdo acessado pelos estudantes. Para a maioria das organizações educacionais, isso significa que o conteúdo exibido ficaria visível para as extensões de filtragem de conteúdo em execução no navegador. Isso é especialmente útil para provedores de identidade terceirizados que dependem da implementação do OAuth em uma WebView.

Nos apps do Chrome, os links para conteúdo que não é seu precisam ser abertos em uma nova guia, e não no WebView em execução. Para abrir uma nova guia no seu app do Chrome, modifique as tags de âncora para definir o atributo target como _blank, o que permite que o link seja aberto em uma nova guia.

<a href=”https://google.com” target=”_blank”>External Site</a>

Observação:se você precisar usar uma WebView em um app Chrome para autenticação de logon único, verifique se o provedor de identidade escolhido abre novos links em novas guias usando o atributo de destino _blank mencionado acima ou não vincula nenhum conteúdo que permita escapar para um mecanismo de pesquisa ou outro conteúdo que possa dar acesso amplo à Internet.

Usar o Login do Google

Se o aplicativo usar apenas o Login do Google, não use uma WebView para fazer login. Em vez disso, no Android, faça o processamento com o fluxo de inscrição e login com um toque. Se você estiver usando apps do Chrome, continue usando a API chrome.identity. Os links nesse fluxo de login começam no navegador em vez de uma WebView incorporada, que pode não ter os mesmos controles de filtragem aplicados.