Streszczenie
Ten przewodnik po Unity SDK dla XREAL One Pro pokazuje programistom i zespołom biznesowym, jak zbudować i przetestować aplikację z użyciem XREAL SDK 3.1.0. Pierwszym efektem jest plik APK na Androida, który uruchamia się za pośrednictwem aplikacji XREAL Control Glasses na obsługiwanym telefonie. Zacznij od oficjalnego przykładu Hello MR, a następnie dodaj prosty panel z instrukcjami biznesowymi, jeśli chcesz wyświetlać treści dotyczące własnych procesów pracy.
Pierwsza kompilacja Hello MR nie wymaga własnego kodu. Rozwiązanie dopasowane do konkretnej firmy wymaga już pracy programistycznej w Unity, gdy zespół dodaje własne kroki, elementy sterujące, przepływ danych, uwierzytelnianie lub połączenie z backendem. XREAL One Pro to podłączany wyświetlacz, a nie samodzielny komputer, dlatego aplikację uruchamia obsługiwany telefon. Przed szerszym wdrożeniem potwierdź ze swoim wewnętrznym zespołem technicznym kwestie zgodności, uprawnień, przetwarzania danych i zarządzania urządzeniami.
Wprowadzenie
Praca z Unity SDK dla XREAL One Pro to praktyczny sposób na przetestowanie biznesowego interfejsu obsługiwanego bez użycia rąk, takiego jak lista zadań, widok zdalnego wsparcia czy krótka instrukcja stanowiskowa. Zobacz stronę produktu XREAL One Pro w VR Expert, aby zapoznać się z przeglądem urządzenia. Ten przewodnik koncentruje się na ścieżce programistycznej w Unity i na kontrolach istotnych przed pilotażem biznesowym: obsługiwanym telefonie-hoście, właściwej wtyczce XREAL, uprawnieniach Androida i przejrzystej pierwszej kompilacji.
Wymagania Unity SDK dla XREAL One Pro
- Ścieżka programistyczna: XREAL SDK dla Unity. Ten przewodnik nie obejmuje natywnego programowania na Androida, w Javie ani w Kotlinie.
- Aktualna dokumentacja SDK: Wersja 3.1.0 w chwili weryfikacji. Przed rozpoczęciem prac lub wdrożeniem zapoznaj się z najnowszymi informacjami o wydaniu XREAL.
- Wersje Unity w przewodniku szybkiego startu: Unity 2021.3 LTS, 2022.3 LTS lub Unity 6000.0 LTS z modułem Android Build Support.
- Obsługiwany host: XREAL wymienia Beam Pro lub obsługiwane telefony z Androidem; przewodnik szybkiego startu wskazuje flagowe serie Samsung S24 i nowsze. Informacje o wydaniu 3.1.0 wymieniają Beam Pro i Samsung S25 jako przetestowane pod kątem zgodności.
- Śledzenie w One Pro: Zacznij od 3DoF. XREAL SDK 3.1.0 dodaje obsługę 6DoF dla serii One z podłączonym XREAL Eye i zaktualizowanym oprogramowaniem układowym okularów.
- Połączenie z telefonem: Telefon musi mieć wyjście wideo USB C DisplayPort i niezależnie od tego być zgodny jako host XREAL SDK. Samo wyjście obrazu nie dowodzi obsługi SDK.
Zanim otworzysz Unity
· Obsługiwany telefon-host: Użyj Beam Pro lub telefonu wymienionego jako zgodny w aktualnej dokumentacji SDK XREAL. Przewodnik szybkiego startu wskazuje obecnie flagowe serie Samsung S24 i kolejne; informacje o wydaniu 3.1.0 wymieniają Beam Pro i Samsung S25 jako przetestowane zgodne hosty (XREAL testuje S24 na Androidzie 14, a S25 na Androidzie 15). Najlepiej nie instaluj na telefonie Androida 16, ponieważ dokumentacja XREAL zawiera ostrzeżenie „Nie aktualizuj swoich urządzeń deweloperskich do Androida 16”, a na czas prac programistycznych wyłącz Samsung DeX.
· Unity: Zainstaluj wymieniony przez XREAL edytor Unity LTS z modułem Android Build Support. Jeśli go brakuje, dodaj Android Build Support w Unity Hub > Installs > (twój edytor) > Add modules.
· Narzędzia Android SDK: Zainstaluj Android SDK 12.0 (API 31) lub nowszy z poziomu Android Studio > More Actions > SDK Manager albo Tools > SDK Manager w otwartym projekcie Android Studio. To wyłącznie łańcuch narzędzi do kompilacji na Androida dla Unity, a nie proces tworzenia aplikacji natywnej.
· SDK i środowisko uruchomieniowe: Pobierz XREAL SDK for Unity 3.1.0 ze strony pobierania dla deweloperów XREAL. ControlGlasses 3.1.0 pobierz z linku w informacjach o wydaniu SDK 3.1.0; strona pobierania nadal wymienia starszą wersję 1.1.0, która należy do SDK 3.0.0. Przed testami zapoznaj się z aktualnymi informacjami o oprogramowaniu układowym.
· Warunki SDK i informacja o danych: Przed rozpoczęciem prac zapoznaj się z aktualnymi warunkami XREAL APIs Terms i zaakceptuj je. XREAL wymaga od programistów ujawnienia, w jaki sposób SDK gromadzi i przetwarza dane w aplikacji, oraz zaleca wskazanie XREAL SDK i podanie linku do jego polityki prywatności. Umieść te informacje obok własnych informacji o prywatności swojej organizacji i uwzględnij je w jej procesie weryfikacji.
· Kabel do okularów: Użyj połączenia USB C obsługującego wideo DisplayPort. Upewnij się też, że telefon jest hostem obsługiwanym przez SDK, ponieważ to odrębna kwestia.
Kompilacja i uruchomienie pierwszej aplikacji dla XREAL One Pro
Krok 1. Utwórz projekt Unity na Androida
· Otwórz Unity Hub. Wybierz Projects, a następnie New project.
· Wybierz szablon. Wybierz szablon 3D, wpisz czytelną nazwę projektu, np. `BusinessXREALPilot`, i kliknij Create project.
· Przełącz na Androida. W edytorze Unity otwórz File > Build Settings lub, w Unity 6, Android Build Profile. Wybierz Android i kliknij Switch Platform.
Sprawdź: Wybrana jest platforma Android, a Unity zakończyło importowanie projektu.
Krok 2. Zainstaluj pakiety XR dla Unity
· Otwórz Package Manager. W edytorze Unity wybierz Window > Package Manager.
· Wybierz Unity Registry. Użyj menu źródła pakietów w lewym górnym rogu, a następnie wyszukaj XR Interaction Toolkit.
· Zainstaluj toolkit. Wybierz XR Interaction Toolkit (XREAL obsługuje wersje 2.5.x i 3.0.x) i kliknij Install. Otwórz kartę Samples i zaimportuj Starter Assets oraz Hands Interaction Demo; według wskazówek XREAL dotyczących rozwiązywania problemów bez przykładu z dłońmi w HelloMR pojawiają się brakujące prefaby.
· Pierwsza kompilacja powinna być niewielka. Pomiń AR Foundation. Tabela zgodności XREAL oznacza śledzenie płaszczyzn, śledzenie obrazów, śledzenie dłoni, siatkę głębi i kotwice przestrzenne jako nieobsługiwane w serii XREAL One, z dodatkową kamerą lub bez niej; funkcje te wymagają Air 2 Ultra, więc prototyp na One Pro nie może z nich korzystać.
Sprawdź: XR Interaction Toolkit jest widoczny w projekcie, a jego przykład Starter Assets został zaimportowany.
Krok 3. Zaimportuj XREAL SDK dla Unity
· Otwórz menu pakietów. W Package Manager kliknij przycisk plusa i wybierz Add package from tarball.
· Wybierz archiwum SDK. Przejdź do pobranego pliku `com.xreal.xr.tar.gz` i kliknij Open.
· Zaimportuj pierwszy przykład. Wybierz XREAL XR Plugin w Package Manager, otwórz Samples i zaimportuj Interaction Basics. Pomiń przykład AR Features: jego funkcje płaszczyzn, obrazów i kotwic nie działają w serii One.
Sprawdź: XREAL XR Plugin jest widoczny w Package Manager, a Interaction Basics można zaimportować.
Krok 4. Włącz wtyczkę XREAL dla Androida
· Otwórz Project Settings. Wybierz Edit > Project Settings > XR Plug in Management.
· Wybierz Androida. Otwórz kartę Android i zaznacz XREAL.
· Zastosuj poprawki projektu. Jeśli pojawi się okno Project Validation z ostrzeżeniami, otwórz je i kliknij Fix All obok wymaganych poprawek. Poczekaj, aż Unity zakończy zmienianie ustawień.
Sprawdź: Karta Android pokazuje włączony XREAL, a wymagane elementy walidacji zostały poprawione.
Krok 5. Ustaw obsługę urządzenia One Pro i śledzenie
· Otwórz stronę ustawień XREAL. W Project Settings wybierz XR Plug in Management > XREAL.
· Sprawdź kategorię urządzenia. W sekcji Support Devices włącz kategorię Vision dla okularów z serii XREAL One.
· Wybierz tryb śledzenia. Ustaw Initial Tracking Type na MODE_3DOF dla okularów One Pro bez XREAL Eye. MODE_6DOF ustaw tylko wtedy, gdy XREAL Eye jest podłączony, a oprogramowanie układowe okularów zostało zaktualizowane zgodnie ze specyfikacją dla SDK 3.1.0.
· Wybierz sposób sterowania w prototypie. Ustaw Initial Input Source na Controller, aby obsługiwany telefon z Androidem mógł pełnić funkcję kontrolera aplikacji. Promień kontrolera konfiguruje się w kroku 11.
Sprawdź: Projekt jest skonfigurowany dla serii XREAL One, a tryb śledzenia odpowiada podłączonemu sprzętowi.
Krok 6. Ustaw wartości kompilacji na Androida
· Otwórz Player Settings. Wróć do File > Build Settings lub Android Build Profile, wybierz Player Settings, a następnie otwórz Other Settings.
· Nadaj aplikacji unikalny identyfikator. Wpisz Package Name w stylu odwróconej domeny, np. `com.companyname.workflowpilot`. Nie pozostawiaj przykładowego identyfikatora w projekcie produkcyjnym.
· Ustaw tożsamość aplikacji. W tym samym obszarze Player Settings ustaw Company Name i Product Name na nazwę swojej organizacji i aplikacji pilotażowej. W sekcji Resolution and Presentation ustaw Default Orientation na Portrait, jak pokazano w przewodniku szybkiego startu XREAL.
· Ustaw opcje grafiki. Zgodnie z przewodnikiem szybkiego startu XREAL wyłącz Auto Graphics API i użyj OpenGLES3.
· Ustaw poziomy API Androida. Ustaw Minimum API Level na Android 10 lub nowszy, a Target API Level na Automatic (highest installed). Zainstaluj Android SDK API 31 lub nowszy w SDK Manager. To odrębne ustawienia: zainstalowane narzędzia SDK i minimalna wersja aplikacji.
· Ustaw architekturę Androida. W Player Settings > Other Settings > Configuration włącz ARM64 dla docelowego telefonu i ustaw Scripting Backend na IL2CPP przy kompilacji dla ARM64. XREAL dokumentuje ten wymóg dla kompilacji ARM64.
Sprawdź: Projekt używa identyfikatora pakietu i ustawień Androida wymaganych do kompilacji w Unity.
Krok 7. Przejdź kontrole manifestu Androida i uprawnień
· Najpierw użyj wygenerowanego manifestu. Unity i pakiet XREAL generują lub scalają wpisy manifestu Androida podczas kompilacji. Nie twórz własnego manifestu Androida dla podstawowego przykładu, chyba że wymaga tego ustawienie XREAL lub udokumentowana funkcja. Kryterium dla manifestu jest to, by finalna aplikacja deklarowała uprawnienia i konfigurację wymagane przez jej funkcje.
· Wybierz tylko potrzebne uprawnienia. W Project Settings > XR Plug in Management > XREAL otwórz Android Permissions. Włącz Camera tylko dla funkcji korzystających z kamery, Audio tylko wtedy, gdy aplikacja potrzebuje dostępu do dźwięku, a Vibration tylko wtedy, gdy aplikacja używa haptyki.
· Zezwól na uprawnienie wyświetlania w czasie działania. Gdy Control Glasses poprosi o uprawnienie przy uruchomieniu, zezwól aplikacji Control Glasses na wyświetlanie nad innymi aplikacjami. Jeśli monit został zamknięty, otwórz Ustawienia Androida > Aplikacje > Specjalny dostęp aplikacji > Wyświetlanie nad innymi aplikacjami > Control Glasses i włącz tę opcję. Dokładne nazwy mogą się różnić w zależności od telefonu.
Sprawdź: Pakiet XREAL jest skonfigurowany tylko z uprawnieniami potrzebnymi w prototypie, a Control Glasses po uruchomieniu może wyświetlać obraz nad innymi aplikacjami.
Krok 8. Otwórz Hello MR i sprawdź scenę
· Znajdź zaimportowany przykład. W oknie Project w Unity otwórz Assets > Samples > XREAL XR Plugin > zainstalowana wersja pakietu > Interaction Basics.
· Otwórz przykładową scenę. Kliknij dwukrotnie `HelloMR.unity`. Jeśli jej tam nie ma, wróć do Window > Package Manager > XREAL XR Plugin > Samples i zaimportuj Interaction Basics.
· Zapisz scenę. Wybierz File > Save. Sprawdź okno Hierarchy i upewnij się, że obiekty przykładu są widoczne.
Sprawdź: Hello MR otwiera się bez brakujących zasobów przykładu. Ten przykład stanowi punkt wyjścia niewymagający własnego kodu.
Krok 9. Dodaj panel z instrukcjami biznesowymi w Unity C#
· Zdecyduj, czy dodać kod. Pomiń ten krok, aby skompilować niezmodyfikowany przykład Hello MR. Wykonaj go, jeśli chcesz, aby prototyp wyświetlał własny tekst instrukcji biznesowych.
· Utwórz Canvas w przestrzeni świata. W oknie Hierarchy kliknij prawym przyciskiem > UI > Canvas. W Hierarchy umieść Canvas bezpośrednio w katalogu głównym sceny lub pod XR Origin (nie ustawiaj go bezpośrednio jako elementu podrzędnego Main Camera, aby uniknąć sztywnego przypięcia do twarzy). Ustaw Render Mode na World Space. W Rect Transform ustaw pozycję na X 0, Y 0, Z 1.5 (przed punktem startowym użytkownika), rotację na 0, 0, 0, a skalę na 0.001 we wszystkich osiach.
· Dodaj tekst zadania i statusu. W Hierarchy kliknij prawym przyciskiem Canvas > UI > Text - TextMeshPro. Jeśli Unity o to poprosi, zaimportuj TMP Essentials. Zmień nazwę pierwszego obiektu tekstowego na InstructionText. Utwórz drugi obiekt Text - TextMeshPro o nazwie StatusText. Nadaj obu czytelne pola tekstowe, np. szerokość 900, wysokość 180, rozmiar czcionki 42. Umieść StatusText pod instrukcją.
· Dodaj przycisk ukończenia. W Hierarchy kliknij prawym przyciskiem Canvas > UI > Button - TextMeshPro. Zmień jego nazwę na MarkCompleteButton i ustaw widoczną etykietę na Mark complete. Jeśli scena nie ma obiektu EventSystem, utwórz go przez Hierarchy > prawy przycisk > UI > Event System. Utwórz w Assets skrypt C# o nazwie BusinessChecklistDisplay i otwórz go w edytorze kodu używanym z Unity.
Sprawdź: Scena zawiera Canvas w przestrzeni świata, obiekt tekstowy TextMeshPro i nowy plik skryptu 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); } }
Zakres programistyczny: Ten kod wyświetla instrukcje i lokalnie zmienia status po wybraniu przycisku. Nie zapisuje zadania w systemie firmowym, nie uwierzytelnia użytkownika ani nie wysyła danych przez sieć. Te funkcje wymagają kodu aplikacji dopasowanego do API, systemu tożsamości i sposobu przetwarzania danych w Twojej organizacji. Nie umieszczaj w pliku APK danych uwierzytelniających ani prawdziwych danych biznesowych.
Krok 10. Połącz skrypt z panelem instrukcji
· Poczekaj, aż Unity skompiluje skrypt. Zapisz skrypt w edytorze kodu, wróć do Unity i poczekaj, aż zniknie wskaźnik kompilacji.
· Dołącz skrypt. Przeciągnij `BusinessChecklistDisplay` z okna Project na Canvas w oknie Hierarchy.
· Przypisz pola interfejsu. Zaznacz Canvas. W oknie Inspector znajdź Business Checklist Display. Przeciągnij InstructionText i StatusText z Hierarchy do odpowiadających im pól, a następnie przeciągnij MarkCompleteButton do pola Complete Button.
· Ustaw wartości przykładowe. W tym samym komponencie w Inspectorze zastąp wartość Instruction zatwierdzonym, niepoufnym tekstem demonstracyjnym. Zapisz scenę. Po wybraniu przycisk zmienia StatusText na „Complete (local demo)”; nie przesyła ani nie zapisuje rzeczywistego wyniku biznesowego.
Sprawdź: Inspector pokazuje przypisane oba pola tekstowe i przycisk, a tekst statusu zmienia się po wybraniu Mark complete w edytorze Unity.
Krok 11. Skonfiguruj wybieranie kontrolerem w interfejsie
· Ustaw moduł wejścia EventSystem. Zaznacz EventSystem w Hierarchy. Usuń Standalone Input Module, jeśli występuje, a następnie za pomocą Add Component dodaj XR UI Input Module. Jeśli dostępny jest preset XRI Starter Assets, zastosuj XRI Default XR UI Input Module, aby moduł miał oczekiwane akcje wejściowe.
· Ustaw raycaster Canvasu. Zaznacz Canvas. Usuń Graphic Raycaster i dodaj Tracked Device Graphic Raycaster. Dzięki temu śledzony promień XR może wskazywać przycisk.
· Włącz interakcję z UI dla promienia kontrolera. W XR Origin zaznacz obiekt kontrolera, który ma XR Ray Interactor. W jego sekcji UI Interaction włącz Interaction with UI GameObjects. Pozostaw w XREAL ustawienie Initial Input Source na Controller z kroku 5.
· Sprawdź ścieżkę kontrolera. Przykład Interaction Basics powinien zapewniać obiekty kontrolera i akcje wejściowe. Jeśli XR Origin nie ma XR Ray Interactor, przed kompilacją zaimportuj przykład XRI Starter Assets i użyj jego konfiguracji XR Origin/kontrolera.
Sprawdź: W edytorze Unity promień kontrolera podświetla przycisk Mark complete, a jego wybranie zmienia tekst statusu. Powtórz ten test na obsługiwanym telefonie i okularach, zanim użyjesz tego przepływu w pilotażu.
Krok 12. Opcjonalnie: połącz ukończenie zadania z biznesowym API
Pojęcia związane z biznesowym API przed rozpoczęciem kodowania
· REST API: Adres internetowy i uzgodniony format żądań, które pozwalają aplikacji wymieniać dane z usługą firmową.
· Token dostępu: Krótkotrwałe poświadczenie wydawane po zatwierdzonym logowaniu; aplikacja wysyła je, aby udowodnić, że użytkownik ma uprawnienia do wykonania działania.
· Klucz idempotencji: Unikalny identyfikator żądania, który pozwala serwerowi rozpoznać ponowną próbę i uniknąć dwukrotnego zapisania tego samego ukończenia.
· HTTPS: Szyfrowana komunikacja sieciowa, która chroni dane podczas przesyłania między telefonem a serwerem.
· Najpierw ustal kontrakt firmowego API. Poproś zespół platformowy o endpoint HTTPS, akceptowane pola JSON, źródło tożsamości użytkownika, wystawcę tokenów dostępu, odpowiedź oznaczającą powodzenie i zasady ponawiania prób. Poniższy przykład wysyła taskId, operatorId, requestId i completedAtUtc; przed użyciem zmapuj je na pola firmowego API. Używaj nieprzejrzystych identyfikatorów zatwierdzonych przez organizację, a nie nazwisk ani danych wrażliwych.
· Włącz dostęp do sieci dla tej kompilacji. W wersji aplikacji korzystającej z API otwórz Edit > Project Settings > Player > Android > Other Settings > Configuration i ustaw Internet Access na Require. Skompiluj ponownie i sprawdź scalony manifest, aby potwierdzić obecność android.permission.INTERNET. To uprawnienie nie wyświetla monitu Androida.
· Dodaj skrypt łącznika. W Unity utwórz `BusinessTaskApi.cs`, wklej oba kolejne bloki kodu do tego samego pliku w podanej kolejności i zapisz go. Drugi blok jest kontynuacją wnętrza SubmitCompletion. Endpoint jest symbolem zastępczym; zastąp go zatwierdzonym endpointem firmowym. Nie umieszczaj tokenu dostępu w Inspectorze, kodzie źródłowym, pliku APK ani logach.
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); } } }
· Wywołaj łącznik z przycisku. Dodaj komponent `BusinessTaskApi` do Canvasu i przypisz go do `taskApi` w `BusinessChecklistDisplay`. Zastąp lokalną metodę `MarkComplete` wywołaniem współprogramu (coroutine) po tym, jak firmowy SDK tożsamości dostarczy ważny token dostępu, a system biznesowy – identyfikatory zadania i operatora:
· Podłącz uwierzytelnioną akcję. W istniejącym skrypcie BusinessChecklistDisplay przycisk wywołuje obecnie lokalną metodę MarkComplete. Na potrzeby wersji produkcyjnej zmień tę procedurę obsługi tak, aby zatwierdzony firmowy proces logowania uzyskiwał token dostępu i wywoływał SubmitToBusinessSystem(token). Nie dodawaj formularza z nazwą użytkownika i hasłem ani nie przechowuj tokenu w scenie.
// 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. }
Ważne: `accessToken` musi pochodzić od zatwierdzonego dostawcy logowania w czasie działania aplikacji. Powyższa nazwa funkcji to punkt przekazania, a nie kompletna implementacja tożsamości. Skonfiguruj po stronie API autoryzację dla zadania i użytkownika, weryfikuj każde pole na serwerze, używaj stałego identyfikatora żądania przy ponawianiu prób i nie wyłączaj przycisku, dopóki serwer nie zaakceptuje żądania. Przed wdrożeniem produkcyjnym dostosuj łącznik do schematu odpowiedzi swojego API i wersji Unity.
Sprawdź: W środowisku testowym potwierdź, że autoryzowane żądanie zostaje zaakceptowane, wygasły lub nieautoryzowany token zostaje odrzucony, przekroczenie limitu czasu pozostawia zadanie wyraźnie oznaczone jako nieprzesłane, a ponowna próba z tym samym identyfikatorem żądania nie tworzy duplikatu.
Krok 13. Dodaj scenę Hello MR do kompilacji na Androida
· Otwórz okno kompilacji. Wybierz File > Build Settings. W sekcji Scenes In Build kliknij Add Open Scenes i upewnij się, że HelloMR jest na liście i jest zaznaczona.
· W Unity 6. Otwórz aktywny Android Build Profile i dodaj obecnie otwartą scenę HelloMR do jego listy scen.
Sprawdź: Kompilacja na Androida zawiera scenę, którą przed chwilą przetestowano i dostosowano.
Krok 14. Skompiluj pierwszy plik APK
· Upewnij się, że Android jest aktywny. Sprawdź wybraną platformę w Build Settings lub Android Build Profile.
· Skompiluj aplikację. Kliknij Build, wybierz folder docelowy i nazwij plik `BusinessXREALPilot.apk`.
· Sprawdź finalny manifest. Otwórz Android Studio i wybierz Build > Analyze APK, a następnie wskaż BusinessXREALPilot.apk. W pliku AndroidManifest.xml zweryfikuj nazwę pakietu i upewnij się, że zadeklarowane uprawnienia odpowiadają funkcjom tego pilotażu. Sprawdź zbudowany plik APK, ponieważ zawiera on scalony manifest, który Unity zainstaluje.
· Zachowaj wersjonowaną kopię testową. Na potrzeby pilotażu biznesowego przechowuj plik APK wraz z informacją o wersji Unity, wersji XREAL SDK, modelu telefonu i dacie testu, aby zespół mógł powtórzyć tę samą kompilację.
Sprawdź: Unity tworzy plik APK bez błędów kompilacji, a wynikowy manifest został sprawdzony przed instalacją.
Krok 15. Zainstaluj plik APK na obsługiwanym telefonie z Androidem
· Podłącz telefon do komputera. Użyj USB lub skonfiguruj bezprzewodowe ADB. Jeśli instalujesz przez kabel, włącz na telefonie Opcje programistyczne i Debugowanie USB.
· Zainstaluj plik APK. Użyj opcji Build and Run w Unity lub uruchom `adb install -r BusinessXREALPilot.apk` w terminalu, w którym dostępne jest ADB.
· Zaakceptuj monity Androida. Potwierdź na telefonie monity dotyczące instalacji i debugowania. Zainstaluj APK na tym samym obsługiwanym telefonie, którego zamierzasz używać z okularami.
Sprawdź: Nowa aplikacja Unity pojawia się na liście aplikacji w telefonie.
Krok 16. Uruchom aplikację biznesową przez Control Glasses
· Podłącz okulary. Odłącz telefon od komputera deweloperskiego i podłącz XREAL One Pro do wyjścia USB C DisplayPort telefonu.
· Otwórz aplikację środowiska uruchomieniowego. Na telefonie otwórz Control Glasses. Znajdź `BusinessXREALPilot` na liście aplikacji i stuknij ją. Na Beam Pro używa się zamiast tego MyGlasses.
· Przyznaj żądany dostęp. Jeśli Android o to poprosi, zezwól Control Glasses na wyświetlanie nad innymi aplikacjami. Przyznaj uprawnienia Camera, Audio lub Vibration tylko wtedy, gdy aplikacja Unity korzysta z tych funkcji i prosi o odpowiednie uprawnienie.
· Sprawdź wynik. Upewnij się, że Hello MR i opcjonalny panel z instrukcjami biznesowymi są widoczne w okularach. Delikatnie obróć głowę, aby potwierdzić, że widok zachowuje się zgodnie z oczekiwanym trybem 3DoF.
Sprawdź: Aplikacja działa na obsługiwanym telefonie, a jej obraz pojawia się w XREAL One Pro.
Kontrole pilotażu biznesowego przed szerszym wykorzystaniem
· Testuj na zatwierdzonych treściach przykładowych. Nie umieszczaj danych osobowych, danych klientów ani informacji poufnych we wczesnych prototypach.
· Zweryfikuj konkretną kombinację telefonu i oprogramowania układowego. Nie zakładaj, że połączenie wideo przez USB C oznacza zgodność z XREAL SDK.
· Potwierdź sterowanie i czytelność. Sprawdź rozmiar czcionki, kontrast, rozmieszczenie i liczbę czynności potrzebnych podczas noszenia okularów.
· Przejrzyj wymagania firmy. Przed szerszym wykorzystaniem sprawdź uwierzytelnianie, przechowywanie danych, dostęp do sieci, dystrybucję aktualizacji, zarządzanie urządzeniami oraz obowiązujące wymogi dotyczące prywatności, takie jak RODO.
· Zachowaj realistyczny zakres aplikacji. Ten projekt dowodzi, że aplikacja Unity może działać w tej konfiguracji. Sam w sobie nie dowodzi gotowości produkcyjnej, certyfikacji bezpieczeństwa ani obsługi każdego telefonu z Androidem.
Podsumowanie
Biznesowy prototyp dla XREAL One Pro powstaje w Unity z użyciem aktualnego XREAL SDK, obsługiwanego hosta z Androidem, wtyczki XREAL i ustawień urządzenia oraz odpowiednich uprawnień w manifeście i w czasie działania. Scena Hello MR zapewnia pierwszą kompilację bez kodu, a niewielki komponent Unity w C# może dodać prosty panel z instrukcjami biznesowymi, zanim zespół skompiluje i zainstaluje plik APK. Uruchom aplikację przez Control Glasses i przetestuj ją na dokładnie tym telefonie, oprogramowaniu układowym, treściach i procesie pracy, które są planowane w pilotażu. Ten proces pomaga firmom sprawdzić, czy oprogramowanie przestrzenne obsługiwane bez użycia rąk odpowiada ich potrzebom, wcześnie zidentyfikować wymagania techniczne i dotyczące prywatności oraz podejmować lepiej uzasadnione decyzje przed zainwestowaniem w szersze wdrożenie.
Odwiedź stronę produktu XREAL One Pro, aby poznać szczegóły produktu, a następnie skontaktuj się z VR Expert, aby omówić, czy urządzenie i konfiguracja oprogramowania odpowiadają wymaganiom Twojej organizacji w zakresie rozwoju oprogramowania i pilotażu.
Sugerowany powiązany link: Recenzja XREAL One Pro dla profesjonalistów





















