Desempenho e segurança do WebSlate

Desempenho

Exibir e interagir com a visão geral do conteúdo da Web

Como um WebSlate é uma página da Web carregada, é importante considerar as implicações de desempenho:

  • As cenas geralmente têm desempenho a 60 fps com até 10 WebSlates ativos. A taxa de quadros e a degradação geral do desempenho podem ser observadas proporcionalmente ao número de WebSlates colocados em uma cena, independentemente do conteúdo.

  • O conteúdo é carregado e executado no WebSlate em um thread separado dos threads de atualização e renderização da cena e, portanto, é improvável que afete diretamente a taxa de quadros. No entanto, ainda é importante considerar o custo do JavaScript em execução em uma página da Web, tanto em termos de complexidade de tempo de execução quanto de uso de memória.

  • Para ajudar a economizar no desempenho, os WebSlates que estão fora da tela por mais de 30 segundos são suspensos automaticamente. Eles são retomados rapidamente ao voltar à tela, mas isso pode afetar os serviços em execução ativa na página hospedada. Se isso for um problema, os desenvolvedores podem desativar a suspensão com a caixa de seleção "Impedir suspensão" do pré-fabricado. Observe que isso pode fazer com que a cena consuma mais recursos, pois esses WebSlates permanecem ativos o tempo todo.

    WebSlate com Prevenção de Suspensão circulada

  • Como os WebSlates não têm nenhuma interface de usuário de navegação externa por padrão, a prática recomendada é carregar apenas URLs personalizados, em que a navegação do site é cíclica e pode ser feita dentro da página. Isso pode ser feito com uma barra lateral de navegação ou links para uma página de hub, por exemplo.

  • A ferramenta Content Performance Analyzer (CPA) inclui um analisador WebSlate que mede o tempo médio que o pipeline de renderização do Unity leva para renderizar WebSlates em um quadro.

    • As medidas são baseadas no gravador do criador de perfil do Unity e exigem o modo Play. O analisador move a câmera sobre cada WebSlate para coletar amostras suficientes do criador de perfil e calcula o tempo médio de renderização.

    • Isso fornece uma análise de alto nível de primeiro estágio dos tempos de renderização do WebSlate no contexto do pipeline de renderização do Unity. Ele não fornece a taxa de quadros do conteúdo do WebSlate em si.

    • Se o pipeline de renderização do Unity exceder o limite para renderizar WebSlates (atualmente 10 ms), a ferramenta CPA fornecerá um aviso.

    • As mesmas medidas também estão disponíveis para o Performance Profiler. O grupo no Criador de Perfil de Desempenho normalmente muda as cores de verde para vermelho quando a provisão de orçamento para uma categoria é ultrapassada. Por enquanto, o grupo WebSlate só aparece em verde até que um orçamento de tempo de renderização razoável seja racionalizado para WebSlates.

    Análise de desempenho do WebSlate usando a ferramenta CPA.

Restrições de segurança

  • Os WebSlates são bloqueados para os URLs para os quais navegam, evitando redirecionamentos maliciosos. Todas as navegações de hiperlink não intencionais para domínios externos são bloqueadas, a menos que explicitamente listadas como um domínio permitido (veja abaixo).

  • Os WebSlates são restritos à navegação dentro do domínio inicial ou aos redirecionamentos de URLs e servidores especificados.

  • A navegação em um WebSlate é limitada exclusivamente a HTTPS.

  • O acesso do dispositivo à webcam, microfone e geolocalização são bloqueados.

Lista de permissões de domínio do WebSlate

Para garantir a segurança contra vetores de ataque não intencionais baseados em URL, como phishing, o WebSlates, por padrão, restringe a navegação aos URLs incluídos no domínio da primeira página carregada no WebSlate. Por exemplo, um WebSlate iniciado em https://www.microsoft.com/ navegará apenas para páginas cujo URL comece com "www.microsoft.com". Embora isso garanta que os usuários não diverjam acidentalmente do fluxo de navegação pretendido, pode ser um padrão excessivamente restritivo para alguns casos de uso, como autenticação de usuário, durante os quais pode haver redirecionamentos para subdomínios ou provedores de autenticação de terceiros.

A maneira de acomodar esses casos de uso é adicionando domínios à lista de permissões do WebSlate.

Ao trabalhar com WebSlates no editor do Unity, você tem a opção de habilitar "Coletar domínios permitidos". Isso removerá a restrição de navegação de domínio para que você possa navegar livremente ao executar no modo Play para testar seu cenário. Enquanto você navega no modo Play, o WebSlate registrará os domínios que você visita em segundo plano.

A caixa de seleção Coletar domínios permitidos está ativada.

Nesse caso, estamos expandindo a navegação do microsoft.com para incluir também video2.skills-academy.com.

Depois de sair do modo Play, você encontrará um ativo chamado "WebViewAllowedDomains.asset" na pasta Assets de nível superior.

Ativo de domínios permitidos pelo WebSlate.

Clicar nesse recurso fornecerá a lista de domínios extras que você visitou além do domínio do seu URL inicial. Você pode clicar com o botão direito do mouse, copiar e colar os valores no campo "Domínios permitidos" do componente WebSlate.

Copie domínios permitidos.Cole os domínios permitidos.

Nota: Esta opção é impossível de ativar em cenas carregadas. Deixar "Coletar domínios permitidos" ativado NÃO removerá a restrição em sua cena final. No entanto, sua lista de domínios permitidos persistirá e permitirá a navegação, desde que os domínios sejam adicionados ao WebSlate.

Adicionar domínios manualmente

Se você já sabe quais domínios precisará, pode adicioná-los manualmente ao WebSlate expandindo o menu suspenso "Domínios permitidos" e adicionando seus domínios complementares à lista na GUI do Unity.

Adicionar manualmente domínios permitidos com o botão de adição

Próximas etapas