Interfejs API Cloud Anchor ARCore, czyli usługa Cloud Anchor ARCore, zapewnia funkcje kotwicy chmury dla aplikacji na iOS, dzięki czemu użytkownicy urządzeń z iOS i Androidem mogą udostępniać treści AR.
Z tego przewodnika dowiesz się, jak:
- Konfigurowanie środowiska programistycznego do pracy z Cloud Anchors
- Testowanie hostowania i rozwiązywania kotwic w przykładowej aplikacji
Wymagania wstępne
- Xcode w wersji 13.0 lub nowszej
- Cocoapods w wersji 1.4.0 lub nowszej (jeśli używasz Cocoapods).
- Urządzenie Apple z ARKit w wersji 12.0 lub nowszej (wymagany jest cel wdrożenia w wersji iOS 12.0 lub nowszej)
Korzystanie z Cloud Anchors
W tych czynnościach używamy przykładowej aplikacji Cloud Anchors, aby pokazać najważniejsze zadania związane z konfigurowaniem i tworzeniem aplikacji obsługującej stałe punkty ARCore w chmurze.
Pobieranie przykładowej aplikacji Cloud Anchors
Aby uzyskać przykładowy kod aplikacji, skopiuj lub pobierz ARCore SDK na iOS z GitHuba.
Otwórz okno terminala lub Findera i otwórz folder, w którym skopiowano lub pobierano pakiet SDK.
Przykładowy kod aplikacji znajdziesz w
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.Przykładowy kod aplikacji trwałych punktów zakotwiczenia w chmurze znajduje się w pliku
./arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Konfiguracja sesji
Podczas konfigurowania sesji przykładowa aplikacja wykonuje te ważne zadania:
- Tworzenie
GARSession
- Tworzenie i uruchamianie
ARSession
- Konfiguracja
ARSessionDelegate
. - Przekazywanie argumentów
ARFrame
do metodyGARSession
w metodziesession:didUpdateFrame:
.
Konfigurowanie udostępniania identyfikatora Cloud Anchor ID
Przykładowa aplikacja Cloud Anchors używa Firebase do udostępniania identyfikatorów Cloud Anchor między urządzeniami. W swoich aplikacjach możesz użyć innego rozwiązania.
Aby skonfigurować bazę danych Firebase w przykładowej aplikacji:
- Postępuj zgodnie z instrukcjami Firebase dotyczącymi dodawania Firebase do aplikacji.
- Pobierz plik
GoogleService-Info.plist
wygenerowany w ramach dodawania Firebase do aplikacji. - Włącz pamięć Firebase dla próbki:
- Otwórz konsolę Firebase i wybierz projekt skonfigurowany dla przykładowej aplikacji.
- Wybierz panel Database.
- W przypadku opcji Realtime Database kliknij Get Started.
- Otworzy się menu Security rules for Realtime Database.
- Aby uruchomić próbkę, wybierz Start in test mode.
- Pamiętaj, że jeśli używasz Firebase w przypadku aplikacji, którą zamierzasz opublikować, musisz zastosować bardziej restrykcyjne reguły bezpieczeństwa.
- W Xcode dodaj plik
GoogleService-Info.plist
do aplikacji obokInfo.plist
.
Konfigurowanie interfejsu ARCore API
Aby korzystać z Cloud Anchors, musisz najpierw skonfigurować interfejs ARCore API w swojej aplikacji.
Aktualizacja podprocesu
Aplikacja CloudAnchorExample jest dostarczana z Podfile
skonfigurowanymi pakietami SDK ARCore i iOS, których potrzebujesz. Aby zainstalować te zależności:
- Otwórz okno Terminala i w folderze, w którym znajduje się projekt Xcode, uruchom polecenie
pod update
.
W ten sposób wygenerujesz plik.xcworkspace
, którego użyjesz później do skompilowania i uruchomienia aplikacji.
Szczegółowe informacje o konfigurowaniu pakietu Podfile
w swoich aplikacjach znajdziesz w artykule Dodawanie pakietu ARCore SDK do aplikacji.
Otwórz plik
.xcworkspace
projektu w Xcode.Aby uniknąć błędów kompilacji, upewnij się, że kompilujesz na podstawie pliku
.xcworkspace
, a nie pliku.xcodeproj
.
Zmień identyfikator pakietu aplikacji
W Xcode zmień identyfikator pakietu aplikacji, aby można było ją podpisać z użyciem zespołu.
Kompilowanie i uruchamianie aplikacji
Połącz urządzenie i uruchom aplikację w Xcode.
(Opcjonalnie) Jeśli kompilujesz i uruchamiasz przykładową aplikację, w następnym rozdziale znajdziesz szczegółowe informacje o używaniu aplikacji do hostowania i rozwiązywania punktów Cloud Anchors.
Wypróbuj przykładową aplikację
Aby uruchomić przykładową aplikację, utwórz ją i uruchom z pliku
.xcworkspace
na urządzeniu.Jeśli pojawi się prośba, przyznaj aplikacji uprawnienia do korzystania z kamery. ARKit zacznie wtedy wykrywać płaszczyzny przed kamerą.
Kliknij HOST, aby przejść do trybu hostowania. Na ekranie pojawi się kod pokoju, który służy do udostępniania hostowanych kotwic.
Kliknij samolot, aby rozpocząć hostowanie punktu docelowego w chmurze.
- Aplikacja umieszcza na płaszczyźnie obiekt Andy Android i dodaje do niego punkt zakotwiczenia.
- Żądanie hosta jest wysyłane do punktu końcowego w chmurze interfejsu ARCore API. Żądanie hosta zawiera dane przedstawiające położenie uchwytu względem elementów wizualnych znajdujących się w pobliżu.
- Po hostowaniu kotwicy zostanie jej przypisany identyfikator, który służy do rozwiązywania kotwic w chmurze w tej przestrzeni.
Kliknij RESOLVE i wpisz kod pokoju, aby uzyskać dostęp do wcześniej hostowanych w tym pokoju kotwic chmur, używając tego samego lub innego urządzenia.
- Żądanie rozwiązania jest wysyłane do punktu końcowego w chmurze interfejsu ARCore API.
- Żądanie rozwiązania zawiera identyfikator punktu zakotwiczenia w chmurze. Jeśli identyfikator pasuje do hostowanej kotwicy, a lokalizacja się powiedzie, serwer zwróci transformację kotwicy w Twoich współrzędnych lokalnych.
- Przykładowa aplikacja używa transformacji do dodawania do sceny kotwicy i renderowania przypisanych do niej obiektów wirtualnych.
Dodawanie pakietu ARCore SDK do aplikacji
W swoich aplikacjach musisz zaktualizować pakiet Podfile
, aby uwzględnić pakiet ARCore SDK i obsługiwane wersje na iOS. Aby to zrobić:
Dodaj te
platform
ipod
doPodfile
projektu:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.48.0'
- Otwórz okno terminala i w folderze, w którym znajduje się projekt Xcode, uruchom polecenie
pod update
.
W ten sposób wygenerujesz plik.xcworkspace
, który posłuży Ci do skompilowania i uruchomienia aplikacji.
Stałe zakotwiczenia w chmurze
Jak opisano w artykule Hostowanie trwałego łącza Cloud Anchor, możesz nadać łączu czas życia do 365 dni. Przykładowy kod do używania trwałych kotwic w chmurze jest dostępny w katalogu /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
w ARCore SDK na iOS na GitHubie.
Dalsze kroki
Zapoznaj się z przewodnikiem dla deweloperów Cloud Anchors na iOS, aby poznać przykładowy kod aplikacji i dowiedzieć się więcej o korzystaniu z Cloud Anchors w swoich aplikacjach.
Szczegółowe informacje znajdziesz w dokumentacji interfejsu ARCore API na iOS.