Krótkie opisy Cloud Anchors na Androida

Wypróbuj hosting i rozwiązanie Cloud zakotwiczonych w cloud_anchor_java i persistent_cloud_anchor_java przykładowych aplikacjach.

Którą przykładową aplikację wykorzystasz?

Kotwice w chmurze to kotwice hostowane w punkcie końcowym Cloud ARCore API. Ten interfejs API umożliwia użytkownikom dzielenie się doświadczeniami w tej samej aplikacji. Trwałe kotwice w chmurze to kotwice Cloud, które można przechowywać przez ponad 24 godziny.

  • persistent_cloud_anchor_java to implementacja przykładowego zastosowania projektu. Do autoryzacji wywołań interfejsu API ARCore używa autoryzacji bez kluczy. Ponieważ nie wykorzystuje ona backendu Firebase do udostępniania identyfikatorów kotwicy Cloud między urządzeniami, znacznie łatwiej jest uruchomić aplikację.
  • cloud_anchor_java to implementacja wielu graczy. Do autoryzacji wywołań interfejsu API ARCore używa on klucza interfejsu API.

Wymagania wstępne

Wymagania

Sprzęt

Oprogramowanie

  • Android Studio w wersji 3.0 lub nowszej i z pakietem Android SDK Platform w wersji 7.0 (poziom interfejsu API 24) lub nowszej.
  • Pakiet ARCore SDK na Androida, który możesz pobrać na 2 sposoby:
    • Pobierz ją z GitHub i rozpakuj na komputerze
    • Skopiuj 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 obejmuje przykładowe aplikacje cloud_anchor_java i persistent_cloud_anchor_java, które pozwalają zaprezentować funkcje kotwic w Cloud. Aby otworzyć aplikacje w Android Studio, wykonaj te czynności.

Trwałe kotwice w chmurze

  1. W Android Studio kliknij Otwórz.

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

Kotwice w chmurze

  1. W Android Studio kliknij Otwórz.

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

Konfigurowanie udostępniania identyfikatora kotwicy Cloud

Identyfikatory kotwic w chmurze to ciągi znaków, które identyfikują hostowane hosty Cloud. Są używane do rozpoznawania lub renderowania obiektów 3D dołączone do hostowanych kotwic.

Trwałe kotwice w chmurze

Udostępnianie identyfikatorów kotwicy Cloud odbywa się lokalnie w aplikacji. Nie musisz nic robić.

Kotwice w chmurze

Przykładowa aplikacja cloud_anchor_java korzysta z baz danych Firebase Realtime Database, aby udostępniać identyfikatory kotwicy Cloud między urządzeniami. W swoich aplikacjach możesz używać innego rozwiązania.

  1. Ręcznie dodaj Firebase do swojej aplikacji. 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 w Firebase bazę danych w czasie rzeczywistym.
  4. W Android Studio dodaj plik google-services.json do katalogu app projektu.

Autoryzuj wywołania ARCore API

Autoryzuj wywołania ARCore API do hostowania i rozwiązywania kotwic Cloud w swojej aplikacji.

Trwałe kotwice w chmurze

Użyj autoryzacji bezkluczykowej w interfejsie ARCore API w: persistent_cloud_anchor_java, aby utworzyć kotwicę Cloud z wartością TTL ponad 24 godziny.

  1. Włącz ARCore API w nowym lub istniejącym projekcie Google Cloud Platform.
  2. Utwórz identyfikator klienta OAuth swojej aplikacji na Androida w konsoli Google Cloud przy użyciu identyfikatora aplikacji i odcisku cyfrowego podpisu SHA-1. Spowoduje to powiązanie aplikacji na Androida z projektem Google Cloud Platform.

    Aby pobrać odcisk cyfrowy certyfikatu podpisywania debugowania:

    • Otwórz panel Gradle w projekcie Android Studio.
    • Otwórz persistent_cloud_zakotwicz_java > Lista zadań > Android.
    • Uruchom zadanie signingReport.

    • Skopiuj odcisk cyfrowy SHA-1 wariantu debug do pola Odcisk cyfrowy certyfikatu SHA-1 w konsoli Google Cloud.

