Krótkie wprowadzenie do Google Cloud Anchors na Androida

Wypróbuj hosting i rozwiązywanie problemów z kotwicami w chmurze 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 ARCore API w chmurze. Ten interfejs API umożliwia użytkownikom dzielenie się doświadczeniami w tej samej aplikacji. Trwałe kotwice w chmurze to kotwice w chmurze, które można przechowywać przez ponad 24 godziny.

  • Element persistent_cloud_anchor_java jest implementacją projektu opartego na współpracy. Wykorzystuje autoryzację bez klucza do autoryzacji wywołań interfejsu ARCore API. Nie wykorzystuje backendu Firebase do udostępniania identyfikatorów Cloud Anchor między urządzeniami, dlatego jego uruchomienie jest znacznie łatwiejsze.
  • cloud_anchor_java to implementacja przypadku gry wieloosobowej. Używa klucza interfejsu API do autoryzacji wywołań interfejsu ARCore API.

Wymagania wstępne

Wymagania

Sprzęt

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żna pobrać na 2 sposoby:
    • Pobierz go z GitHub i wyodrębnij na swój komputer.
    • Sklonuj repozytorium za pomocą tego polecenia:
      git clone https://github.com/google-ar/arcore-android-sdk.git

Otwieranie przykładowej aplikacji w Android Studio

Pakiet ARCore SDK udostępnia przykładowe aplikacje cloud_anchor_java i persistent_cloud_anchor_java, aby zademonstrować działanie funkcji kotwicy w chmurze. Wykonaj te czynności, aby otworzyć aplikacje w Android Studio.

Stałe kotwice w chmurze

  1. W Android Studio kliknij Otwórz.

  2. Przejdź do miejsca, w którym znajduje się na komputerze katalog arcore-android-sdk. Nie otwieraj całego folderu pakietu SDK. Zamiast tego otwórz Przykłady > persistent_cloud_Anchor_java i kliknij Otwórz.

Kotwice w chmurze

  1. W Android Studio kliknij Otwórz.

  2. Przejdź do miejsca, w którym znajduje się na komputerze katalog arcore-android-sdk. Nie otwieraj całego folderu pakietu SDK. Zamiast tego otwórz Przykłady > cloud_Anchor_java i kliknij Otwórz.

Konfigurowanie udostępniania identyfikatora kotwicy Cloud

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

Stałe kotwice w chmurze

Udostępnianie identyfikatora kotwicy w chmurze 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.

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

Autoryzacja wywołań interfejsu ARCore API

Autoryzuj wywołania interfejsu ARCore API w celu hostowania i rozpatrywania kotwic w chmurze w Twojej aplikacji. Wykonaj czynności opisane w sekcji Korzystanie z interfejsu ARCore API w Google Cloud (w języku angielskim) i użyj autoryzacji bez klucza w przypadku stałych kotwic w chmurze lub autoryzacji kluczy interfejsu API w przypadku kotwic w chmurze.

Tworzenie i uruchamianie przykładowej aplikacji

Stałe kotwice w chmurze

Uruchom aplikację

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

Aplikacja persistent_cloud_anchor_java powinna uruchomić się na Twoim urządzeniu, zachęcając ARCore do wykrycia samolotów przed aparatem urządzenia.

Jeśli autoryzacja Google Cloud się nie powiedzie, zobacz Rozwiązywanie problemów.

Umieść kotwicę

  1. Gdy aplikacja zacznie wykrywać samoloty, dotknij ekranu, aby umieścić na jednym z wykrytych samolotów kotwicę.
  2. Kliknij przycisk HOST, aby hostować umieszczoną kotwicę. Powoduje to wysłanie do interfejsu ARCore API żądania hosta z danymi reprezentującymi pozycję kotwicy względem obiektów wizualnych w pobliżu.

Pomyślne żądanie hosta powoduje ustanowienie kotwicy w umieszczonej lokalizacji i przypisanie jej identyfikatora kotwicy w chmurze. Jeśli żądanie hosta się powiedzie, aplikacja powinna wyświetlić kod pokoju. Możesz użyć tego kodu, aby na dowolnym urządzeniu uzyskać dostęp do wcześniej hostowanych kotwic w tym pomieszczeniu.

Rozwiązywanie problemu z kotwicą

  1. Kliknij ROZWIĄŻ i wpisz zwrócony wcześniej kod pokoju, aby uzyskać dostęp do kotwic hostowanych w tym pokoju. Powoduje to wysłanie do interfejsu ARCore API żądania rozwiązania, które zwraca identyfikatory wszystkich kotwic obecnie hostowanych w pokoju. persistent_cloud_anchor_java będzie używać tych identyfikatorów do renderowania obiektów 3D dołączonych do hostowanych kotwic.

Kotwice w chmurze

Uruchom aplikację

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

Aplikacja cloud_anchor_java powinna uruchomić się na Twoim urządzeniu, zachęcając ARCore do wykrycia samolotów przed aparatem urządzenia.

Błąd: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance

Jeśli napotkasz ten błąd, sprawdź, czy właściwość firebase_url występuje w elemencie google-services.json. Aby uzyskać prawidłową wartość dla tej właściwości, sprawdź, czy Baza danych czasu rzeczywistego została utworzona i pobierz plik google-services.json.


Umieść kotwicę

  1. Gdy aplikacja zacznie wykrywać samoloty, dotknij ekranu, aby umieścić na jednym z wykrytych samolotów kotwicę.
  2. Kliknij przycisk HOST, aby hostować umieszczoną kotwicę. Powoduje to wysłanie do interfejsu ARCore API żądania hosta z danymi reprezentującymi pozycję kotwicy względem obiektów wizualnych w pobliżu.

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

Rozwiązywanie problemu z kotwicą

  1. Kliknij ROZWIĄŻ i wpisz zwrócony wcześniej kod pokoju, aby uzyskać dostęp do kotwic hostowanych w tym pokoju. Powoduje to wysłanie do interfejsu ARCore API żądania rozwiązania, które zwraca identyfikatory wszystkich kotwic obecnie hostowanych w pokoju. cloud_anchor_java będzie używać tych identyfikatorów do renderowania obiektów 3D dołączonych do hostowanych kotwic.

Co dalej?