Krótkie wprowadzenie do Google Cloud Anchors na Androida

Wypróbuj hostowanie i rozwiązywanie kotwic Cloud w cloud_anchor_java i persistent_cloud_anchor_java aplikacjach próbnych.

Którą przykładową aplikację wybrać?

Kotwice Cloud to kotwice hostowane w punkcie końcowym w chmurze ARCore API. Ten interfejs API umożliwia użytkownikom udostępnianie wrażeń w tej samej aplikacji. Trwałe kotwice Cloud to kotwice Cloud, które mogą być hostowane przez ponad 24 godziny.

  • persistent_cloud_anchor_java to implementacja przypadku użycia projektu opartego na współpracy. Używa autoryzacji bezkluczowej do autoryzowania wywołań ARCore API. Ponieważ nie korzysta z backendu Firebase do udostępniania identyfikatorów kotwic Cloud między urządzeniami, jest znacznie łatwiejsza w konfiguracji i uruchomieniu.
  • cloud_anchor_java to implementacja przypadku użycia dla wielu graczy. Używa klucza interfejsu API do autoryzowania wywołań ARCore API.

Wymagania wstępne

Wymagania

Sprzęt

  • Urządzenie obsługujące ARCore z zainstalowaną najnowszą wersją Usług Google Play dla AR.
  • Kabel USB do podłączenia urządzenia do komputera używanego do programowania.

Oprogramowanie

  • Android Studio w wersji 3.0 lub nowszej z platformą Android SDK w wersji 7.0 (poziom API 24) lub nowszej.
  • ARCore SDK na Androida, który możesz pobrać na 2 sposoby:
    • Pobierz go z GitHub i rozpakuj na swoim komputerze.
    • Sklonuj repozytorium za pomocą tego polecenia:
      git clone https://github.com/google-ar/arcore-android-sdk.git

Otwieranie przykładowej aplikacji w Android Studio

ARCore SDK udostępnia aplikacje próbne cloud_anchor_java i persistent_cloud_anchor_java, które demonstrują funkcje kotwic Cloud. Aby otworzyć aplikacje w Android Studio, wykonaj te czynności.

Trwałe kotwice Cloud

  1. W Android Studio kliknij Otwórz.

  2. Przejdź do miejsca, w którym na komputerze jest przechowywany katalog arcore-android-sdk. Nie otwieraj całego folderu SDK. Zamiast tego otwórz samples > persistent_cloud_anchor_java i kliknij Otwórz.

Kotwice Cloud

  1. W Android Studio kliknij Otwórz.

  2. Przejdź do miejsca, w którym na komputerze jest przechowywany katalog arcore-android-sdk. Nie otwieraj całego folderu SDK. Zamiast tego otwórz samples > cloud_anchor_java i kliknij Otwórz.

Konfigurowanie udostępniania identyfikatorów kotwic Cloud

Identyfikatory kotwic Cloud to ciągi znaków, które identyfikują hostowane kotwice Cloud. Służą one do rozwiązywania lub renderowania obiektów 3D dołączonych do hostowanych kotwic.

Trwałe kotwice Cloud

Udostępnianie identyfikatorów kotwic Cloud jest utrzymywane lokalnie w aplikacji. Nie musisz nic robić.

Kotwice Cloud

Przykładowa aplikacja cloud_anchor_java używa baz danych czasu rzeczywistego Firebase do udostępniania identyfikatorów kotwic Cloud między urządzeniami. W swoich aplikacjach możesz użyć innego rozwiązania.

  1. Ręcznie dodaj Firebase do aplikacji. Nazwa pakietu to com.google.ar.core.examples.java.cloudanchor.cloud_anchor_java Znajdziesz ją w main/AndroidManifest.xml.
  2. Pobierz plik google-services.json wygenerowany podczas dodawania Firebase do aplikacji.
  3. Utwórz bazę danych czasu rzeczywistego w Firebase.
  4. W Android Studio dodaj plik google-services.json do katalogu app projektu.

Autoryzowanie wywołań ARCore API

Autoryzuj wywołania ARCore API, aby hostować i rozwiązywać kotwice Cloud w swojej aplikacji. Wykonaj czynności opisane w artykule Korzystanie z ARCore API w Google Cloud i użyj autoryzacji bezkluczowej w przypadku trwałych kotwic Cloud lub autoryzacji za pomocą klucza interfejsu API w przypadku kotwic Cloud.