Kotwice w chmurze

Użyj autoryzacji interfejsu API z interfejsem ARCore API w cloud_anchor_java, aby hostować i rozwiązywać problemy z kotwicami Cloud z TTL do 24 godzin.

  1. Włącz ARCore API w nowym lub istniejącym projekcie Google Cloud Platform.
  2. Uzyskaj klucz interfejsu API tego projektu z konsoli Google Cloud.
  3. W Android Studio dodaj nowy klucz interfejsu API do projektu cloud_anchor_java:

    <meta-data
       android:name="com.google.android.ar.API_KEY"
       android:value="API_KEY"/>
    

Tworzenie i uruchamianie przykładowej aplikacji

Trwał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 za pomocą kabla USB do komputera.
  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 urządzeniu, a ARCore wykryje samoloty przed aparatem urządzenia.

Błąd: ERROR_NOT_AUTHORIZED

W przypadku wystąpienia tego błędu sprawdź, czy identyfikator klienta OAuth został prawidłowo podany dla aplikacji:


Umieść kotwicę

  1. Gdy aplikacja zacznie wykrywać samoloty, kliknij ekran, aby umieścić kotwicę na jednym z wykrytych samolotów.
  2. Kliknij przycisk Host, aby umieścić umieszczoną kotwicę. Spowoduje to wysłanie żądania hosta do interfejsu Google Cloud Anchor API, który zawiera dane dotyczące pozycji kotwicy w odniesieniu do znajdujących się w niej funkcji wizualnych.

Pomyślne żądanie hosta tworzy w określonej lokalizacji kotwicę i przypisuje jej identyfikator kotwicy Cloud. Jeśli żądanie hosta jest prawidłowe, aplikacja powinna wyświetlić kod pomieszczenia. Możesz użyć tego kodu, by uzyskać dostęp do wcześniej hostowanych kotwic dla tego pokoju na dowolnym urządzeniu.

Zakończ kotwicę

  1. Kliknij ROZWIĄŻ, a potem wpisz zwrócony kod pokoju, aby uzyskać dostęp do kotwic kotwiczonych w tym pokoju. Spowoduje to wysłanie żądania rozwiązania do interfejsu ARCore API, który zwraca identyfikatory wszystkich kotwic hostowanych obecnie w pokoju. persistent_cloud_anchor_java będzie używać tych identyfikatorów do renderowania obiektów 3D przyłą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 za pomocą kabla USB do komputera.
  3. W Android Studio wybierz swoje urządzenie jako miejsce docelowe wdrożenia i kliknij Uruchom.

Aplikacja cloud_anchor_java powinna uruchomić się na urządzeniu, a ARCore wykryje samoloty 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, upewnij się, że właściwość firebase_url występuje w lokalizacji google-services.json. Aby uzyskać prawidłową wartość, upewnij się, że baza danych czasu rzeczywistego została utworzona i pobrana google-services.json.


Umieść kotwicę

  1. Gdy aplikacja zacznie wykrywać samoloty, kliknij ekran, aby umieścić kotwicę na jednym z wykrytych samolotów.
  2. Kliknij przycisk Host, aby umieścić umieszczoną kotwicę. Spowoduje to wysłanie żądania hosta do interfejsu Google Cloud Anchor API, który zawiera dane dotyczące pozycji kotwicy w odniesieniu do znajdujących się w niej funkcji wizualnych.

Pomyślne żądanie hosta tworzy kotwicę w wybranej lokalizacji i przypisuje jej identyfikator Cloud Anchors. Jeśli żądanie hosta jest prawidłowe, aplikacja powinna wyświetlić kod pomieszczenia. Możesz użyć tego kodu, by uzyskać dostęp do wcześniej hostowanych kotwic dla tego pokoju na dowolnym urządzeniu.

Zakończ kotwicę

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

Co dalej?