Krótkie wprowadzenie do Google Cloud Anchors na Androida

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

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ż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

  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 pakietu SDK. Zamiast tego otwórz samples > 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 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.

  1. Dodaj ręcznie Firebase do swojej aplikacji. Nazwa pakietu cloud_anchor_java to com.google.ar.core.examples.java.cloudanchor. Znajdziesz go tutaj: main/AndroidManifest.xml.
  2. Pobierz plik google-services.json wygenerowany po dodaniu 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.

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ę

  1. Upewnij się, że na urządzeniu są włączone opcje programisty i debugowanie USB.
  2. Podłącz urządzenie przez USB do komputera, z którego korzystasz.
  3. 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ę

  1. Gdy aplikacja zacznie wykrywać samoloty, kliknij ekran, by umieścić zakotwiczenie na jednej z wykrytych płaszczyzn.
  2. 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

  1. 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ę

  1. Upewnij się, że na urządzeniu są włączone opcje programisty i debugowanie USB.
  2. Podłącz urządzenie przez USB do komputera, z którego korzystasz.
  3. 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ę

  1. Gdy aplikacja zacznie wykrywać samoloty, kliknij ekran, by umieścić zakotwiczenie na jednej z wykrytych płaszczyzn.
  2. 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

  1. 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?