Kompilowanie i uruchamianie przykładowej aplikacji

Trwałe kotwice Cloud

Uruchamianie aplikacji

  1. Upewnij się, że na urządzeniu są włączone opcje programisty i debugowanie USB.
  2. Podłącz urządzenie do komputera używanego do programowania za pomocą kabla USB.
  3. W Android Studio wybierz urządzenie jako miejsce docelowe wdrożenia i kliknij Uruchom.

Aplikacja persistent_cloud_anchor_java powinna się uruchomić na urządzeniu, co spowoduje, że ARCore zacznie wykrywać płaszczyzny przed kamerą urządzenia.

Jeśli autoryzacja w Google Cloud się nie powiedzie, zapoznaj się z instrukcjami rozwiązywania problemów.

Umieszczanie kotwicy

  1. Gdy aplikacja zacznie wykrywać płaszczyzny, kliknij ekran, aby umieścić kotwicę na jednej z wykrytych płaszczyzn.
  2. Kliknij przycisk HOST (Hostuj), aby hostować umieszczoną kotwicę. Spowoduje to wysłanie żądania hostowania do ARCore API, które zawiera dane reprezentujące położenie kotwicy względem znajdujących się w pobliżu elementów wizualnych.

Pomyślne żądanie hostowania tworzy kotwicę w umieszczonej lokalizacji i przypisuje jej identyfikator kotwicy Cloud. Jeśli żądanie hostowania się powiedzie, aplikacja powinna wyświetlić kod pokoju. Możesz użyć tego kodu, aby uzyskać dostęp do wcześniej hostowanych kotwic w tym pokoju na dowolnym urządzeniu.

Rozwiązywanie kotwicy

  1. Kliknij RESOLVE (Rozwiąż) i wpisz wcześniej zwrócony kod pokoju, aby uzyskać dostęp do kotwic hostowanych w tym pokoju. Spowoduje to wysłanie żądania rozwiązania do ARCore API, które zwraca identyfikatory wszystkich kotwic aktualnie hostowanych w pokoju. Aplikacja persistent_cloud_anchor_java użyje tych identyfikatorów do renderowania obiektów 3D dołączonych do hostowanych kotwic.

Kotwice Cloud

Uruchamianie aplikacji

  1. Upewnij się, że na urządzeniu są włączone opcje programisty i debugowanie USB.
  2. Podłącz urządzenie do komputera używanego do programowania za pomocą kabla USB.
  3. W Android Studio wybierz urządzenie jako miejsce docelowe wdrożenia i kliknij Uruchom.

Aplikacja cloud_anchor_java powinna się uruchomić na urządzeniu, co spowoduje, że ARCore zacznie wykrywać płaszczyzny przed kamerą urządzenia.

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, upewnij się, że właściwość firebase_url jest obecna w pliku google-services.json. Aby uzyskać prawidłową wartość tej właściwości, upewnij się, że baza danych czasu rzeczywistego została utworzona, i pobierz plik google-services.json.


Umieszczanie kotwicy

  1. Gdy aplikacja zacznie wykrywać płaszczyzny, kliknij ekran, aby umieścić kotwicę na jednej z wykrytych płaszczyzn.
  2. Kliknij przycisk HOST (Hostuj), aby hostować umieszczoną kotwicę. Spowoduje to wysłanie żądania hostowania do ARCore API, które zawiera dane reprezentujące położenie kotwicy względem znajdujących się w pobliżu elementów wizualnych.

Pomyślne żądanie hostowania tworzy kotwicę w umieszczonej lokalizacji i przypisuje jej identyfikator kotwicy Cloud. Jeśli żądanie hostowania się powiedzie, aplikacja powinna wyświetlić kod pokoju. Możesz użyć tego kodu, aby uzyskać dostęp do wcześniej hostowanych kotwic w tym pokoju na dowolnym urządzeniu.

Rozwiązywanie kotwicy

  1. Kliknij RESOLVE (Rozwiąż) i wpisz wcześniej zwrócony kod pokoju, aby uzyskać dostęp do kotwic hostowanych w tym pokoju. Spowoduje to wysłanie żądania rozwiązania do ARCore API, które zwraca identyfikatory wszystkich kotwic aktualnie hostowanych w pokoju. Aplikacja cloud_anchor_java użyje tych identyfikatorów do renderowania obiektów 3D dołączonych do hostowanych kotwic.

Co dalej?