Sviluppare un'app per XREAL One Pro con l'SDK per Unity

Sviluppare un'app per XREAL One Pro con l'SDK per Unity

Sintesi

Questa guida all'SDK Unity per XREAL One Pro mostra a sviluppatori e team aziendali come creare e testare un'app utilizzando XREAL SDK 3.1.0. Il primo risultato è un APK Android che si apre tramite XREAL Control Glasses su uno smartphone supportato. Inizia con l'esempio ufficiale Hello MR, quindi aggiungi un semplice pannello di istruzioni aziendali se devi mostrare i contenuti dei tuoi flussi di lavoro.

La prima build di Hello MR non richiede codice personalizzato. Un'esperienza specifica per l'azienda richiede invece lavoro di sviluppo in Unity quando i team aggiungono passaggi, controlli, flussi di dati, autenticazione o connessioni a un backend propri. XREAL One Pro è un display collegato, non un computer autonomo, quindi è lo smartphone supportato a eseguire l'app. Verifica compatibilità, autorizzazioni, gestione dei dati e gestione dei dispositivi con il tuo team tecnico interno prima di una distribuzione più ampia.

Introduzione

Il flusso di lavoro con l'SDK Unity per XREAL One Pro è un modo pratico per testare un'interfaccia aziendale a mani libere, come un elenco di attività, una vista di assistenza remota o una breve istruzione di lavoro. Consulta la pagina prodotto di XREAL One Pro su VR Expert per una panoramica del dispositivo. Questa guida si concentra sul percorso di sviluppo in Unity e sui controlli importanti prima di un progetto pilota aziendale: smartphone host supportato, plug-in XREAL corretto, autorizzazioni Android e una prima build chiara.

Requisiti dell'SDK Unity per XREAL One Pro

  • Percorso di sviluppo: XREAL SDK per Unity. Questa guida non tratta lo sviluppo nativo Android, Java o Kotlin.
  • Documentazione SDK attuale: Versione 3.1.0 al momento della verifica. Consulta le note di rilascio XREAL più recenti prima dello sviluppo o della distribuzione.
  • Versioni di Unity indicate nella guida rapida: Unity 2021.3 LTS, 2022.3 LTS o Unity 6000.0 LTS con Android Build Support.
  • Host supportato: XREAL indica Beam Pro o smartphone Android supportati; la guida rapida cita le serie flagship Samsung S24 e successive. Le note della versione 3.1.0 indicano Beam Pro e Samsung S25 come testati e compatibili.
  • Tracciamento su One Pro: Inizia con il 3DoF. XREAL SDK 3.1.0 aggiunge il 6DoF per la serie One con XREAL Eye collegato e firmware degli occhiali aggiornato.
  • Connessione allo smartphone: Lo smartphone deve disporre di uscita video USB-C DisplayPort e, separatamente, della compatibilità come host con l'SDK XREAL. La sola uscita video non dimostra il supporto dell'SDK.

Prima di aprire Unity

· Smartphone host supportato: Usa Beam Pro o uno smartphone indicato come compatibile nella documentazione SDK attuale di XREAL. Al momento la guida rapida identifica le serie flagship Samsung S24 e successive; le note di rilascio 3.1.0 indicano Beam Pro e Samsung S25 come host testati e compatibili (XREAL testa l'S24 su Android 14 e l'S25 su Android 15). Preferibilmente, evita che lo smartphone utilizzi Android 16, poiché la documentazione di XREAL riporta l'avviso “Non aggiornate i vostri dispositivi di sviluppo ad Android 16”, e disattiva Samsung DeX durante lo sviluppo.

· Unity: Installa un editor Unity LTS tra quelli indicati da XREAL con Android Build Support. Se manca, aggiungi Android Build Support da Unity Hub > Installs > (il tuo editor) > Add modules.

· Strumenti Android SDK: Installa Android SDK 12.0 (API 31) o successivo da Android Studio > More Actions > SDK Manager, oppure da Tools > SDK Manager in un progetto Android Studio aperto. Si tratta solo della toolchain di build Android per Unity, non di un flusso di lavoro per app native.

· SDK e runtime: Scarica XREAL SDK per Unity 3.1.0 dalla pagina di download per sviluppatori di XREAL. Ottieni ControlGlasses 3.1.0 dal link presente nelle note di rilascio dell'SDK 3.1.0; la pagina di download riporta ancora la vecchia build 1.1.0, che appartiene all'SDK 3.0.0. Consulta le note aggiornate sul firmware prima dei test.

