Table of Contents

Ui mensagens

O plugin Unity do EasyAR Sense tem três tipos de mensagens durante a execução.

  • Exceções de execução, incluindo Sense Error, Session Error, Error, Warning
  • Session Dump
  • Exceções especiais de desenvolvimento do EasyAR Mega

Você pode ajustar o método de saída das duas primeiras categorias conforme necessário. Pode ser configurado no editor através do componente DiagnosticsController na sessão, ou usando a interface DiagnosticsController.MessageOutput em scripts.

diagnostics ui messages

Dica

Na versão 4000, se uma cena for criada por uma versão antiga do plugin, o DiagnosticsController será adicionado automaticamente à sessão quando a cena for aberta. Em algumas versões do Unity, isso pode não ocorrer automaticamente. Nessas versões, o DiagnosticsController será criado em tempo de execução com valores padrão.

Exceções de execução

Durante a execução do plugin, problemas detectados por componentes internos são exibidos como mensagens no sistema. Essas mensagens podem ser falhas graves que impedem a continuidade do uso, podem ser intencionalmente acionadas, podem indicar dispositivos não suportados, etc., e são classificadas por nível de gravidade (do mais alto para o mais baixo) da seguinte forma:

  • SenseError: Erro do EasyAR Sense, geralmente relacionado à licença do EasyAR Sense.
  • SessionError: Erro do ARSession, geralmente relacionado à falta de suporte do dispositivo a determinados recursos ou configuração incorreta.
  • Error: Outras informações de erro
  • Warning: Informações de aviso

Devido à natureza do desenvolvimento Unity, essas mensagens são exibidas por padrão na UI para auxiliar no desenvolvimento.

Você pode controlar como essas mensagens são exibidas no editor ou em scripts. Os modos de saída disponíveis são:

  • UIAndLog: Saída para UI e log. Em head-mounted, exibe a 5 metros à frente.
  • Log: Saída para o log do sistema.
Dica
  • Recomenda-se usar a configuração padrão UIAndLog durante o desenvolvimento e teste.
  • Recomenda-se alterar a opção para Log ao publicar. Você também pode manter UIAndLog, mas essas mensagens de UI geralmente não são amigáveis para usuários finais.
  • Recomenda-se verificar a disponibilidade da sessão e o suporte do dispositivo antes da execução e fornecer avisos adequados para dispositivos não suportados.

Sense Error

Sense Error é um tipo especial de erro. Quando ocorre, a funcionalidade do EasyAR não pode continuar a ser utilizada. Causas comuns:

  • Licença não configurada corretamente ou falha na validação. Este erro pode ser resolvido reinicializando com uma licença válida.
  • Uso de produto de avaliação (licença personal, licença XR trial ou serviço Mega trial, etc.) além do tempo limitado fixo em determinados dispositivos (incluindo dispositivos que usam câmera personalizada como AR Foundation, AR Engine e vários head-mounted). Este erro não pode ser recuperado.

Session Error

Session Error é um erro que impede o funcionamento do ARSession atual. Modificar a configuração e reiniciar o ARSession pode resolver esses erros. Geralmente ocorrem devido a erros de configuração, exceções lançadas durante o fluxo de inicialização interrompendo a montagem, dispositivo não suportado pela configuração atual do ARSession ou perda de componentes do ARSession durante a execução.

Casos comuns:

  • Erro de montagem da sessão: Ex: dispositivo não suportado ou Frame Source suportado não configurado corretamente no ARSession.
  • Erro de inicialização da sessão: Informações de configuração do serviço em nuvem incorretas causando erro na criação da funcionalidade, ou informações não preenchidas (incluindo serviço Mega, serviço de reconhecimento em nuvem, serviço SpatialMap).
  • Erro durante a execução da sessão: Componente do ARSession destruído externamente, RendererFeature não configurado corretamente em ambiente URP, etc.

Geralmente, erros de configuração e exceções durante o fluxo de inicialização interrompendo a montagem devem ser evitados durante o desenvolvimento. Problemas de suporte ao dispositivo ocorrem principalmente em funcionalidades que requerem capacidade de rastreamento de movimento. Consulte Rastreamento de movimento e funcionalidades do EasyAR para entender quais funcionalidades exigem atenção ao suporte do dispositivo e escolha um dispositivo adequado para depuração durante o desenvolvimento.

Session Dump

As mensagens SessionDump exibem o estado de execução do ARSession coletado pelo plugin durante o tempo de execução, incluindo alguns estados-chave dos componentes. Essas informações são úteis para entender o funcionamento do EasyAR e analisar problemas.

Você pode controlar como esses estados são exibidos no editor ou em scripts. Os modos de saída disponíveis são:

  • UI: Exibido na UI e atualizado a cada frame. Em head-mounted, exibe a 5 metros à frente.
  • Log: Saída para o log do sistema. Como é emitido a cada frame, impacta o desempenho. Recomendado apenas durante desenvolvimento ou teste.
  • None: Sem saída.
Dica
  • Recomenda-se usar a configuração padrão UI durante o desenvolvimento e teste. As informações exibidas são essenciais para comunicação com a equipe do EasyAR.
  • Recomenda-se alterar para None após o lançamento oficial, mantendo um switch para ativar o UI ou coletar dados por outro sistema. Ao reportar problemas ao EasyAR, será solicitado o fornecimento dessas informações para analisar o estado da aplicação.
  • Na maioria dos casos, se problemas ocorrerem após o lançamento, é necessário primeiro investigar e analisar o problema no lado do aplicativo. Problemas reportados com informações suficientes e após exclusão de causas no aplicativo são resolvidos com mais eficiência. Existem muitos SDKs e plataformas de terceiros para coleta e análise de logs, recomenda-se seu uso pré-lançamento. Se não houver experiência ou recursos para essas plataformas, manter um switch para ativar o UI (ex: switch oculto) para que o usuário reporte as informações vistas é uma solução simples.

Exceções especiais de desenvolvimento do EasyAR Mega

No desenvolvimento Mega, há outro tipo de mensagem de aviso não controlável. Essas mensagens são exibidas na UI quando condições específicas de configuração são atendidas, e os desenvolvedores não podem desativá-las diretamente.

Recomenda-se focar na mensagem em si, pois o texto explica a causa e o método de configuração. Os desenvolvedores precisam entender os requisitos de diferentes configurações para diferentes modos de uso e escolher adequadamente conforme o progresso do desenvolvimento.

Essas mensagens são intencionalmente exibidas. Sob condições específicas, essas funcionalidades auxiliam o desenvolvimento do fluxo de conteúdo, mas não podem produzir resultados de execução válidos. Atenção para não publicar com essas mensagens ativas.

Tópicos relacionados