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 zgodne z ARKit z systemem iOS 12.0 lub nowszym (wymagany jest system operacyjny iOS 12.0 lub nowszy)
Korzystanie z Cloud Anchors
Opisane poniżej czynności skorzystały z przykładowej aplikacji Cloud Anchors, która pozwala wyświetlić zadania związane z konfigurowaniem i tworzeniem aplikacji obsługującej ARCore Cloud Anchors.
Pobieranie przykładowej aplikacji Cloud Anchors
Skopiuj lub pobierz pakiet ARCore SDK na iOS z GitHuba aby uzyskać kod przykładowej aplikacji.
Otwórz okno terminala lub programu Finder i przejdź do folderu, w którym znajduje się sklonowany plik. lub pobrano pakiet SDK.
Przykładowy kod aplikacji znajdziesz w
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.Kod przykładowej aplikacji trwałych kotwic w chmurze to za
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
Konfiguracja sesji
Przykładowa aplikacja wykonuje te ważne zadania w ramach konfiguracji sesja:
- Tworzenie
GARSession
- Tworzenie i uruchamianie
ARSession
- Ustawiam
ARSessionDelegate
. - Podania:
ARFrame
s doGARSession
w metodziesession:didUpdateFrame:
.
Konfigurowanie udostępniania identyfikatora Cloud Anchor
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 z 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 na potrzeby aplikacji, którą planujesz opublikować, należy użyć bardziej restrykcyjnych reguł zabezpieczeń.
- W Xcode dodaj plik
GoogleService-Info.plist
do aplikacji obok plikuInfo.plist
.
Konfigurowanie interfejsu ARCore API
Aby używać Cloud Anchors, musisz skonfigurować ARCore API dla Twojej aplikacji.
Aktualizacja podprocesu
Aplikacja CloudAnchorExample jest wysyłana ze wstępnie skonfigurowanym parametrem Podfile
ARCore SDK i wersje iOS, których potrzebujesz. Aby zainstalować te zależności:
- Otwórz okno terminala i uruchom
pod update
z folderu, w którym Projekt Xcode istnieje.
Spowoduje to wygenerowanie pliku.xcworkspace
, którego użyjesz później do skompilowania uruchom aplikację.
Zapoznaj się z sekcją Dodawanie pakietu ARCore SDK do aplikacji.
, aby dowiedzieć się, jak skonfigurować Podfile
we własnych aplikacjach.
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 móc podpisać aplikację ze swoim zespołem.
Kompilowanie i uruchamianie aplikacji
Podłącz urządzenie i uruchom aplikację w Xcode.
(Opcjonalnie) Jeśli kompilujesz i uruchamiasz przykładową aplikację, zapoznaj się z poniższymi instrukcjami .
Wypróbuj przykładową aplikację
Aby uruchomić aplikację, skompiluj i uruchom przykładową aplikację z pliku
.xcworkspace
go na swoim urządzeniu.Jeśli pojawi się prośba, przyznaj aplikacji uprawnienia do aparatu. ARKit zacznie wtedy wykrywać płaszczyzny przed kamerą.
Kliknij HOST, aby włączyć tryb hostingu. Kod pokoju służący do udostępniania hostowanych reklam zakotwiczonych jest generowany i wyświetla się na ekranie.
Kliknij samolot, aby rozpocząć hostowanie punktu połączenia w chmurze.
- Aplikacja umieszcza w samolocie obiekt Andy’ego Androida i dołącza do niego kotwicę .
- Żądanie hosta jest wysyłane do punktu końcowego w chmurze interfejsu ARCore API. Żądanie hosta zawiera dane przedstawiające położenie kotwicy względem elementów wizualnych znajdujących się w jej pobliżu.
- Po hostowaniu kotwica otrzymuje identyfikator służący do rozpoznawania chmury reklam zakotwiczonych w tym obszarze.
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 ARCore API w chmurze.
- Żądanie rozwiązania zawiera identyfikator punktu zakotwiczenia w chmurze. Jeśli identyfikator pasuje do jeśli hostowana kotwica i lokalizacja działają poprawnie, serwer zwraca od kotwicy zgodnie z lokalnymi współrzędnymi.
- Przykładowa aplikacja używa przekształcenia, aby dodać do sceny reklamę kotwicy, które będzie można renderować.
Dodaj pakiet ARCore SDK do swoich aplikacji
W swoich aplikacjach musisz zaktualizować pakiet Podfile
, aby uwzględnić pakiet ARCore SDK i obsługiwane wersje na iOS. Aby to zrobić:
Dodaj
platform
ipod
do:Podfile
projektu:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.46.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 określić czas istnienia łącza Cloud Anchor do 365 dni. Przykładowy kod dla
przy użyciu trwałych kotwic w chmurze jest dostępne w /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
w ARCore SDK na iOS z GitHuba.
Dalsze kroki
Zobacz przewodnik dla programistów Cloud Anchors dla iOS. aby zapoznać się z przykładowym kodem aplikacji i dowiedzieć się więcej o pracy z Cloud Anchors we własnych aplikacjach.
Szczegóły znajdziesz w dokumentacji interfejsu ARCore iOS API.