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
- Dowiedz się, jak działają kotwice i kotwice w chmurze.
- Zainstaluj i skonfiguruj pakiet ARCore SDK na Androida.
Wymagania
Sprzęt
- urządzenie obsługujące ARCore z najnowszą wersją Usług Google Play dla AR.
- Kabel USB do podłączenia urządzenia do platformy programisty
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
W Android Studio kliknij Otwórz.
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
W Android Studio kliknij Otwórz.
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.
- Ręcznie dodaj Firebase do swojej aplikacji. Nazwa pakietu
cloud_anchor_java
tocom.google.ar.core.examples.java.cloudanchor
. Znajdziesz go wmain/AndroidManifest.xml
. - Pobierz plik
google-services.json
wygenerowany podczas dodawania Firebase do aplikacji. - Utwórz w Firebase bazę danych w czasie rzeczywistym.
- W Android Studio dodaj plik
google-services.json
do kataloguapp
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.
- Włącz ARCore API w nowym lub istniejącym projekcie Google Cloud Platform.
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.
- Otwórz panel Gradle w projekcie Android Studio.
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.
- Włącz ARCore API w nowym lub istniejącym projekcie Google Cloud Platform.
- Uzyskaj klucz interfejsu API tego projektu z konsoli Google Cloud.
W Android Studio dodaj nowy klucz interfejsu API do projektu
cloud_anchor_java
:- Umieść klucz interfejsu API w elemencie
<meta-data>
w elemencie<application>
wapp/manifests/AndroidManifest.xml
:
<meta-data android:name="com.google.android.ar.API_KEY" android:value="API_KEY"/>
- Umieść klucz interfejsu API w elemencie
Tworzenie i uruchamianie przykładowej aplikacji
Trwałe kotwice w chmurze
Uruchom aplikację
- Upewnij się, że na urządzeniu są włączone opcje programisty i debugowanie USB.
- Podłącz urządzenie za pomocą kabla USB do komputera.
- 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:
- Znajdź aplikację
apksigner
w katalogubuild-tools
pakietu Android SDK. Uruchomapksigner verify --print-certs your-app.apk
, aby sprawdzić, czy identyfikator aplikacji i podpis SHA-1 są zgodne z identyfikatorami klienta OAuth 2.0 w projekcie Google Cloud Platform. - Znajdź plik
aapt
w katalogubuild-tools
pakietu Android SDK. Uruchomaapt dump badging your-app.apk | grep package:
, aby potwierdzić, że nazwa pakietu utworzonego pliku APK jest taka sama jak nazwa pakietu Google Cloud Platform. - Sprawdź, czy w Google Cloud Platform masz włączony interfejs ARCore API.
Umieść kotwicę
- Gdy aplikacja zacznie wykrywać samoloty, kliknij ekran, aby umieścić kotwicę na jednym z wykrytych samolotów.
- 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ę
- 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ę
- Upewnij się, że na urządzeniu są włączone opcje programisty i debugowanie USB.
- Podłącz urządzenie za pomocą kabla USB do komputera.
- 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ę
- Gdy aplikacja zacznie wykrywać samoloty, kliknij ekran, aby umieścić kotwicę na jednym z wykrytych samolotów.
- 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ę
- 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?
- Utwórz aplikację Cloud Anchors za pomocą ARCore Cloud zakotwiczonych z trwałymi ćwiczeniami z programowania Cloud Anchors.
- Więcej informacji o tym, jak włączyć Cloud Anchor w aplikacjach, znajdziesz w przewodniku dla programistów Cloud Anchors.
- Możesz zarządzać elementami Cloud zakotwiczonymi poza aplikacją ARCore za pomocą interfejsu Cloud Anchors Management API.