Wypróbuj hosting i rozwiązywanie zakotwiczonych elementów Cloud w przykładowych aplikacjach cloud_anchor_java
i persistent_cloud_anchor_java
.
Której przykładowej aplikacji użyjesz?
Kotwice Cloud to kotwice hostowane w punkcie końcowym w chmurze ARCore API. Ten interfejs API umożliwia użytkownikom udostępnianie treści w tej samej aplikacji. Trwałe kotwice Cloud to kotwice Cloud, które można hostować przez ponad 24 godziny.
persistent_cloud_anchor_java
to implementacja przypadku użycia dotyczącego projektu opartego na współpracy. Do autoryzacji wywołań interfejsu ARCore API używana jest autoryzacja bez klucza. Ponieważ usługa nie korzysta z backendu Firebase do udostępniania identyfikatorów Cloud Anchor między urządzeniami, konfiguracja jest znacznie łatwiejsza.cloud_anchor_java
to implementacja przypadku użycia dla wielu graczy. Używa on klucza interfejsu API do autoryzacji wywołań interfejsu ARCore API.
Wymagania wstępne
- Dowiedz się, jak działają kotwice i Cloud Anchor.
- Zainstaluj i skonfiguruj pakiet ARCore SDK na Androida.
Wymagania
Sprzęt
- urządzenie obsługujące ARCore i zainstalowaną najnowszą wersję Usług Google Play dla AR.
- Kabel USB do podłączenia urządzenia do maszyny programowania
Oprogramowanie
- Android Studio w wersji 3.0 lub nowszej z pakietem Android SDK Platform w wersji 7.0 (poziom interfejsu API 24) lub nowszym
- Pakiet ARCore SDK na Androida, który możesz pobrać na 2 sposoby:
- Pobierz go z GitHub i rozpakuj na komputerze.
- Skopiuj repozytorium za pomocą tego polecenia:
git clone https://github.com/google-ar/arcore-android-sdk.git
Otwórz przykładową aplikację w Android Studio
Pakiet ARCore SDK udostępnia przykładowe aplikacje w cloud_anchor_java
i persistent_cloud_anchor_java
, umożliwiające zademonstrowanie funkcji Cloud Anchors. Wykonaj te czynności, aby otworzyć aplikacje w Android Studio.
Trwałe kotwice chmury
W Android Studio kliknij Otwórz.
Przejdź do miejsca, w którym na komputerze jest przechowywany katalog arcore-android-sdk. Nie otwieraj całego folderu pakietu SDK. Zamiast tego otwórz samples > persistent_cloud_anchor_java i kliknij Otwórz.
Kotwice w chmurze
W Android Studio kliknij Otwórz.
Przejdź do miejsca, w którym na komputerze jest przechowywany katalog arcore-android-sdk. Nie otwieraj całego folderu pakietu SDK. Zamiast tego otwórz samples > cloud_anchor_java i kliknij Otwórz.
Konfigurowanie udostępniania identyfikatora Cloud Anchor
Identyfikatory zakotwiczonych usług Cloud to ciągi tekstowe, które identyfikują hostowane kotwice Cloud. Służą do rozpoznawania lub renderowania obiektów 3D podłączonych do hostowanych reklam zakotwiczonych.
Trwałe kotwice chmury
Udostępnianie identyfikatora Cloud Anchor jest obsługiwane lokalnie w aplikacji. Nie musisz tu nic robić.
Kotwice w chmurze
Przykładowa aplikacja cloud_anchor_java
korzysta z baz danych czasu rzeczywistego Firebase do udostępniania identyfikatorów Cloud Anchor między urządzeniami. W swoich aplikacjach możesz użyć innego rozwiązania.
- Dodaj ręcznie Firebase do swojej aplikacji. Nazwa pakietu
cloud_anchor_java
tocom.google.ar.core.examples.java.cloudanchor
. Znajdziesz go tutaj:main/AndroidManifest.xml
. - Pobierz plik
google-services.json
wygenerowany po dodaniu Firebase do aplikacji. - Utwórz bazę danych czasu rzeczywistego za pomocą Firebase.
- W Android Studio dodaj plik
google-services.json
do kataloguapp
projektu.
Autoryzuj wywołania interfejsu ARCore API
Autoryzuj wywołania interfejsu ARCore API do hostowania i rozwiązywania kotwic Cloud Anchor . Postępuj zgodnie z instrukcjami na stronie Używanie interfejsu ARCore API w Google Cloud i używanie Keyless autoryzacja dla stałych kotwic Cloud lub autoryzacji klucza interfejsu API dla Elementy zakotwiczone w chmurze.
Tworzenie i uruchamianie przykładowej aplikacji
Trwałe kotwice chmury
Uruchom aplikację
- Upewnij się, że na urządzeniu są włączone opcje programisty i debugowanie USB.
- Podłącz urządzenie przez USB do komputera, z którego korzystasz.
- W Android Studio wybierz urządzenie jako miejsce docelowe wdrożenia i kliknij Uruchom.
Na urządzeniu powinna się uruchomić funkcja persistent_cloud_anchor_java
, która informuje ARCore o wykryciu samolotów przed aparatem.
Jeśli autoryzacja Google Cloud się nie powiedzie, zapoznaj się z sekcją Rozwiązywanie problemów.
Umieść kotwicę
- Gdy aplikacja zacznie wykrywać samoloty, kliknij ekran, by umieścić zakotwiczenie na jednej z wykrytych płaszczyzn.
- Kliknij przycisk HOST, aby hostować umieszczoną kotwicę. Powoduje to wysłanie żądania hosta do interfejsu ARCore API, który zawiera dane reprezentujące położenie reklamy zakotwiczonej w stosunku do otaczających ją funkcji wizualnych.
Pomyślne żądanie hosta ustanawia kotwicę w umieszczonej lokalizacji i przypisuje jej identyfikator Cloud Anchor. Jeśli żądanie z hostem zostanie zrealizowane, aplikacja powinna wyświetlić kod pokoju. Za pomocą tego kodu możesz na dowolnym urządzeniu uzyskać dostęp do wcześniej hostowanych reklam zakotwiczonych w tym pokoju.
Rozwiązywanie kotwicy
- Aby uzyskać dostęp do reklam zakotwiczonych hostowanych w tym pokoju, kliknij ROZWIĄŻ i wpisz zwrócony kod pokoju. Spowoduje to wysłanie żądania rozwiązania do interfejsu ARCore API, które zwraca identyfikatory wszystkich reklam zakotwiczonych hostowanych obecnie w pokoju.
persistent_cloud_anchor_java
użyje tych identyfikatorów do renderowania obiektów 3D podłączonych do hostowanych kotwic.
Kotwice w chmurze
Uruchom aplikację
- Upewnij się, że na urządzeniu są włączone opcje programisty i debugowanie USB.
- Podłącz urządzenie przez USB do komputera, z którego korzystasz.
- W Android Studio wybierz urządzenie jako miejsce docelowe wdrożenia i kliknij Uruchom.
Na urządzeniu powinna się uruchomić funkcja cloud_anchor_java
, która informuje ARCore o wykryciu samolotów przed aparatem.
Błąd: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance
Jeśli wystąpi ten błąd, sprawdź, czy w polu google-services.json
występuje właściwość firebase_url
. Aby uzyskać prawidłową wartość tej usługi, sprawdź, czy Baza danych czasu rzeczywistego została utworzona i pobierając google-services.json
.
Umieść kotwicę
- Gdy aplikacja zacznie wykrywać samoloty, kliknij ekran, by umieścić zakotwiczenie na jednej z wykrytych płaszczyzn.
- Kliknij przycisk HOST, aby hostować umieszczoną kotwicę. Powoduje to wysłanie żądania hosta do interfejsu ARCore API, który zawiera dane reprezentujące położenie reklamy zakotwiczonej w stosunku do otaczających ją funkcji wizualnych.
Pomyślne żądanie hosta ustanawia kotwicę w umieszczonej lokalizacji i przypisuje jej identyfikator Cloud Anchors. Jeśli żądanie z hostem zostanie zrealizowane, aplikacja powinna wyświetlić kod pokoju. Za pomocą tego kodu możesz na dowolnym urządzeniu uzyskać dostęp do wcześniej hostowanych reklam zakotwiczonych w tym pokoju.
Rozwiązywanie kotwicy
- Kliknij ROZWIĄŻ i wpisz zwrócony wcześniej kod pokoju, aby uzyskać dostęp do reklam zakotwiczonych hostowanych w tym pokoju. Spowoduje to wysłanie żądania rozwiązania do interfejsu ARCore API, które zwraca identyfikatory wszystkich reklam zakotwiczonych hostowanych obecnie w pokoju.
cloud_anchor_java
użyje tych identyfikatorów do renderowania obiektów 3D podłączonych do hostowanych kotwic.
Co dalej?
- Aby utworzyć aplikację Cloud Anchors, wykonaj ćwiczenia z ARCore Cloud Anchors (w języku angielskim).
- Z przewodnika dla programistów Cloud Anchors dowiesz się, jak wdrożyć te kotwice w swojej aplikacji.
- Możesz zarządzać kotwicami Cloud poza aplikacją ARCore za pomocą interfejsu Cloud Anchors Management API.