· Termini dell'SDK e informativa sui dati: Prima dello sviluppo, leggi e accetta gli attuali XREAL APIs Terms. XREAL richiede agli sviluppatori di dichiarare in che modo l'SDK raccoglie e tratta i dati nell'app e consiglia di indicare XREAL SDK e di inserire un link alla relativa informativa sulla privacy. Aggiungi queste informazioni insieme alle informazioni sulla privacy e al processo di revisione della tua organizzazione.

· Cavo degli occhiali: Usa una connessione USB-C che supporti il video DisplayPort. Verifica anche che lo smartphone sia un host supportato dall'SDK, perché si tratta di un controllo separato.

Creare ed eseguire la prima app per XREAL One Pro

Passaggio 1: creare un progetto Unity per Android

· Apri Unity Hub. Seleziona Projects, quindi New project.

· Scegli un modello. Seleziona un modello 3D, inserisci un nome di progetto chiaro come `BusinessXREALPilot` e fai clic su Create project.

· Passa ad Android. Nell'editor di Unity, apri File > Build Settings oppure, in Unity 6, l'Android Build Profile. Seleziona Android e scegli Switch Platform.

Verifica: La piattaforma Android è selezionata e Unity ha completato l'importazione del progetto.

Passaggio 2: installare i pacchetti XR di Unity

· Apri il Package Manager. Nell'editor di Unity, scegli Window > Package Manager.

· Seleziona Unity Registry. Usa il menu dell'origine dei pacchetti in alto a sinistra, quindi cerca XR Interaction Toolkit.

· Installa il toolkit. Seleziona XR Interaction Toolkit (XREAL supporta le versioni 2.5.x e 3.0.x) e fai clic su Install. Apri la relativa scheda Samples e importa Starter Assets e Hands Interaction Demo; secondo le note di risoluzione dei problemi di XREAL, senza l'esempio delle mani HelloMR mostra prefab mancanti.

· Mantieni leggera la prima build. Tralascia AR Foundation. La tabella di compatibilità di XREAL indica il tracciamento dei piani, il tracciamento delle immagini, il tracciamento delle mani, la mesh di profondità e gli ancoraggi spaziali come non supportati sulla serie XREAL One, con o senza l'accessorio fotocamera; queste funzionalità richiedono Air 2 Ultra, quindi un prototipo per One Pro non può utilizzarle.

Verifica: XR Interaction Toolkit compare nel progetto e il relativo esempio Starter Assets è stato importato.

Passaggio 3: importare l'XREAL SDK per Unity

· Apri il menu dei pacchetti. Nel Package Manager, fai clic sul pulsante più e scegli Add package from tarball.

· Seleziona l'archivio dell'SDK. Individua il file `com.xreal.xr.tar.gz` scaricato e fai clic su Open.

· Importa il primo esempio. Seleziona XREAL XR Plugin nel Package Manager, apri Samples e importa Interaction Basics. Non importare l'esempio AR Features: le sue funzionalità relative a piani, immagini e ancoraggi non funzionano sulla serie One.

Verifica: XREAL XR Plugin è elencato nel Package Manager e Interaction Basics è disponibile per l'importazione.

Passaggio 4: attivare il plug-in XREAL per Android

· Apri Project Settings. Scegli Edit > Project Settings > XR Plug in Management.

· Seleziona Android. Apri la scheda Android e spunta XREAL.

· Applica le correzioni al progetto. Se compare Project Validation con degli avvisi, aprilo e fai clic su Fix All accanto alle correzioni necessarie. Attendi che Unity finisca di modificare le impostazioni.

Verifica: La scheda Android mostra XREAL attivato e le voci di convalida obbligatorie sono state corrette.

Passaggio 5: impostare il supporto dispositivo e il tracciamento per One Pro

· Apri la pagina delle impostazioni XREAL. In Project Settings, seleziona XR Plug in Management > XREAL.

· Controlla la categoria di dispositivi. In Support Devices, attiva la categoria Vision per gli occhiali XREAL One Series.

· Scegli il tracciamento. Imposta Initial Tracking Type su MODE_3DOF per gli occhiali One Pro senza XREAL Eye. Imposta MODE_6DOF solo quando XREAL Eye è collegato e il firmware degli occhiali è stato aggiornato come specificato per l'SDK 3.1.0.

