Desenvolver uma aplicação para os XREAL One Pro com o SDK para Unity

Desenvolver uma aplicação para os XREAL One Pro com o SDK para Unity

Resumo executivo

Este guia do SDK para Unity dos XREAL One Pro mostra aos programadores e às equipas empresariais como criar e testar uma aplicação com o XREAL SDK 3.1.0. O primeiro resultado é um APK Android que abre através do XREAL Control Glasses num telemóvel compatível. Comece pelo exemplo oficial Hello MR e, depois, adicione um painel simples de instruções empresariais se precisar de mostrar conteúdos do seu próprio fluxo de trabalho.

A primeira compilação do Hello MR não requer código personalizado. Uma experiência específica para a empresa exige trabalho de desenvolvimento em Unity quando as equipas acrescentam os seus próprios passos, controlos, fluxo de dados, autenticação ou ligação a um backend. Os XREAL One Pro são um ecrã ligado, e não um computador autónomo, pelo que é o telemóvel compatível que executa a aplicação. Confirme a compatibilidade, as permissões, o tratamento de dados e a gestão de dispositivos com a sua equipa técnica interna antes de uma implementação mais alargada.

Introdução

O fluxo de trabalho do SDK para Unity dos XREAL One Pro é uma forma prática de testar uma interface empresarial mãos-livres, como uma lista de tarefas, uma vista de assistência remota ou uma instrução de trabalho curta. Consulte a página do produto XREAL One Pro na VR Expert para uma visão geral do dispositivo. Este guia centra-se no percurso de desenvolvimento em Unity e nas verificações que importam antes de um piloto empresarial: telemóvel anfitrião compatível, plug-in XREAL correto, permissões Android e uma primeira compilação clara.

Requisitos do SDK para Unity dos XREAL One Pro

  • Via de desenvolvimento: XREAL SDK para Unity. Este guia não abrange o desenvolvimento nativo em Android, Java ou Kotlin.
  • Documentação atual do SDK: versão 3.1.0 à data da verificação. Reveja as notas de versão mais recentes da XREAL antes do desenvolvimento ou da implementação.
  • Versões do Unity no guia de início rápido: Unity 2021.3 LTS, 2022.3 LTS ou Unity 6000.0 LTS com Android Build Support.
  • Anfitrião compatível: a XREAL indica o Beam Pro ou telemóveis Android compatíveis; o guia de início rápido refere as séries topo de gama Samsung S24 e posteriores. As notas da versão 3.1.0 indicam o Beam Pro e o Samsung S25 como compatíveis testados.
  • Rastreamento nos One Pro: comece com 3DoF. O XREAL SDK 3.1.0 acrescenta 6DoF para a série One com o XREAL Eye acoplado e o firmware dos óculos atualizado.
  • Ligação ao telemóvel: o telemóvel precisa de saída de vídeo DisplayPort por USB-C e, à parte, de compatibilidade como anfitrião do XREAL SDK. A saída de imagem, por si só, não comprova o suporte do SDK.

Antes de abrir o Unity

· Telemóvel anfitrião compatível: utilize o Beam Pro ou um telemóvel indicado como compatível na documentação atual do SDK da XREAL. O guia de início rápido identifica atualmente as séries topo de gama Samsung S24 e seguintes; as notas da versão 3.1.0 identificam o Beam Pro e o Samsung S25 como anfitriões compatíveis testados (a XREAL testa o S24 com Android 14 e o S25 com Android 15). De preferência, não atualize o telemóvel para o Android 16, uma vez que a documentação da XREAL inclui o aviso “Não atualize os seus dispositivos de desenvolvimento para o Android 16”, e desative o Samsung DeX durante o desenvolvimento.

· Unity: instale um editor Unity LTS indicado pela XREAL com Android Build Support. Se faltar, adicione o Android Build Support em Unity Hub > Installs > (o seu editor) > Add modules.

· Ferramentas do Android SDK: instale o Android SDK 12.0 (API 31) ou mais recente a partir de Android Studio > More Actions > SDK Manager, ou de Tools > SDK Manager num projeto aberto do Android Studio. Trata-se apenas da cadeia de ferramentas de compilação Android para o Unity, e não de um fluxo de trabalho de aplicação nativa.

