Prova l'hosting e la risoluzione di Cloud Anchors nelle app di esempio cloud_anchor_java e persistent_cloud_anchor_java.
Quale app di esempio devi utilizzare?
Cloud Anchors sono ancore ospitate sull'endpoint cloud dell'API ARCore. Questa API consente agli utenti di condividere esperienze nella stessa app. I Cloud Anchors persistenti sono Cloud Anchors che possono essere ospitati per più di 24 ore.
persistent_cloud_anchor_javaè un'implementazione di un caso d'uso di un progetto collaborativo. Utilizza l'autorizzazione senza chiave per autorizzare le chiamate all'API ARCore. Poiché non utilizza un backend Firebase per condividere gli ID Cloud Anchor tra i dispositivi, è molto più facile iniziare a utilizzarlo.cloud_anchor_javaè un'implementazione di un caso d'uso multigiocatore. Utilizza una chiave API per autorizzare le chiamate all'API ARCore.
Prerequisiti
- Comprendere come funzionano le ancore e Cloud Anchors.
- Installare e configurare l'SDK ARCore per Android.
Requisiti
Hardware
- Un dispositivo supportato da ARCore con l'ultima versione di Google Play Services per AR installata
- Un cavo USB per collegare il dispositivo alla macchina di sviluppo
Software
- Android Studio versione 3.0 o successive con la piattaforma SDK Android versione 7.0 (livello API 24) o successive
- L'SDK ARCore per Android, che puoi ottenere 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à Cloud Anchors. Segui questi passaggi per aprire le app in Android Studio.
Cloud Anchors persistenti
In Android Studio, fai clic su Apri.
Vai alla posizione in cui è memorizzata la directory arcore-android-sdk sulla tua macchina. Non aprire l'intera cartella dell'SDK. Vai invece a samples > persistent_cloud_anchor_java e fai clic su Apri.
Cloud Anchors
In Android Studio, fai clic su Apri.
Vai alla posizione in cui è memorizzata la directory arcore-android-sdk sulla tua macchina. Non aprire l'intera cartella dell'SDK. Vai invece a samples > cloud_anchor_java e fai clic su Apri.
Configura la condivisione degli ID Cloud Anchor
Gli ID Cloud Anchor sono stringhe che identificano i Cloud Anchor ospitati. Vengono utilizzati per risolvere o eseguire il rendering degli oggetti 3D collegati alle ancore ospitate.
Cloud Anchors persistenti
La condivisione degli ID Cloud Anchor viene gestita localmente nell'app. Non devi fare nulla qui.
Cloud Anchors
L'app di esempio cloud_anchor_java utilizza i database in tempo reale di Firebase per condividere gli ID Cloud Anchor tra i dispositivi. Puoi utilizzare 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.jsonche hai generato quando hai aggiunto Firebase alla tua app. - Crea un Realtime Database con Firebase.
- In Android Studio, aggiungi il file
google-services.jsonalla directoryappdel progetto.
Autorizza le chiamate all'API ARCore
Autorizza le chiamate all'API ARCore per ospitare e risolvere Cloud Anchors per la tua app. Segui i passaggi descritti in Utilizzare l'API ARCore su Google Cloud e utilizza l'autorizzazione senza chiave per i Cloud Anchor persistenti o l'autorizzazione con chiave API per Cloud Anchors.
Crea ed esegui l'app di esempio
Cloud Anchors persistenti
Esegui l'app
- Assicurati che sul dispositivo siano attivate le opzioni sviluppatore e il debug USB.
- Collega il dispositivo alla macchina di sviluppo tramite USB.
- In Android Studio, seleziona il dispositivo come target di deployment e fai clic su Esegui.
persistent_cloud_anchor_java dovrebbe essere avviata sul dispositivo, richiedendo ad ARCore di rilevare i piani davanti alla videocamera del dispositivo.
Se l'autorizzazione di Google Cloud non va a buon fine, consulta i passaggi per la risoluzione dei problemi.
Posiziona un'ancora
- Una volta che l'app inizia a rilevare i piani, tocca lo schermo per posizionare un'ancora su uno dei piani rilevati.
- Tocca il pulsante HOST per ospitare l'ancora posizionata. Viene inviata una richiesta di hosting all'API ARCore, che include i dati che rappresentano la posizione dell'ancora rispetto alle funzionalità visive nelle vicinanze.
Una richiesta di hosting riuscita stabilisce un'ancora nella posizione in cui è stata posizionata e le assegna un ID Cloud Anchor. Se la richiesta di hosting va a buon fine, l'app dovrebbe mostrare un codice della stanza. Puoi utilizzare questo codice per accedere alle ancore ospitate in precedenza per questa stanza su qualsiasi dispositivo.
Risolvi un'ancora
- Tocca RISOLVI e inserisci un codice della stanza restituito in precedenza per accedere alle ancore ospitate in questa stanza. Viene inviata una richiesta di risoluzione all'API ARCore, che restituisce gli ID di tutte le ancore attualmente ospitate nella stanza.
persistent_cloud_anchor_javautilizzerà questi ID per eseguire il rendering degli oggetti 3D collegati alle ancore ospitate.
Cloud Anchors
Esegui l'app
- Assicurati che sul dispositivo siano attivate le opzioni sviluppatore e il debug USB.
- Collega il dispositivo alla macchina di sviluppo tramite USB.
- In Android Studio, seleziona il dispositivo come target di deployment e fai clic su Esegui.
cloud_anchor_java dovrebbe essere avviata sul dispositivo, richiedendo ad ARCore di rilevare i piani davanti alla videocamera 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'ancora
- Una volta che l'app inizia a rilevare i piani, tocca lo schermo per posizionare un'ancora su uno dei piani rilevati.
- Tocca il pulsante HOST per ospitare l'ancora posizionata. Viene inviata una richiesta di hosting all'API ARCore, che include i dati che rappresentano la posizione dell'ancora rispetto alle funzionalità visive nelle vicinanze.
Una richiesta di hosting riuscita stabilisce un'ancora nella posizione in cui è stata posizionata e le assegna un ID Cloud Anchor. Se la richiesta di hosting va a buon fine, l'app dovrebbe mostrare un codice della stanza. Puoi utilizzare questo codice per accedere alle ancore ospitate in precedenza per questa stanza su qualsiasi dispositivo.
Risolvi un'ancora
- Tocca RISOLVI e inserisci un codice della stanza restituito in precedenza per accedere alle ancore ospitate in questa stanza. Viene inviata una richiesta di risoluzione all'API ARCore, che restituisce gli ID di tutte le ancore attualmente ospitate nella stanza.
cloud_anchor_javautilizzerà questi ID per eseguire il rendering degli oggetti 3D collegati alle ancore ospitate.
Passaggi successivi
- Crea un'app Cloud Anchors con il codelab ARCore Cloud Anchors con Cloud Anchors persistenti.
- Scopri come incorporare Cloud Anchors nella tua app con la guida per gli sviluppatori di Cloud Anchors.
- Gestisci Cloud Anchors al di fuori dell'app ARCore utilizzando l'API di gestione di Cloud Anchors.