· Scegli l'input per il prototipo. Imposta Initial Input Source su Controller, in modo che lo smartphone Android supportato possa fungere da controller dell'app. Il raggio del controller viene configurato nel Passaggio 11.

Verifica: Il progetto è configurato per la XREAL One Series e la modalità di tracciamento corrisponde all'hardware collegato.

Passaggio 6: impostare i valori della build Android

· Apri Player Settings. Torna a File > Build Settings o all'Android Build Profile, seleziona Player Settings, quindi apri Other Settings.

· Assegna all'app un ID univoco. Inserisci un Package Name in stile dominio inverso, ad esempio `com.companyname.workflowpilot`. Non lasciare l'ID dell'esempio in un progetto di produzione.

· Imposta l'identità dell'app. Nella stessa area di Player Settings, imposta Company Name e Product Name con i nomi della tua organizzazione e dell'app pilota. In Resolution and Presentation, imposta Default Orientation su Portrait, come mostrato nella guida rapida di XREAL.

· Imposta le opzioni grafiche. Seguendo la guida rapida di XREAL, disattiva Auto Graphics API e usa OpenGLES3.

· Imposta i livelli API Android. Imposta Minimum API Level su Android 10 o successivo e Target API Level su Automatic (highest installed). Installa Android SDK API 31 o successiva in SDK Manager. Si tratta di impostazioni distinte: gli strumenti SDK installati e la versione minima dell'app.

· Imposta l'architettura Android. In Player Settings > Other Settings > Configuration, attiva ARM64 per lo smartphone di destinazione e imposta Scripting Backend su IL2CPP quando compili per ARM64. XREAL documenta questo requisito per le build ARM64.

Verifica: Il progetto utilizza l'ID del pacchetto e le impostazioni Android richieste per la build Unity.

Passaggio 7: superare i controlli del manifest e delle autorizzazioni Android

· Usa prima il manifest generato. Unity e il pacchetto XREAL generano o uniscono le voci del manifest Android durante la build. Non creare un manifest Android personalizzato per un esempio di base, a meno che non sia richiesto da un'impostazione XREAL o da una funzionalità documentata. Il requisito da soddisfare per il manifest è che l'app finale dichiari le autorizzazioni e la configurazione necessarie alle sue funzionalità.

· Seleziona solo le autorizzazioni necessarie. In Project Settings > XR Plug in Management > XREAL, apri Android Permissions. Attiva Camera solo per una funzionalità basata sulla fotocamera, Audio solo quando l'app necessita dell'accesso all'audio e Vibration solo se l'app utilizza il feedback aptico.

· Concedi l'autorizzazione di visualizzazione in fase di esecuzione. Quando Control Glasses richiede l'autorizzazione all'avvio, consenti a Control Glasses di essere visualizzata sopra le altre app. Se hai chiuso la richiesta, apri Impostazioni Android > App > Accesso speciale per le app > Mostra sopra altre app > Control Glasses e attiva l'opzione. Le voci esatte possono variare a seconda dello smartphone.

Verifica: Il pacchetto XREAL è configurato solo per le autorizzazioni necessarie al tuo prototipo e, all'avvio, Control Glasses può essere visualizzata sopra le altre app.

Passaggio 8: aprire Hello MR e verificare la scena

· Trova l'esempio importato. Nella finestra Project di Unity, apri Assets > Samples > XREAL XR Plugin > la versione del pacchetto installata > Interaction Basics.

· Apri la scena di esempio. Fai doppio clic su `HelloMR.unity`. Se non è presente, torna a Window > Package Manager > XREAL XR Plugin > Samples e importa Interaction Basics.

· Salva la scena. Scegli File > Save. Controlla la Hierarchy e verifica che gli oggetti dell'esempio siano visibili.

Verifica: Hello MR si apre senza asset dell'esempio mancanti. Questo esempio fornisce una base di partenza senza codice personalizzato.

Passaggio 9: aggiungere un pannello di istruzioni aziendali con C# in Unity

· Decidi se aggiungere codice. Salta questo passaggio per creare la build dell'esempio Hello MR non modificato. Eseguilo se vuoi che il prototipo mostri i tuoi testi di istruzioni aziendali.

