Table of Contents

Mensagens de UI

Há três tipos de mensagens durante a execução do EasyAR Sense Unity Plugin.

  • Exceções de runtime, incluindo Sense Error, Session Error, Error e Warning
  • Session Dump
  • Exceções especiais de desenvolvimento do EasyAR Mega

Você pode ajustar conforme necessário o modo de saída dos dois primeiros tipos de mensagens. É possível configurar no editor pelo componente DiagnosticsController na session, ou configurar em scripts usando a interface DiagnosticsController.MessageOutput.

diagnostics ui messages

Dica

Na versão 4000, se a cena tiver sido criada por uma versão antiga do plugin, DiagnosticsController será adicionado automaticamente à session ao abrir a cena. Em algumas versões do Unity isso pode não ser adicionado automaticamente; nessas versões do Unity, DiagnosticsController será criado automaticamente em runtime com valores padrão.

Exceções de runtime

Quando o plugin está em execução, às vezes alguns problemas encontrados por componentes internos aparecem no sistema como mensagens. Algumas mensagens podem ser falhas graves que impedem a continuação do uso, algumas podem ter sido acionadas intencionalmente, e outras podem ser causadas por dispositivos não suportados. Por gravidade, da maior para a menor, elas são divididas nas seguintes categorias:

  • SenseError: erro do EasyAR Sense, geralmente relacionado à license do EasyAR Sense.
  • SessionError: erro de ARSession, geralmente relacionado ao fato de o dispositivo não suportar algumas funções ou a uma configuração incorreta.
  • Error: outras informações de erro
  • Warning: informações de aviso

Devido às particularidades do desenvolvimento em Unity, por padrão exibimos essas mensagens na UI para auxiliar o desenvolvimento.

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

  • UIAndLog: saída para UI e log. Em um headset, é exibido a 5 metros à frente dos olhos.
  • Log: saída para o log do sistema.
Dica
  • Recomenda-se usar a configuração padrão UIAndLog nas etapas de desenvolvimento e teste.
  • Recomenda-se alterar a opção para Log ao publicar. Também é possível manter UIAndLog, mas essas mensagens de UI geralmente não são amigáveis para usuários finais.
  • Recomenda-se verificar a disponibilidade da session e o suporte do dispositivo antes de executar, e fornecer indicações razoáveis para dispositivos não suportados.

Sense Error

Sense Error é um tipo especial de erro. Quando esse erro aparece, as funções EasyAR não podem continuar sendo usadas. Causas comuns:

  • A license não foi configurada corretamente ou a verificação falhou. Esse erro pode ser recuperado reinicializando com a license correta.
  • Em alguns dispositivos, incluindo AR Foundation, AR Engine, todos os dispositivos que usam câmera personalizada ou diversos headsets, o uso de produtos de teste, como license Personal Edition, XR license de teste ou serviço Mega de teste, excede um tempo limitado fixo. Esse erro não pode ser recuperado.

Session Error

Session Error é um erro em que a ARSession atual não consegue continuar funcionando. Alterar a configuração e executar ARSession novamente pode resolver esses erros. Eles geralmente são causados por configuração incorreta, exceções lançadas durante o fluxo de inicialização que interrompem a montagem, dispositivo não suportado pela configuração atual de ARSession, ou perda de componentes de ARSession durante a execução.

Situações comuns:

  • Erro de montagem da Session: por exemplo, o dispositivo não é suportado, ou o Frame Source de um dispositivo suportado não está configurado corretamente em ARSession.
  • Erro de inicialização da Session: informações de configuração de cloud service incorretas causam erro ao criar a função de cloud service, ou as informações de configuração não foram preenchidas, incluindo serviço Mega, serviço cloud recognition, serviço SpatialMap etc.
  • Erro durante a execução da Session: componentes ARSession são destruídos externamente, RendererFeature não está configurado corretamente em ambiente URP etc.

Em geral, erros de configuração e exceções no fluxo de inicialização que interrompem a montagem devem ser evitados durante o desenvolvimento. Dispositivos não suportados aparecem principalmente em funções que exigem capacidade de motion tracking. Consulte Motion tracking e funções EasyAR para entender quais funções exigem atenção ao suporte do dispositivo, e escolha dispositivos adequados para depuração durante o desenvolvimento.

Session Dump

A mensagem SessionDump mostra o estado de execução de ARSession coletado durante a execução do plugin, incluindo alguns estados principais de cada componente. Essas informações de estado ajudam muito a compreender a execução do EasyAR e analisar problemas.

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

  • UI: exibido na UI e atualizado a cada frame. Em um headset, é exibido a 5 metros à frente dos olhos.
  • Log: saída para o log do sistema. Como há saída a cada frame, isso afeta o desempenho de execução; recomenda-se usar durante desenvolvimento ou teste.
  • None: sem saída.
Dica
  • Recomenda-se usar a configuração padrão UI nas etapas de desenvolvimento e teste. As informações exibidas acima são indispensáveis para se comunicar com a equipe EasyAR.
  • Recomenda-se alterar para None após a publicação oficial, mantendo um switch de software para ativar UI, ou coletando dados por outros sistemas. Ao enviar feedback de problema para a EasyAR, a EasyAR solicitará essas informações a você ou a seus usuários para avaliar o estado de execução do aplicativo.
  • Na maioria dos casos, se o aplicativo apresentar problemas após ficar online, o lado do aplicativo ainda precisa primeiro investigar e analisar o problema. Problemas relatados depois de excluir problemas do aplicativo e obter informações suficientes podem ser resolvidos melhor. Há muitos SDKs e plataformas de terceiros para coleta e análise de logs, e recomenda-se usá-los antes da publicação. Se você não tiver experiência ou recursos para usar essas plataformas, manter um switch para ativar UI, como um switch oculto, para que o usuário relate as informações vistas será relativamente simples.

Exceções especiais de desenvolvimento do EasyAR Mega

No desenvolvimento Mega, há também um tipo de mensagem de aviso que não pode ser controlado. Essas mensagens serão exibidas na UI quando condições específicas de configuração forem satisfeitas, e o desenvolvedor não pode fechá-las diretamente.

Recomenda-se prestar atenção à própria mensagem, pois o texto explica claramente 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 de forma razoável conforme o progresso do desenvolvimento.

Essas mensagens são exibidas intencionalmente, porque em condições específicas de uso essas funções ajudam no desenvolvimento do fluxo de conteúdo, mas ao mesmo tempo não conseguem obter resultados de execução razoáveis. Tome cuidado para não publicar com essas mensagens.

Tópicos relacionados