Table of Contents

Messaggi UI

Durante l'esecuzione di EasyAR Sense Unity Plugin sono presenti tre tipi di messaggi.

  • Eccezioni di runtime, incluse Sense Error, Session Error, Error e Warning
  • Session Dump
  • Eccezioni speciali di sviluppo EasyAR Mega

È possibile regolare secondo necessità il modo di output dei primi due tipi di messaggi. È possibile configurarlo nell'editor tramite il componente DiagnosticsController sulla session, oppure configurarlo negli script usando l'interfaccia DiagnosticsController.MessageOutput.

diagnostics ui messages

Consiglio

Nella versione 4000, se la scena è stata creata con una vecchia versione del plugin, DiagnosticsController viene aggiunto automaticamente alla session quando la scena viene aperta. In alcune versioni di Unity potrebbe non essere aggiunto automaticamente; in queste versioni di Unity, DiagnosticsController verrà creato automaticamente a runtime con i valori predefiniti.

Eccezioni di runtime

Quando il plugin è in esecuzione, a volte alcuni problemi rilevati dai componenti interni appaiono nel sistema sotto forma di messaggi. Alcuni messaggi possono essere guasti gravi che impediscono di continuare l'uso, altri possono essere attivati intenzionalmente, altri possono dipendere da dispositivi non supportati. In ordine di gravità decrescente, sono divisi nelle seguenti categorie:

  • SenseError: errore EasyAR Sense, solitamente relativo alla license EasyAR Sense.
  • SessionError: errore ARSession, solitamente relativo al fatto che il dispositivo non supporta alcune funzioni o a una configurazione errata.
  • Error: altre informazioni di errore
  • Warning: informazioni di avviso

A causa delle particolarità dello sviluppo Unity, per impostazione predefinita mostriamo questi messaggi nella UI per assistere lo sviluppo.

È possibile controllare nell'editor o negli script come vengono mostrati questi messaggi. Le modalità di output disponibili sono:

  • UIAndLog: output su UI e log. Su un visore, viene mostrato a 5 metri davanti agli occhi.
  • Log: output nel log di sistema.
Consiglio
  • Durante le fasi di sviluppo e test si consiglia di usare la configurazione predefinita UIAndLog.
  • Al rilascio si consiglia di cambiare l'opzione in Log. È anche possibile mantenere UIAndLog, ma questi messaggi UI in genere non sono amichevoli per gli utenti finali.
  • Prima dell'esecuzione si consiglia di verificare disponibilità della session e supporto del dispositivo e fornire indicazioni ragionevoli per i dispositivi non supportati.

Sense Error

Sense Error è un tipo speciale di errore. Quando si verifica, le funzioni EasyAR non possono più continuare a essere usate. Cause comuni:

  • La license non è configurata correttamente o la verifica non riesce. Questo errore può essere recuperato reinizializzando con una license corretta.
  • Su alcuni dispositivi, inclusi AR Foundation, AR Engine, tutti i dispositivi che usano fotocamere personalizzate o vari visori, l'uso di prodotti di prova, come license Personal Edition, XR license di prova o servizio Mega di prova, supera un tempo limitato fisso. Questo errore non può essere recuperato.

Session Error

Session Error è un errore per cui l'ARSession corrente non può continuare a funzionare. Modificare la configurazione ed eseguire nuovamente ARSession può risolvere questi errori. Di solito sono causati da configurazione errata, da un'eccezione lanciata nel flusso di avvio che interrompe l'assemblaggio, da un dispositivo non supportato dalla configurazione ARSession corrente, oppure dalla perdita di componenti ARSession durante l'esecuzione.

Situazioni comuni:

  • Errore di assemblaggio Session: ad esempio il dispositivo non è supportato, oppure il Frame Source del dispositivo supportato non è configurato correttamente in ARSession.
  • Errore di avvio Session: informazioni di configurazione del cloud service errate causano un errore nella creazione della funzione cloud service, oppure le informazioni di configurazione non sono compilate, inclusi servizio Mega, servizio cloud recognition, servizio SpatialMap e così via.
  • Errore durante l'esecuzione della Session: un componente ARSession viene distrutto dall'esterno, RendererFeature non è configurato correttamente in ambiente URP e così via.

In generale, gli errori di configurazione e le eccezioni nel flusso di avvio che interrompono l'assemblaggio dovrebbero essere evitati durante lo sviluppo. I casi di dispositivo non supportato compaiono principalmente nelle funzioni che richiedono capacità di motion tracking. Fare riferimento a Motion tracking e funzioni EasyAR per capire quali funzioni richiedono attenzione al supporto del dispositivo, e scegliere dispositivi adatti per il debug durante lo sviluppo.

Session Dump

Il messaggio SessionDump mostra lo stato operativo di ARSession raccolto durante l'esecuzione del plugin, inclusi alcuni stati chiave dei vari componenti. Queste informazioni di stato sono molto utili per comprendere il funzionamento di EasyAR e analizzare i problemi.

È possibile controllare nell'editor o negli script come vengono mostrati questi stati. Le modalità di output disponibili sono:

  • UI: mostra nella UI e aggiorna a ogni frame. Su un visore, viene mostrato a 5 metri davanti agli occhi.
  • Log: output nel log di sistema. Poiché l'output avviene a ogni frame, influisce sulle prestazioni di runtime; si consiglia di usarlo durante sviluppo o test.
  • None: nessun output.
Consiglio
  • Durante le fasi di sviluppo e test si consiglia di usare la configurazione predefinita UI. Le informazioni mostrate sopra sono indispensabili per comunicare con il personale EasyAR.
  • Dopo il lancio ufficiale si consiglia di modificare in None, mantenendo un interruttore software per attivare UI, oppure raccogliendo dati tramite altri sistemi. Quando si invia un problema a EasyAR, EasyAR richiederà queste informazioni a voi o ai vostri utenti per valutare lo stato operativo dell'applicazione.
  • Nella maggior parte dei casi, se l'applicazione presenta problemi dopo il lancio, il lato applicazione deve comunque svolgere prima l'indagine e l'analisi del problema. I problemi possono essere risolti meglio dopo aver escluso problemi dell'applicazione e ottenuto informazioni sufficienti. Esistono molti SDK e piattaforme di terze parti per raccolta e analisi dei log, e si consiglia di usarli prima del lancio. Se non si ha esperienza o risorse per usare queste piattaforme, mantenere un interruttore per attivare UI, ad esempio un interruttore nascosto, in modo che gli utenti possano segnalare le informazioni visualizzate, è relativamente semplice.

Eccezioni speciali di sviluppo EasyAR Mega

Nello sviluppo Mega esiste anche un tipo di messaggio di avviso non controllabile. Questi messaggi verranno mostrati nella UI quando sono soddisfatte specifiche condizioni di configurazione, e lo sviluppatore non può chiuderli direttamente.

Si consiglia di prestare attenzione al messaggio stesso: il testo indica chiaramente la causa e il metodo di configurazione. Gli sviluppatori devono comprendere i requisiti delle diverse configurazioni per i diversi modi d'uso e scegliere in modo ragionevole in base all'avanzamento dello sviluppo.

Questi messaggi sono mostrati intenzionalmente, perché in condizioni d'uso specifiche queste funzioni aiutano lo sviluppo del flusso dei contenuti, ma allo stesso tempo non possono ottenere risultati di runtime ragionevoli. Fare attenzione a non andare online con questi messaggi.

Argomenti correlati