· Crea un Canvas in world space. Nella Hierarchy, fai clic con il tasto destro > UI > Canvas. Nella Hierarchy, posiziona il Canvas direttamente nella radice della scena o sotto XR Origin (non renderlo figlio diretto di Main Camera, per evitare che resti rigidamente ancorato al viso). Imposta Render Mode su World Space. In Rect Transform, imposta la posizione su X 0, Y 0, Z 1.5 (davanti al punto di partenza dell'utente), la rotazione su 0, 0, 0 e la scala su 0.001 su tutti gli assi.

· Aggiungi il testo dell'attività e dello stato. Nella Hierarchy, fai clic con il tasto destro su Canvas > UI > Text - TextMeshPro. Se Unity lo chiede, importa TMP Essentials. Rinomina il primo oggetto di testo InstructionText. Crea un secondo oggetto Text - TextMeshPro denominato StatusText. Assegna a entrambi caselle di testo leggibili, ad esempio larghezza 900, altezza 180, dimensione carattere 42. Posiziona StatusText sotto l'istruzione.

· Aggiungi un pulsante di completamento. Nella Hierarchy, fai clic con il tasto destro su Canvas > UI > Button - TextMeshPro. Rinominalo MarkCompleteButton e imposta la sua etichetta visibile su Mark complete. Se la scena non ha un EventSystem, creane uno da Hierarchy > tasto destro > UI > Event System. Crea in Assets un C# Script denominato BusinessChecklistDisplay e aprilo nel tuo editor di codice per Unity.

Verifica: La scena contiene un Canvas in world space, un oggetto di testo TextMeshPro e un nuovo file di script C#.

using TMPro; using UnityEngine; using UnityEngine.UI;

public class BusinessChecklistDisplay : MonoBehaviour { [SerializeField] private TMP_Text instructionText; [SerializeField] private TMP_Text statusText; [SerializeField] private Button completeButton;

[TextArea(2, 5)] [SerializeField] private string instruction = "Review the assigned task.\nConfirm the required item.";

private void Start() { if (instructionText == null || statusText == null || completeButton == null) { Debug.LogError("Assign the text fields and button in the Inspector.", this); return; }

instructionText.text = instruction; statusText.text = "Status: Not complete"; completeButton.onClick.AddListener(MarkComplete); }

private void MarkComplete() { statusText.text = "Status: Complete (local demo)"; completeButton.interactable = false; }

private void OnDestroy() { if (completeButton != null) completeButton.onClick.RemoveListener(MarkComplete); } }

Ambito per gli sviluppatori: Questo codice mostra le istruzioni e modifica lo stato in locale quando si seleziona il pulsante. Non salva un'attività in un sistema aziendale, non autentica un utente e non invia dati in rete. Queste funzionalità richiedono codice applicativo conforme alle API, alla gestione delle identità e all'architettura di gestione dei dati della tua organizzazione. Non inserire credenziali o dati aziendali reali nell'APK.

Passaggio 10: collegare lo script al pannello di istruzioni

· Attendi che Unity completi la compilazione. Salva lo script nell'editor di codice, torna a Unity e attendi che l'indicatore di compilazione scompaia.

· Collega lo script. Trascina `BusinessChecklistDisplay` dalla finestra Project sul Canvas nella Hierarchy.

· Assegna i campi dell'interfaccia. Seleziona il Canvas. Nell'Inspector, individua Business Checklist Display. Trascina InstructionText e StatusText dalla Hierarchy nei campi corrispondenti, quindi trascina MarkCompleteButton in Complete Button.

· Imposta i valori di esempio. Nello stesso componente dell'Inspector, sostituisci Instruction con un testo dimostrativo approvato e non riservato. Salva la scena. Dopo la selezione, il pulsante cambia StatusText in “Complete (local demo)”; non invia né memorizza un risultato aziendale reale.

Verifica: L'Inspector mostra entrambi i campi di testo e il pulsante assegnati, e il testo di stato cambia quando selezioni Mark complete nell'editor di Unity.

Passaggio 11: configurare la selezione tramite controller per l'interfaccia

· Imposta il modulo di input dell'EventSystem. Seleziona EventSystem nella Hierarchy. Rimuovi Standalone Input Module, se presente, quindi usa Add Component per aggiungere XR UI Input Module. Se è disponibile il preset di XRI Starter Assets, applica XRI Default XR UI Input Module in modo che il modulo disponga delle azioni di input previste.

· Imposta il raycaster del Canvas. Seleziona Canvas. Rimuovi Graphic Raycaster e aggiungi Tracked Device Graphic Raycaster. In questo modo un raggio XR tracciato può puntare il pulsante.

· Attiva l'interazione con l'interfaccia sul raggio del controller. In XR Origin, seleziona l'oggetto controller che contiene XR Ray Interactor. Nella sua sezione UI Interaction, attiva Interaction with UI GameObjects. Mantieni XREAL Initial Input Source impostato su Controller come nel Passaggio 5.

· Controlla il percorso del controller. L'esempio Interaction Basics dovrebbe fornire gli oggetti controller e le azioni di input. Se XR Origin non ha un XR Ray Interactor, importa l'esempio XRI Starter Assets e usa la sua configurazione XR Origin/controller prima della build.

Verifica: Nell'editor di Unity, il raggio del controller evidenzia il pulsante Mark complete e selezionandolo il testo di stato cambia. Ripeti questo test sullo smartphone supportato e sugli occhiali prima di utilizzare il flusso in un progetto pilota.

Passaggio 12 (facoltativo): collegare il completamento delle attività a un'API aziendale

Termini delle API aziendali da conoscere prima di programmare

· API REST: Un indirizzo web e un formato di richiesta concordato che consentono all'app di scambiare dati con un servizio aziendale.

· Token di accesso: Una credenziale di breve durata rilasciata dopo un accesso approvato; l'app la invia per dimostrare che l'utente è autorizzato ad agire.

· Chiave di idempotenza: Un ID di richiesta univoco che consente al server di riconoscere un nuovo tentativo ed evitare di salvare due volte lo stesso completamento.

· HTTPS: Comunicazione di rete crittografata che protegge i dati durante il transito tra lo smartphone e il server.

· Definisci prima il contratto API aziendale. Chiedi al tuo team di piattaforma l'endpoint HTTPS, i campi JSON accettati, l'origine dell'identità utente, l'emittente del token di accesso, la risposta di successo e la politica sui nuovi tentativi. L'esempio seguente invia taskId, operatorId, requestId e completedAtUtc; mappa questi campi sulla tua API aziendale prima dell'uso. Usa ID opachi approvati dalla tua organizzazione, non nomi o dati sensibili.

· Attiva l'accesso alla rete per questa build. Per la versione dell'app con API, apri Edit > Project Settings > Player > Android > Other Settings > Configuration e imposta Internet Access su Require. Ricompila e controlla il manifest unito per verificare che sia presente android.permission.INTERNET. Questa autorizzazione non mostra alcuna richiesta Android.

· Aggiungi uno script di connessione. In Unity, crea `BusinessTaskApi.cs`, incolla entrambi i blocchi di codice consecutivi nello stesso file, nell'ordine, e salvalo. Il secondo blocco prosegue all'interno di SubmitCompletion. L'endpoint è un segnaposto: sostituiscilo con l'endpoint aziendale approvato. Tieni il token di accesso fuori dall'Inspector, dal codice sorgente, dall'APK e dai log.

using System; using System.Collections; using System.Text; using UnityEngine; using UnityEngine.Networking;

[Serializable] public class TaskCompletionPayload { public string taskId; public string operatorId; public string requestId; public string completedAtUtc; }

public class BusinessTaskApi : MonoBehaviour { [SerializeField] private string completionEndpoint = "https://api.example.com/v1/task-completions";

public IEnumerator SubmitCompletion( string taskId, string operatorId, string accessToken, string requestId, Action<bool, string> onComplete) { if (string.IsNullOrWhiteSpace(taskId) || string.IsNullOrWhiteSpace(operatorId) || string.IsNullOrWhiteSpace(accessToken) || string.IsNullOrWhiteSpace(requestId)) { onComplete?.Invoke(false, "Missing task, user, token, or request ID."); yield break; }

if (!Uri.TryCreate(completionEndpoint, UriKind.Absolute, out Uri endpoint) || endpoint.Scheme != Uri.UriSchemeHttps) { onComplete?.Invoke(false, "Use the approved HTTPS API endpoint."); yield break; }

var payload = new TaskCompletionPayload { taskId = taskId, operatorId = operatorId, requestId = requestId, completedAtUtc = DateTime.UtcNow.ToString("o") }; byte[] body = Encoding.UTF8.GetBytes(JsonUtility.ToJson(payload));

using (var request = new UnityWebRequest(completionEndpoint, "POST")) { request.uploadHandler = new UploadHandlerRaw(body); request.downloadHandler = new DownloadHandlerBuffer(); request.timeout = 20; request.SetRequestHeader("Content-Type", "application/json"); request.SetRequestHeader("Authorization", "Bearer " + accessToken); request.SetRequestHeader("Idempotency-Key", requestId);

yield return request.SendWebRequest();

bool accepted = request.result == UnityWebRequest.Result.Success && request.responseCode >= 200 && request.responseCode < 300; string message = accepted ? "Completion accepted by the business system." : "Request failed (HTTP " + request.responseCode + "). " + request.error; onComplete?.Invoke(accepted, message); } } }

· Richiama il connettore dal pulsante. Aggiungi un componente `BusinessTaskApi` al Canvas e assegnalo a `taskApi` in `BusinessChecklistDisplay`. Sostituisci il metodo `MarkComplete`, che agisce solo in locale, con una chiamata a coroutine dopo che l'SDK di identità aziendale ha fornito un token di accesso valido e il sistema aziendale ha fornito gli ID dell'attività e dell'operatore:

· Collega l'azione autenticata. Nello script BusinessChecklistDisplay esistente, il pulsante attualmente chiama il metodo locale MarkComplete. Per il percorso di produzione, modifica questo gestore in modo che il flusso di accesso aziendale approvato ottenga un token di accesso e chiami SubmitToBusinessSystem(token). Non aggiungere un modulo con nome utente e password e non memorizzare un token nella scena.

// Fields to add to BusinessChecklistDisplay: [SerializeField] private BusinessTaskApi taskApi; [SerializeField] private string taskId; // Set from your approved task source. [SerializeField] private string operatorId; // Set from your approved identity source. // Call this after obtaining a short-lived token from the company identity SDK. private void SubmitToBusinessSystem(string accessToken) { string requestId = System.Guid.NewGuid().ToString("N"); StartCoroutine(taskApi.SubmitCompletion( taskId, operatorId, accessToken, requestId, HandleCompletionResult)); } private void HandleCompletionResult(bool accepted, string message) { statusText.text = accepted ? "Status: Submitted" : "Status: Not submitted"; Debug.Log(message); // Do not log tokens or sensitive business data. }

Importante: `accessToken` deve provenire dal tuo provider di accesso approvato in fase di esecuzione. Il nome della funzione indicato sopra è un punto di passaggio, non un'implementazione completa della gestione delle identità. Configura l'autorizzazione lato API per l'attività e l'utente, convalida ogni campo sul server, usa un ID di richiesta stabile per i nuovi tentativi e non disattivare il pulsante finché il server non accetta la richiesta. Prima della produzione, adatta il connettore allo schema di risposta della tua API e alla tua versione di Unity.

Verifica: In un ambiente di test, verifica che una richiesta autorizzata venga accettata, che un token scaduto o non autorizzato venga rifiutato, che un timeout lasci l'attività visibilmente non inviata e che un nuovo tentativo con lo stesso ID di richiesta non crei un duplicato.

Passaggio 13: aggiungere la scena Hello MR alla build Android

· Apri la finestra di build. Scegli File > Build Settings. In Scenes In Build, fai clic su Add Open Scenes e verifica che HelloMR sia elencata e selezionata.

· Per Unity 6. Apri l'Android Build Profile attivo e aggiungi la scena HelloMR attualmente aperta al relativo elenco di scene.

Verifica: La build Android include la scena che hai appena testato e personalizzato.

Passaggio 14: creare il primo APK

· Verifica che Android sia attivo. Controlla la piattaforma selezionata in Build Settings o nell'Android Build Profile.

· Crea la build dell'app. Fai clic su Build, scegli una cartella di output e assegna al file il nome `BusinessXREALPilot.apk`.

· Controlla il manifest finale. Apri Android Studio, scegli Build > Analyze APK, quindi seleziona BusinessXREALPilot.apk. In AndroidManifest.xml, verifica il nome del pacchetto e che le autorizzazioni dichiarate corrispondano alle funzionalità di questo progetto pilota. Controlla l'APK compilato, perché contiene il manifest unito che Unity installerà.

· Conserva una copia di test con versione. Per un progetto pilota aziendale, archivia l'APK insieme alla versione di Unity, alla versione dell'XREAL SDK, al modello di smartphone e alla data del test, in modo che il team possa ripetere la stessa build.

Verifica: Unity crea l'APK senza errori di build e il manifest risultante è stato controllato prima dell'installazione.

Passaggio 15: installare l'APK su uno smartphone Android supportato

· Collega lo smartphone al computer. Usa un cavo USB o configura ADB wireless. Sullo smartphone, attiva le Opzioni sviluppatore e il Debug USB se installi tramite cavo.

· Installa l'APK. Usa Build and Run di Unity oppure esegui `adb install -r BusinessXREALPilot.apk` da un terminale in cui ADB è disponibile.

· Accetta le richieste di Android. Conferma le richieste di installazione e di debug sullo smartphone. Tieni l'APK sullo stesso smartphone supportato che intendi usare con gli occhiali.

Verifica: La nuova app Unity compare nell'elenco delle app dello smartphone.

Passaggio 16: avviare l'app aziendale tramite Control Glasses

· Collega gli occhiali. Scollega lo smartphone dal computer di sviluppo e collega XREAL One Pro all'uscita USB-C DisplayPort dello smartphone.

· Apri l'app di runtime. Sullo smartphone, apri Control Glasses. Trova `BusinessXREALPilot` nel suo elenco di app e tocca l'app. Su Beam Pro si usa invece MyGlasses.

· Concedi gli accessi richiesti. Se Android lo chiede, consenti a Control Glasses di essere visualizzata sopra le altre app. Concedi Fotocamera, Audio o Vibrazione solo se l'app Unity utilizza queste funzionalità e richiede l'autorizzazione corrispondente.

· Controlla il risultato. Verifica che Hello MR e il pannello facoltativo di istruzioni aziendali siano visibili negli occhiali. Ruota delicatamente la testa per verificare che la visualizzazione segua la modalità 3DoF prevista.

Verifica: L'app viene eseguita sullo smartphone supportato e la sua schermata compare su XREAL One Pro.

Controlli per il progetto pilota aziendale prima di un uso più ampio

· Esegui i test con contenuti di esempio approvati. Tieni i dati personali, dei clienti e riservati fuori dai primi prototipi.

· Verifica l'esatta combinazione di smartphone e firmware. Non dare per scontato che una connessione video USB-C implichi la compatibilità con l'XREAL SDK.

· Verifica input e leggibilità. Controlla dimensione dei caratteri, contrasto, posizionamento e numero di azioni necessarie mentre si indossano gli occhiali.

· Esamina i requisiti aziendali. Prima di un uso più ampio, verifica autenticazione, archiviazione dei dati, accesso alla rete, distribuzione degli aggiornamenti, gestione dei dispositivi e requisiti di privacy applicabili, come il GDPR.

· Mantieni realistico l'ambito dell'app. Questo progetto dimostra che un'app Unity può funzionare con questa configurazione. Di per sé non dimostra la prontezza per la produzione, una certificazione di sicurezza o il supporto per ogni smartphone Android.

Conclusione

Un prototipo orientato al business per XREAL One Pro nasce in Unity con l'attuale XREAL SDK, un host Android supportato, il plug-in XREAL e le relative impostazioni del dispositivo, oltre alle corrette autorizzazioni del manifest e di runtime. La scena Hello MR offre una prima build senza codice, mentre un piccolo componente C# in Unity può aggiungere un semplice pannello di istruzioni aziendali prima che il team crei e installi un APK. Avvia l'app tramite Control Glasses e testala con l'esatto smartphone, firmware, contenuto e flusso di lavoro previsti per il progetto pilota. Questo processo aiuta le aziende a verificare se un software spaziale a mani libere risponde alle loro esigenze, a individuare per tempo i requisiti tecnici e di privacy e a prendere decisioni più consapevoli prima di investire in una distribuzione più ampia.

Consulta la pagina prodotto di XREAL One Pro per i dettagli sul prodotto, quindi contatta VR Expert per valutare se il dispositivo e la configurazione software soddisfano i requisiti di sviluppo e del progetto pilota della tua organizzazione.

Link correlato suggerito: Recensione di XREAL One Pro per professionisti

João Noronha

Scritto da

João Noronha

Specialista XR e Contenuti Immersivi presso VR Expert

João Noronha è Specialista XR e Contenuti Immersivi presso VR Expert, con un forte interesse per le tecnologie emergenti e le loro applicazioni pratiche. Si occupa di trasformare sviluppi complessi in ambito VR, AR, occhiali IA e tecnologia immersiva in contenuti chiari e pratici per aziende e professionisti che esplorano il settore XR.