Prova l'hosting e la risoluzione degli anchor con Cloud nelle app di esempio cloud_anchor_java
e persistent_cloud_anchor_java
.
Quale app di esempio dovresti usare?
Gli ancoraggi cloud sono anchor ospitati sull'endpoint cloud dell'API ARCore. Questa API consente agli utenti di condividere esperienze nella stessa app. Gli anchor con cloud permanenti sono ancora cloud che possono essere ospitati per più di 24 ore.
persistent_cloud_anchor_java
è l'implementazione di un caso d'uso di un progetto collaborativo. Utilizza l'autorizzazione senza chiave per autorizzare le chiamate API ARCore. Poiché non utilizza un backend Firebase per condividere gli ID Cloud Anchor tra dispositivi, è molto più facile iniziare a lavorare.cloud_anchor_java
è un'implementazione di un caso d'uso multiplayer. Utilizza una chiave API per autorizzare le chiamate API ARCore.
Prerequisiti
- Scopri come funzionano gli anchor e gli ancoraggi Cloud.
- Installa e configura l'SDK ARCore per Android.
Requisiti
Hardware
- Un dispositivo supportato da ARCore su cui sia installata la versione più recente di Google Play Services per AR
- Un cavo USB per collegare il dispositivo al computer di sviluppo
Software
- Android Studio 3.0 o versioni successive con Android SDK Platform 7.0 (livello API 24) o versioni successive
- L'SDK ARCore per Android, disponibile in due modi:
- Scaricalo da GitHub ed estrailo sulla tua macchina.
- Clona il repository con il comando seguente:
git clone https://github.com/google-ar/arcore-android-sdk.git
Apri l'app di esempio in Android Studio
L'SDK ARCore fornisce le app di esempio cloud_anchor_java
e persistent_cloud_anchor_java
per dimostrare la funzionalità degli ancoraggi Cloud. Segui questi passaggi per aprire le app in Android Studio.
Ancoraggi cloud permanenti
In Android Studio, fai clic su Apri.
Vai alla posizione in cui è archiviata la directory arcore-android-sdk sulla tua macchina. Non aprire l'intera cartella SDK. Invece, vai su samples > persistent_cloud_anchor_java e fai clic su Apri.
Ancoraggi cloud
In Android Studio, fai clic su Apri.
Vai alla posizione in cui è archiviata la directory arcore-android-sdk sulla tua macchina. Non aprire l'intera cartella SDK. Invece, vai su samples > cloud_anchor_java e fai clic su Apri.
Configura la condivisione dell'ID ancoraggio Cloud
Gli ID degli ancoraggi Cloud sono stringhe che identificano gli ancoraggi Cloud ospitati. Vengono utilizzati per risolvere o eseguire il rendering degli oggetti 3D collegati agli ancoraggi ospitati.
Ancoraggi cloud permanenti
La condivisione dell'ID ancoraggio Cloud viene gestita localmente nell'app. In questo caso non devi fare nulla.
Ancoraggi cloud
L'app di esempio cloud_anchor_java
utilizza i Realtime Database di Firebase per condividere gli ID ancoraggi Cloud tra i dispositivi. Puoi usare una soluzione diversa nelle tue app.
- Aggiungi manualmente Firebase alla tua app. Il nome del pacchetto
cloud_anchor_java
ècom.google.ar.core.examples.java.cloudanchor
. Puoi trovarlo inmain/AndroidManifest.xml
. - Scarica il file
google-services.json
che hai generato quando hai aggiunto Firebase all'app. - Crea un Realtime Database con Firebase.
- In Android Studio, aggiungi il file
google-services.json
alla directoryapp
del progetto.
Autorizza le chiamate API ARCore
Autorizza le chiamate all'API ARCore per ospitare e risolvere gli ancoraggi Cloud per il tuo dell'app. Segui i passaggi per Utilizzare l'API ARCore su Google Google Cloud e utilizzare Keyless autorizzazione per gli ancoraggi Cloud permanenti o autorizzazione della chiave API per Cloud anchor.
Crea ed esegui l'app di esempio
Ancoraggi cloud permanenti
Esegui l'app
- Assicurati che sul dispositivo siano attive le opzioni sviluppatore e il debug USB.
- Collega il dispositivo tramite USB al computer di sviluppo.
- In Android Studio, seleziona il tuo dispositivo come destinazione dell'implementazione e fai clic su Esegui.
persistent_cloud_anchor_java
dovrebbe avviarsi sul dispositivo, chiedendo ad ARCore di rilevare gli aerei davanti alla fotocamera del dispositivo.
Se l'autorizzazione di Google Cloud non va a buon fine, consulta la procedura di risoluzione dei problemi.
Posiziona un ancoraggio
- Dopo che l'app inizia a rilevare i piani, tocca lo schermo per posizionare un ancoraggio su uno dei piani rilevati.
- Tocca il pulsante HOST per ospitare l'ancoraggio posizionato. Verrà inviata una richiesta host all'API ARCore, che include i dati che rappresentano la posizione dell'ancoraggio rispetto alle funzionalità visive nelle vicinanze.
Una richiesta host andata a buon fine stabilisce un ancoraggio nella località posizionata e gli assegna un ID ancoraggio cloud. Se la richiesta dell'host ha esito positivo, l'app dovrebbe visualizzare un codice camera. Puoi utilizzare questo codice per accedere agli ancoraggi ospitati in precedenza per questa stanza virtuale su qualsiasi dispositivo.
Risolvi un ancoraggio
- Tocca RISOLVI e inserisci un codice camera restituito in precedenza per accedere agli ancoraggi ospitati in questa stanza virtuale. Verrà inviata una richiesta di risoluzione all'API ARCore, che restituisce gli ID di tutti gli ancoraggi attualmente ospitati nella stanza virtuale.
persistent_cloud_anchor_java
utilizzerà questi ID per eseguire il rendering degli oggetti 3D collegati agli ancoraggi ospitati.
Ancoraggi cloud
Esegui l'app
- Assicurati che sul dispositivo siano attive le opzioni sviluppatore e il debug USB.
- Collega il dispositivo tramite USB al computer di sviluppo.
- In Android Studio, seleziona il tuo dispositivo come destinazione dell'implementazione e fai clic su Esegui.
cloud_anchor_java
dovrebbe avviarsi sul dispositivo, chiedendo ad ARCore di rilevare gli aerei davanti alla fotocamera del dispositivo.
Errore: com.google.firebase.database.DatabaseException: Failed to get FirebaseDatabase instance: Specify DatabaseURL within FirebaseApp or from your getInstance
Se si verifica questo errore, assicurati che la proprietà firebase_url
sia presente in google-services.json
. Puoi ottenere il valore corretto per questa proprietà assicurandoti che il Realtime Database sia stato creato e scaricando google-services.json
.
Posiziona un ancoraggio
- Dopo che l'app inizia a rilevare i piani, tocca lo schermo per posizionare un ancoraggio su uno dei piani rilevati.
- Tocca il pulsante HOST per ospitare l'ancoraggio posizionato. Verrà inviata una richiesta host all'API ARCore, che include i dati che rappresentano la posizione dell'ancoraggio rispetto alle funzionalità visive nelle vicinanze.
Una richiesta host andata a buon fine stabilisce un ancoraggio nella località posizionata e gli assegna un ID Cloud anchor. Se la richiesta dell'host ha esito positivo, l'app dovrebbe visualizzare un codice camera. Puoi utilizzare questo codice per accedere agli ancoraggi ospitati in precedenza per questa stanza virtuale su qualsiasi dispositivo.
Risolvi un ancoraggio
- Tocca RISOLVI e inserisci un codice camera restituito in precedenza per accedere agli ancoraggi ospitati in questa stanza virtuale. Verrà inviata una richiesta di risoluzione all'API ARCore, che restituisce gli ID di tutti gli ancoraggi attualmente ospitati nella stanza virtuale.
cloud_anchor_java
utilizzerà questi ID per eseguire il rendering degli oggetti 3D collegati agli ancoraggi ospitati.
Passaggi successivi
- Crea un'app per gli ancoraggi Cloud con il codelab per ancoraggi Cloud ARCore con ancoraggi Cloud permanenti.
- Scopri come incorporare gli ancoraggi Cloud nella tua app con la guida per gli sviluppatori degli ancoraggi Cloud.
- Gestisci gli ancoraggi Cloud all'esterno dell'app ARCore utilizzando l'API Cloud Anchors Management.