Guida rapida di Cloud Anchors per Android

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

Requisiti

Hardware

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

  1. In Android Studio, fai clic su Apri.

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

  1. In Android Studio, fai clic su Apri.

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

  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 all'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 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

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

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

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

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

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

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