Interfejs ARCore Cloud Anchor API lub ARCore Cloud Anchor API zapewnia funkcje kotwicy w chmurze w aplikacjach na iOS. Dzięki temu 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 kotwicami Cloud
- Wypróbuj hosting i rozwiązywanie problemów z kotwicami 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.
- zgodne z ARKit urządzenie Apple z systemem iOS 12.0 lub nowszym (wymagane jest wdrożenie w systemie iOS 12.0 lub nowszym).
Korzystanie z kotwic w chmurze
W poniższych krokach przykładowa aplikacja Cloud Anchors pokazuje najważniejsze zadania związane z konfigurowaniem i tworzeniem aplikacji obsługującej ARCore Cloud Anchors.
Pobieranie przykładowej aplikacji Cloud Anchors
Skopiuj lub pobierz pakiet SDK ARCore SDK na iOS z GitHuba, aby uzyskać przykładowy kod aplikacji.
Otwórz okno terminala lub programu Finder i przejdź do folderu, w którym sklonowano lub pobrany pakiet SDK.
Przykładowy kod aplikacji znajdziesz tutaj:
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.Przykładowy kod aplikacji trwałych kotwic w chmurze znajduje się w folderze
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Konfiguracja sesji
W ramach konfigurowania sesji przykładowa aplikacja wykonuje te ważne zadania:
- Tworzenie
GARSession
- Tworzenie i uruchamianie obiektu
ARSession
- Konfigurowanie
ARSessionDelegate
. - Przekazywanie
ARFrame
s do metodyGARSession
w metodziesession:didUpdateFrame:
.
Konfigurowanie udostępniania identyfikatora kotwicy Cloud
Przykładowa aplikacja Cloud Anchors używa Firebase do udostępniania identyfikatorów Cloud Anchors 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 dodawania Firebase do aplikacji.
- Pobierz plik
GoogleService-Info.plist
wygenerowany podczas dodawania Firebase do aplikacji. - Włącz pamięć Firebase dla przykładu:
- Otwórz konsolę Firebase i wybierz projekt skonfigurowany dla przykładowej aplikacji.
- Wybierz panel Database.
- Przy 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 z aplikacją, którą chcesz opublikować, musisz zastosować bardziej restrykcyjne reguły zabezpieczeń.
- W Xcode dodaj do aplikacji plik
GoogleService-Info.plist
obok pozycjiInfo.plist
.
Konfigurowanie interfejsu ARCore API
Aby korzystać z kotwicy Cloud, musisz najpierw skonfigurować ARCore API dla swojej aplikacji.
Uruchom aktualizację poda
Aplikacja CloudAnchorExample ma wstępnie skonfigurowany pakiet Podfile
z pakietem SDK ARCore oraz wymaganymi wersjami iOS. Aby zainstalować te zależności:
- Otwórz okno terminala i uruchom
pod update
z folderu, w którym istnieje projekt Xcode.
Spowoduje to wygenerowanie pliku.xcworkspace
, którego użyjesz później do skompilowania i uruchomienia aplikacji.
Szczegółowe informacje o konfigurowaniu pakietu Podfile
we własnych aplikacjach znajdziesz w artykule Dodawanie pakietu SDK ARCore do aplikacji.
Otwórz plik
.xcworkspace
projektu w Xcode.Aby uniknąć błędów kompilacji, upewnij się, że kompilujesz z pliku
.xcworkspace
, a nie z pliku.xcodeproj
.
Zmień identyfikator pakietu aplikacji
W Xcode zmień identyfikator pakietu aplikacji, aby móc podpisać aplikację swojemu zespołowi.
Tworzenie i uruchamianie aplikacji
Podłącz urządzenie i uruchom aplikację w Xcode.
(Opcjonalnie) Jeśli tworzysz i uruchamiasz przykładową aplikację, w sekcji poniżej znajdziesz szczegółowe informacje na temat używania aplikacji do hostowania i rozpatrywania kotwicy Cloud.
Wypróbuj przykładową aplikację
Utwórz i uruchom przykładową aplikację z pliku
.xcworkspace
, aby uruchomić ją na urządzeniu.Gdy pojawi się prośba, przyznaj aplikacji uprawnienia do korzystania z aparatu. ARKit zacznie wtedy wykrywać samoloty przed kamerą.
Kliknij HOST, aby włączyć tryb hostingu. Kod pokoju do udostępniania hostowanych kotwic jest generowany i wyświetlany na ekranie.
Kliknij samolot, by zacząć w nim hostować kotwicę w chmurze.
- Aplikacja umieszcza obiekt Andy'ego Android na płaszczyźnie i łączy do niego kotwicę.
- Żądanie hosta jest wysyłane do punktu końcowego interfejsu ARCore API w chmurze. Żądanie hosta zawiera dane reprezentujące pozycję kotwicy w stosunku do obiektów wizualnych w jej pobliżu.
- Gdy kotwica zostanie hostowana, otrzymuje identyfikator, który jest używany do rozpoznawania kotwic w chmurze w tym pokoju.
Kliknij RESOLVE i wpisz kod pokoju, aby uzyskać dostęp do kotwic w chmurze hostowanych wcześniej dla tej sali na tym samym lub innym urządzeniu.
- Żądanie rozwiązania jest wysyłane do punktu końcowego interfejsu ARCore API w chmurze.
- Żądanie rozstrzygania zawiera identyfikator kotwicy w chmurze. Jeśli identyfikator pasuje do hostowanej kotwicy, a lokalizacja się uda, serwer zwraca przekształcenie tej kotwicy we współrzędnych lokalnych.
- Przykładowa aplikacja korzysta z przekształcenia, aby dodać kotwicę do sceny i renderować obiekty wirtualne dołączone do niej.
Dodawanie pakietu SDK ARCore do aplikacji
W swoich aplikacjach musisz zaktualizować Podfile
, aby obejmował pakiet SDK ARCore i zapewnić obsługę wersji iOS. Aby to zrobić:
Dodaj
platform
ipod
doPodfile
projektu:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.44.0'
- Otwórz okno terminala i uruchom
pod update
z folderu, w którym istnieje projekt Xcode.
Spowoduje to wygenerowanie pliku.xcworkspace
, którego użyjesz do skompilowania i uruchomienia aplikacji.
Stałe kotwice w chmurze
Zgodnie z opisem w sekcji Przechowywanie kotwicy w chmurze z zachowaniem trwałości możesz przypisać zakotwiczeniu w chmurze czas życia do 365 dni. Przykładowy kod do korzystania z trwałych kotwic w chmurze jest dostępny w katalogu /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
w pakiecie SDK ARCore SDK na iOS z GitHuba.
Dalsze kroki
Zapoznaj się z przewodnikiem dla programistów dotyczącym zakotwiczonych w chmurze na iOS, aby zapoznać się z przykładowym kodem aplikacji i dowiedzieć się więcej o korzystaniu z usług zakotwiczonych w chmurze w swoich aplikacjach.
Więcej informacji znajdziesz w dokumentacji interfejsu API ARCore na iOS.