· SDK e runtime: transfira o XREAL SDK for Unity 3.1.0 a partir da página de transferências para programadores da XREAL. Obtenha o ControlGlasses 3.1.0 através da ligação incluída nas notas de versão do SDK 3.1.0; a página de transferências ainda indica a compilação antiga 1.1.0, que pertence ao SDK 3.0.0. Reveja as notas de firmware atuais antes de testar.

· Termos do SDK e aviso sobre dados: antes do desenvolvimento, reveja e aceite os XREAL APIs Terms atuais. A XREAL exige que os programadores divulguem a forma como o SDK recolhe e trata dados na aplicação e recomenda identificar o XREAL SDK e incluir uma ligação para a respetiva política de privacidade. Acrescente esta informação às informações de privacidade e ao processo de revisão da sua própria organização.

· Cabo dos óculos: utilize uma ligação USB-C que suporte vídeo DisplayPort. Confirme que o telemóvel é também um anfitrião compatível com o SDK, uma vez que se trata de uma verificação separada.

Criar e executar a primeira aplicação para os XREAL One Pro

Passo 1 Criar um projeto Unity para Android

· Abra o Unity Hub. Selecione Projects e, depois, New project.

· Escolha um modelo. Selecione um modelo 3D, introduza um nome de projeto claro, como `BusinessXREALPilot`, e clique em Create project.

· Mude para Android. No Unity Editor, abra File > Build Settings ou, no Unity 6, o Android Build Profile. Selecione Android e escolha Switch Platform.

Verificação: a plataforma Android está selecionada e o Unity concluiu a importação do projeto.

Passo 2 Instalar os pacotes XR do Unity

· Abra o Package Manager. No Unity Editor, escolha Window > Package Manager.

· Selecione o Unity Registry. Utilize o menu de origem dos pacotes no canto superior esquerdo e, depois, pesquise XR Interaction Toolkit.

· Instale o toolkit. Selecione XR Interaction Toolkit (a XREAL suporta as versões 2.5.x e 3.0.x) e clique em Install. Abra o separador Samples e importe Starter Assets e Hands Interaction Demo; as notas de resolução de problemas da XREAL indicam que, sem o exemplo de mãos, o HelloMR apresenta prefabs em falta.

· Mantenha a primeira compilação pequena. Dispense o AR Foundation. A tabela de compatibilidade da XREAL assinala o rastreamento de planos, o rastreamento de imagens, o rastreamento de mãos, a malha de profundidade e as âncoras espaciais como não suportados na série XREAL One, com ou sem o acessório de câmara; estas funcionalidades requerem os Air 2 Ultra, pelo que um protótipo para os One Pro não as pode utilizar.

Verificação: o XR Interaction Toolkit aparece no projeto e o respetivo exemplo Starter Assets está importado.

Passo 3 Importar o XREAL SDK para Unity

· Abra o menu de pacotes. No Package Manager, clique no botão + e escolha Add package from tarball.

· Selecione o arquivo do SDK. Navegue até ao ficheiro `com.xreal.xr.tar.gz` transferido e clique em Open.

· Importe o primeiro exemplo. Selecione XREAL XR Plugin no Package Manager, abra Samples e importe Interaction Basics. Deixe de fora o exemplo AR Features: as respetivas funcionalidades de planos, imagens e âncoras não funcionam na série One.

Verificação: o XREAL XR Plugin aparece no Package Manager e o Interaction Basics está disponível para importação.

Passo 4 Ativar o plug-in XREAL para Android

· Abra Project Settings. Escolha Edit > Project Settings > XR Plug in Management.

· Selecione Android. Abra o separador Android e marque XREAL.

· Aplique as correções ao projeto. Se o Project Validation aparecer com avisos, abra-o e clique em Fix All junto às correções necessárias. Aguarde até que o Unity termine de alterar as definições.

Verificação: o separador Android mostra o XREAL ativado e os itens de validação obrigatórios estão corrigidos.

Passo 5 Definir o suporte de dispositivos e o rastreamento dos One Pro

· Abra a página de definições da XREAL. Em Project Settings, selecione XR Plug in Management > XREAL.

· Verifique a categoria de dispositivo. Em Support Devices, ative a categoria Vision para os óculos da série XREAL One.

· Escolha o rastreamento. Defina Initial Tracking Type como MODE_3DOF para óculos One Pro sem XREAL Eye. Defina MODE_6DOF apenas quando o XREAL Eye estiver acoplado e o firmware dos óculos tiver sido atualizado conforme especificado para o SDK 3.1.0.

