Guida rapida di Cloud Anchors per Android

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

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

  1. In Android Studio, fai clic su Apri.

  2. 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

  1. In Android Studio, fai clic su Apri.

  2. 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.

  1. Aggiungi manualmente Firebase alla tua app. Il nome del pacchetto cloud_anchor_java è com.google.ar.core.examples.java.cloudanchor. Puoi trovarlo in main/AndroidManifest.xml.
  2. Scarica il file google-services.json che hai generato quando hai aggiunto Firebase alla tua app.
  3. Crea un Realtime Database con Firebase.
  4. In Android Studio, aggiungi il file google-services.json alla directory app del 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

  1. Assicurati che sul dispositivo siano attivate le opzioni sviluppatore e il debug USB.
  2. Collega il dispositivo alla macchina di sviluppo tramite USB.
  3. 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

  1. Una volta che l'app inizia a rilevare i piani, tocca lo schermo per posizionare un'ancora su uno dei piani rilevati.
  2. 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

  1. 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_java utilizzerà questi ID per eseguire il rendering degli oggetti 3D collegati alle ancore ospitate.

Cloud Anchors

Esegui l'app

  1. Assicurati che sul dispositivo siano attivate le opzioni sviluppatore e il debug USB.
  2. Collega il dispositivo alla macchina di sviluppo tramite USB.
  3. 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

  1. Una volta che l'app inizia a rilevare i piani, tocca lo schermo per posizionare un'ancora su uno dei piani rilevati.
  2. 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

  1. 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_java utilizzerà questi ID per eseguire il rendering degli oggetti 3D collegati alle ancore ospitate.

Passaggi successivi