Skonfiguruj ustawienia aplikacji, aby mogła korzystać z interfejsu Geospatial API.
Wymagania wstępne
Zanim przejdziesz dalej, upewnij się, że rozumiesz podstawowe zagadnienia związane z rozszerzoną rzeczywistością oraz że wiesz, jak skonfigurować sesję ARCore.
Więcej informacji o Geospatial API znajdziesz w artykule Wprowadzenie do Geospatial API.
Jeśli dopiero zaczynasz programować z użyciem ARCore, w artykule Pierwsze kroki znajdziesz informacje o wymaganiach dotyczących oprogramowania i sprzętu, wymaganiach wstępnych oraz innych kwestii dotyczących używanych przez Ciebie platform.
Aby korzystać z interfejsu ARCore Geospatial API, projekt musi obsługiwać AR Foundation oraz rozszerzenia ARCore dla AR Foundation.
Włącz interfejs ARCore API
Zanim użyjesz w aplikacji systemu pozycjonowania wizualnego (VPS), musisz najpierw włączyć interfejs ARCore API w nowym lub istniejącym projekcie Google Cloud. Ta usługa odpowiada za hostowanie, przechowywanie i rozwiązywanie kotwic geoprzestrzennych.
Preferowana jest autoryzacja bezkluczowa, ale obsługiwana jest też autoryzacja za pomocą klucza API.
Dodawanie wymaganych bibliotek do aplikacji
Po autoryzowaniu aplikacji do wywoływania interfejsu ARCore API musisz dodać biblioteki, aby włączyć w niej funkcje geoprzestrzenne.
- Kliknij Edytuj > Ustawienia projektu > Zarządzanie wtyczkami XR > Rozszerzenia ARCore.
- W sekcji Opcjonalne funkcje wybierz Geoprzestrzeń.
Włączanie funkcji geoprzestrzennych w konfiguracji sesji
Gdy włączysz funkcje geoprzestrzenne w swojej aplikacji, włącz je w konfiguracji sesji AR, aby umożliwić komunikację z interfejsem ARCore API:
- Upewnij się, że folder Assets projektu zawiera obiekt skryptu ARCoreExtensionsConfig. Aby je utworzyć, kliknij prawym przyciskiem myszy w panelu Zasoby i wybierz Utwórz > XR > Konfiguracja rozszerzeń ARCore.
Wybierz obiekt skryptowy ARCoreExtensionsConfig w folderze Assets i ustaw opcję Tryb geoprzestrzenny na Enabled (Włączono).
Skonfiguruj obiekt gry ARCore Extensions, tak aby używał konfiguracji ARCoreExtensionsConfig. W panelu Hierarchy znajdź obiekt gry ARCore Extensions utworzony podczas początkowej konfiguracji rozszerzeń ARCore i połącz pole ARCore Extensions Config z obiektem skryptu ARCoreExtensionsConfig w folderze Assets.
Pytaj użytkownika o zgodę na użycie danych na urządzeniu
Aplikacje korzystające z interfejsu ARCore Geospatial API muszą wyświetlać użytkownikowi prośbę o potwierdzenie i zezwolenie na używanie danych z urządzenia. Więcej informacji znajdziesz w wymaganiach dotyczących prywatności użytkowników.
Sprawdzanie zgodności z urządzeniami
Nie wszystkie urządzenia, które obsługują ARCore, obsługują też Geospatial API. Aby sprawdzić, czy urządzenie użytkownika jest zgodne, zadzwoń pod numer AREarthManager.IsGeospatialModeSupported()
.
Jeśli zwróci wartość FeatureSupported.Unsupported
, nie próbuj konfigurować sesji.
Poproś użytkownika o dostęp do lokalizacji podczas działania
Rozszerzenia ARCore automatycznie żądają odpowiednich uprawnień dostępu do lokalizacji, gdy włączony jest tryb geoprzestrzenny w ARCoreExtensions.Update()
. Jeśli użytkownik nie przyzna dostępu do dokładnej lokalizacji, sesja nie zostanie wznowiona i wystąpi błąd „Nie przyznano uprawnień”. Jest to błąd zakończenia, który w celu ponownego aktywowania prośby o uprawnienia wymaga ponownego uruchomienia.
Sprawdzanie dostępności danych geoprzestrzennych w bieżącej lokalizacji urządzenia
Interfejs Geospatial API do określania położenia wykorzystuje kombinację VPS i GPS, dlatego można go używać, dopóki urządzenie jest w stanie określić swoją lokalizację. W obszarach o niskiej dokładności GPS, takich jak wnętrza budynków i gęsto zaludnione obszary miejskie, interfejs API będzie korzystać z usługi VPS, aby generować pozy o wysokiej dokładności. W typowych warunkach usługa VPS zapewnia dokładność pozycjonowania na poziomie około 5 metrów oraz dokładność obrotu na poziomie 5 stopni. Aby sprawdzić, czy dana lokalizacja ma usługę VPS, użyj AREarthManager.CheckVpsAvailability()
.
Interfejsu Geospatial API można też używać na obszarach, na których nie ma pokrycia VPS. W otoczeniu zewnętrznym z niewielkimi lub żadnymi przeszkodami z góry GPS może wystarczyć do wygenerowania pozy z wysoką dokładnością.
Co dalej?
- Uzyskaj informacje o pozycji geograficznej z kamery urządzenia, aby określić dokładną lokalizację urządzenia użytkownika w świecie rzeczywistym.
- Sprawdź dostępność VPS w podanej lokalizacji urządzenia.