· Escolha a entrada para o protótipo. Defina Initial Input Source como Controller para que o telemóvel Android compatível possa funcionar como comando da aplicação. O raio do comando é configurado no Passo 11.

Verificação: o projeto está configurado para a série XREAL One e o modo de rastreamento corresponde ao hardware acoplado.

Passo 6 Definir os valores de compilação Android

· Abra Player Settings. Volte a File > Build Settings ou ao Android Build Profile, selecione Player Settings e, depois, abra Other Settings.

· Atribua um ID único à aplicação. Introduza um Package Name no estilo de domínio invertido, por exemplo `com.companyname.workflowpilot`. Não deixe o ID do exemplo num projeto de produção.

· Defina a identidade da aplicação. Na mesma área de Player Settings, defina Company Name e Product Name com os nomes da sua organização e da aplicação piloto. Em Resolution and Presentation, defina Default Orientation como Portrait, tal como mostrado no guia de início rápido da XREAL.

· Defina as opções gráficas. Seguindo o guia de início rápido da XREAL, desative Auto Graphics API e utilize OpenGLES3.

· Defina os níveis de API Android. Defina Minimum API Level como Android 10 ou mais recente e Target API Level como Automatic (highest installed). Instale o Android SDK API 31 ou posterior no SDK Manager. Trata-se de definições distintas: as ferramentas do SDK instaladas e a versão mínima da aplicação.

· Defina a arquitetura Android. Em Player Settings > Other Settings > Configuration, ative ARM64 para o telemóvel de destino e defina Scripting Backend como IL2CPP ao compilar para ARM64. A XREAL documenta este requisito para compilações ARM64.

Verificação: o projeto utiliza o ID de pacote e as definições Android necessárias para a compilação Unity.

Passo 7 Superar as verificações do manifesto e das permissões Android

· Comece pelo manifesto gerado. O Unity e o pacote XREAL geram ou fundem entradas do manifesto Android durante a compilação. Não crie um manifesto Android personalizado para um exemplo básico, a menos que uma definição da XREAL ou uma funcionalidade documentada o exija. O critério do manifesto é que a aplicação final declare as permissões e a configuração de que as suas funcionalidades precisam.

· Selecione apenas as permissões necessárias. Em Project Settings > XR Plug in Management > XREAL, abra Android Permissions. Ative Camera apenas para uma funcionalidade baseada na câmara, Audio apenas quando a aplicação precisar de acesso a áudio e Vibration apenas se a aplicação utilizar feedback háptico.

· Conceda a permissão de sobreposição em tempo de execução. Quando o Control Glasses pedir permissão no arranque, permita que o Control Glasses seja apresentado sobre outras aplicações. Se tiver fechado o pedido, abra Definições do Android > Aplicações > Acesso especial das aplicações > Mostrar sobre outras aplicações > Control Glasses e ative a opção. As designações exatas podem variar consoante o telemóvel.

Verificação: o pacote XREAL está configurado apenas com as permissões de que o seu protótipo precisa e o Control Glasses pode ser apresentado sobre outras aplicações quando é iniciado.

Passo 8 Abrir o Hello MR e confirmar a cena

· Localize o exemplo importado. Na janela Project do Unity, abra Assets > Samples > XREAL XR Plugin > a versão do pacote instalada > Interaction Basics.

· Abra a cena de exemplo. Faça duplo clique em `HelloMR.unity`. Se não estiver lá, volte a Window > Package Manager > XREAL XR Plugin > Samples e importe Interaction Basics.

· Guarde a cena. Escolha File > Save. Verifique a Hierarchy e confirme que os objetos do exemplo estão visíveis.

Verificação: o Hello MR abre sem recursos do exemplo em falta. Este exemplo dá-lhe uma base de referência sem código personalizado.

Passo 9 Adicionar um painel de instruções empresariais com C# no Unity

· Decida se pretende adicionar código. Ignore este passo para compilar o exemplo Hello MR sem modificações. Execute-o quando quiser que o protótipo mostre o seu próprio texto de instruções empresariais.

· Crie um Canvas em world space. Na Hierarchy, clique com o botão direito > UI > Canvas. Na Hierarchy, coloque o Canvas diretamente na raiz da cena ou sob o XR Origin (não o torne filho direto da Main Camera, para evitar que fique rigidamente preso à vista). Defina Render Mode como World Space. Em Rect Transform, defina a posição como X 0, Y 0, Z 1.5 (à frente do ponto de partida do utilizador), a rotação como 0, 0, 0 e a escala como 0.001 em todos os eixos.

· Adicione o texto da tarefa e do estado. Na Hierarchy, clique com o botão direito em Canvas > UI > Text - TextMeshPro. Importe o TMP Essentials se o Unity o solicitar. Mude o nome do primeiro objeto de texto para InstructionText. Crie um segundo objeto Text - TextMeshPro chamado StatusText. Dê a ambos caixas de texto legíveis, por exemplo largura 900, altura 180 e tamanho de letra 42. Coloque o StatusText por baixo da instrução.

· Adicione um botão de conclusão. Na Hierarchy, clique com o botão direito em Canvas > UI > Button - TextMeshPro. Mude-lhe o nome para MarkCompleteButton e defina a etiqueta visível como Mark complete. Se a cena não tiver EventSystem, crie um a partir de Hierarchy > clique com o botão direito > UI > Event System. Crie um C# Script em Assets com o nome BusinessChecklistDisplay e abra-o no editor de código que utiliza com o Unity.

Verificação: a cena tem um Canvas em world space, um objeto de texto TextMeshPro e um novo ficheiro de 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); } }

Âmbito para programadores: este código apresenta instruções e altera o estado localmente quando o botão é selecionado. Não guarda tarefas num sistema da empresa, não autentica utilizadores nem envia dados através de uma rede. Essas funcionalidades exigem código de aplicação adequado à API, à gestão de identidades e ao modelo de tratamento de dados da sua organização. Não coloque credenciais nem registos empresariais reais no APK.

Passo 10 Ligar o script ao painel de instruções

· Aguarde que o Unity compile. Guarde o script no editor de código, volte ao Unity e aguarde até que o indicador de compilação desapareça.

· Associe o script. Arraste `BusinessChecklistDisplay` da janela Project para o Canvas na Hierarchy.

· Atribua os campos da UI. Selecione o Canvas. No Inspector, localize Business Checklist Display. Arraste InstructionText e StatusText da Hierarchy para os campos correspondentes e, depois, arraste MarkCompleteButton para Complete Button.

· Defina os valores de exemplo. No mesmo componente do Inspector, substitua Instruction por um texto de demonstração aprovado e não confidencial. Guarde a cena. Depois da seleção, o botão altera o StatusText para “Complete (local demo)”; não submete nem armazena um resultado empresarial real.

Verificação: o Inspector mostra os dois campos de texto e o botão atribuídos, e o texto de estado muda quando seleciona Mark complete no Unity Editor.

Passo 11 Configurar a seleção por comando para a UI

· Defina o módulo de entrada do EventSystem. Selecione EventSystem na Hierarchy. Remova o Standalone Input Module, se existir, e utilize Add Component para adicionar o XR UI Input Module. Se o preset XRI Starter Assets estiver disponível, aplique XRI Default XR UI Input Module para que o módulo tenha as ações de entrada esperadas.

· Defina o raycaster do Canvas. Selecione Canvas. Remova o Graphic Raycaster e adicione o Tracked Device Graphic Raycaster. Isto permite que um raio rastreado por XR aponte para o botão.

· Ative a interação com a UI no raio do comando. No XR Origin, selecione o objeto do comando que tem o XR Ray Interactor. Na secção UI Interaction, ative Interaction with UI GameObjects. Mantenha o Initial Input Source da XREAL definido como Controller, conforme o Passo 5.

· Verifique o percurso do comando. O exemplo Interaction Basics deverá fornecer os objetos do comando e as ações de entrada. Se o XR Origin não tiver XR Ray Interactor, importe o exemplo XRI Starter Assets e utilize a respetiva configuração de XR Origin/comando antes de compilar.

Verificação: no Unity Editor, o raio do comando realça o botão Mark complete e, ao selecioná-lo, o texto de estado muda. Repita este teste no telemóvel compatível e nos óculos antes de utilizar o fluxo num piloto.

Passo 12 Opcional: ligar a conclusão de tarefas a uma API empresarial

Termos de API empresarial antes de programar

· API REST: um endereço web e um formato de pedido acordado que permitem à aplicação trocar dados com um serviço da empresa.

· Token de acesso: uma credencial de curta duração emitida após um início de sessão aprovado; a aplicação envia-a para comprovar que o utilizador tem autorização para agir.

· Chave de idempotência: um ID de pedido único que permite ao servidor reconhecer uma nova tentativa e evitar guardar a mesma conclusão duas vezes.

· HTTPS: comunicação de rede encriptada que protege os dados enquanto circulam entre o telemóvel e o servidor.

· Defina primeiro o contrato da API da empresa. Peça à sua equipa de plataforma o endpoint HTTPS, os campos JSON aceites, a origem da identidade do utilizador, o emissor dos tokens de acesso, a resposta de sucesso e a política de novas tentativas. O exemplo abaixo envia taskId, operatorId, requestId e completedAtUtc; faça a correspondência destes campos com a API da sua empresa antes de os utilizar. Utilize IDs opacos aprovados pela sua organização, e não nomes ou registos sensíveis.

· Ative o acesso à rede para esta compilação. Para a versão da aplicação com API, abra Edit > Project Settings > Player > Android > Other Settings > Configuration e defina Internet Access como Require. Volte a compilar e inspecione o manifesto fundido para confirmar que android.permission.INTERNET está presente. Esta permissão não apresenta nenhum pedido no Android.

· Adicione um script conector. No Unity, crie `BusinessTaskApi.cs`, cole os dois blocos de código consecutivos no mesmo ficheiro, pela ordem indicada, e guarde-o. O segundo bloco continua dentro de SubmitCompletion. O endpoint é um marcador de posição; substitua-o pelo endpoint aprovado da empresa. Mantenha o token de acesso fora do Inspector, do código-fonte, do APK e dos registos.

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); } } }

· Chame o conector a partir do botão. Adicione um componente `BusinessTaskApi` ao Canvas e atribua-o a `taskApi` em `BusinessChecklistDisplay`. Substitua o método `MarkComplete`, apenas local, por uma chamada de corrotina depois de o SDK de identidade da sua empresa fornecer um token de acesso válido e de o sistema empresarial fornecer os IDs da tarefa e do operador:

· Ligue a ação autenticada. No script BusinessChecklistDisplay existente, o botão chama atualmente o método local MarkComplete. Para a via de produção, altere esse handler para que o fluxo de início de sessão aprovado da empresa obtenha um token de acesso e chame SubmitToBusinessSystem(token). Não adicione um formulário de nome de utilizador/palavra-passe nem guarde um token na cena.

// 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: o `accessToken` tem de vir do seu fornecedor de início de sessão aprovado, em tempo de execução. O nome da função acima é um ponto de passagem, e não uma implementação completa de identidade. Configure a autorização do lado da API para a tarefa e o utilizador, valide todos os campos no servidor, utilize um ID de pedido estável ao repetir tentativas e não desative o botão até que o servidor aceite o pedido. Antes da produção, adapte o conector ao esquema de resposta da sua API e à sua versão do Unity.

Verificação: num ambiente de teste, confirme que um pedido autorizado é aceite, que um token expirado ou não autorizado é rejeitado, que um tempo limite esgotado deixa a tarefa visivelmente por submeter e que uma nova tentativa com o mesmo ID de pedido não cria um duplicado.

Passo 13 Adicionar a cena Hello MR à compilação Android

· Abra a janela de compilação. Escolha File > Build Settings. Em Scenes In Build, clique em Add Open Scenes e confirme que a HelloMR está listada e selecionada.

· No Unity 6. Abra o Android Build Profile ativo e adicione a cena HelloMR atualmente aberta à respetiva lista de cenas.

Verificação: a compilação Android inclui a cena que acabou de testar e personalizar.

Passo 14 Compilar o primeiro APK

· Confirme que o Android está ativo. Verifique a plataforma selecionada em Build Settings ou no Android Build Profile.

· Compile a aplicação. Clique em Build, escolha uma pasta de destino e dê ao ficheiro o nome `BusinessXREALPilot.apk`.

· Inspecione o manifesto final. Abra o Android Studio e escolha Build > Analyze APK; depois, selecione BusinessXREALPilot.apk. Em AndroidManifest.xml, verifique o nome do pacote e confirme que as permissões declaradas correspondem às funcionalidades deste piloto. Verifique o APK compilado, porque contém o manifesto fundido que o Unity vai instalar.

· Guarde uma cópia de teste com controlo de versão. Para um piloto empresarial, armazene o APK juntamente com a versão do Unity, a versão do XREAL SDK, o modelo de telemóvel e a data de teste, para que a equipa possa repetir a mesma compilação.

Verificação: o Unity cria o APK sem erros de compilação e o manifesto resolvido foi revisto antes da instalação.

Passo 15 Instalar o APK num telemóvel Android compatível

· Ligue o telemóvel ao computador. Utilize USB ou configure o ADB sem fios. No telemóvel, ative as Opções de programador e a Depuração USB se instalar por cabo.

· Instale o APK. Utilize Build and Run no Unity ou execute `adb install -r BusinessXREALPilot.apk` num terminal onde o ADB esteja disponível.

· Aceite os pedidos do Android. Confirme os pedidos de instalação e de depuração no telemóvel. Mantenha o APK no mesmo telemóvel compatível que tenciona utilizar com os óculos.

Verificação: a nova aplicação Unity aparece na lista de aplicações do telemóvel.

Passo 16 Iniciar a aplicação empresarial através do Control Glasses

· Ligue os óculos. Desligue o telemóvel do computador de desenvolvimento e ligue os XREAL One Pro à saída DisplayPort por USB-C do telemóvel.

· Abra a aplicação de runtime. No telemóvel, abra o Control Glasses. Localize `BusinessXREALPilot` na respetiva lista de aplicações e toque na aplicação. No Beam Pro, utiliza-se antes o MyGlasses.

· Conceda os acessos pedidos. Permita que o Control Glasses seja apresentado sobre outras aplicações se o Android o pedir. Conceda acesso à câmara, ao áudio ou à vibração apenas se a aplicação Unity utilizar essas funcionalidades e pedir a permissão correspondente.

· Verifique o resultado. Confirme que o Hello MR e o painel opcional de instruções empresariais estão visíveis nos óculos. Rode a cabeça suavemente para confirmar que a vista segue o modo 3DoF esperado.

Verificação: a aplicação é executada no telemóvel compatível e a respetiva imagem aparece nos XREAL One Pro.

Verificações do piloto empresarial antes de uma utilização mais alargada

· Teste com conteúdo de exemplo aprovado. Mantenha dados pessoais, de clientes e confidenciais fora dos primeiros protótipos.

· Verifique a combinação exata de telemóvel e firmware. Não presuma que uma ligação de vídeo USB-C significa compatibilidade com o XREAL SDK.

· Confirme a entrada e a legibilidade. Verifique o tamanho de letra, o contraste, o posicionamento e o número de ações necessárias com os óculos postos.

· Reveja os requisitos da empresa. Antes de uma utilização mais alargada, verifique a autenticação, o armazenamento de dados, o acesso à rede, a distribuição de atualizações, a gestão de dispositivos e os requisitos de privacidade aplicáveis, como o RGPD.

· Mantenha o âmbito da aplicação realista. Este projeto comprova que uma aplicação Unity pode ser executada nesta configuração. Por si só, não comprova a prontidão para produção, a certificação de segurança nem o suporte para todos os telemóveis Android.

Conclusão

Um protótipo empresarial para os XREAL One Pro começa no Unity com o XREAL SDK atual, um anfitrião Android compatível, o plug-in XREAL e as definições do dispositivo, bem como as permissões corretas no manifesto e em tempo de execução. A cena Hello MR proporciona uma primeira compilação sem código, enquanto um pequeno componente C# do Unity pode acrescentar um painel simples de instruções empresariais antes de a equipa compilar e instalar um APK. Inicie a aplicação através do Control Glasses e teste-a com o telemóvel, o firmware, o conteúdo e o fluxo de trabalho exatos previstos para o piloto. Este processo ajuda as empresas a validar se o software espacial mãos-livres se adequa às suas necessidades, a identificar cedo os requisitos técnicos e de privacidade e a tomar decisões mais bem informadas antes de investirem numa implementação mais alargada.

Explore a página do produto XREAL One Pro para conhecer os detalhes do produto e, depois, contacte a VR Expert para analisar se o dispositivo e a configuração de software se adequam aos requisitos de desenvolvimento e de piloto da sua organização.

Ligação relacionada sugerida: Análise dos XREAL One Pro para profissionais

João Noronha

Escrito por

João Noronha