Guida rapida di Cloud Anchors per Android

Prova l'hosting e la risoluzione degli ancoraggi Cloud nelle app di esempio cloud_anchor_java e persistent_cloud_anchor_java.

Quale app di esempio dovresti utilizzare?

Gli ancoraggi Cloud sono ancoraggi ospitati sull'endpoint cloud dell'API ARCore. Questa API consente agli utenti di condividere esperienze nella stessa app. Gli ancoraggi cloud permanenti sono ancoraggi Cloud 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 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 multi-player. Utilizza una chiave API per autorizzare le chiamate API ARCore.

Prerequisiti

Requisiti

Hardware

Software

  • Android Studio versione 3.0 o successive con Android SDK Platform versione 7.0 (livello API 24) o successive
  • L'SDK ARCore per Android, disponibile in due modi:
    • Scaricala da GitHub ed estraila sul tuo computer
    • 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. Per aprire le app in Android Studio, procedi nel seguente modo.

Cloud anchor permanenti

  1. In Android Studio, fai clic su Apri.

  2. Vai al percorso sul tuo computer in cui è archiviata la directory arcore-android-sdk. Non aprire l'intera cartella dell'SDK. Invece, vai ad samples > persistent_cloud_anchor_java e fai clic su Apri.

Cloud anchor

  1. In Android Studio, fai clic su Apri.

  2. Vai al percorso sul tuo computer in cui è archiviata la directory arcore-android-sdk. Non aprire l'intera cartella dell'SDK. Invece, vai ad samples > cloud_anchor_java e fai clic su Apri.

Configura la condivisione dell'ID Cloud Anchor

Gli ID Cloud Anchor sono stringhe che identificano i Cloud Anchor ospitati. Sono utilizzati per risolvere o eseguire il rendering degli oggetti 3D allegati agli anchor ospitati.

Cloud anchor permanenti

La condivisione dell'ID Cloud Anchor viene gestita localmente nell'app e non devi fare nulla.

Cloud anchor

L'app di esempio cloud_anchor_java utilizza i database Realtime di Firebase per condividere gli ID Cloud Anchor 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 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 API ARCore

Autorizza le chiamate all'API ARCore per ospitare e risolvere gli ancoraggi Cloud per la tua app. Segui i passaggi per Utilizzare l'API ARCore su Google Cloud e utilizza l'autorizzazione senza chiave per gli ancoraggi Cloud permanenti o l'autorizzazione della chiave API per gli ancoraggi Cloud.

Crea ed esegui l'app di esempio

Cloud anchor permanenti

Eseguire l'app

  1. Assicurati che sul dispositivo siano attive le opzioni sviluppatore e il debug USB.
  2. Collega il dispositivo tramite USB alla macchina di sviluppo.
  3. In Android Studio, seleziona il dispositivo come destinazione di deployment e fai clic su Esegui.

L'app persistent_cloud_anchor_java dovrebbe avviarsi sul dispositivo per richiedere ad ARCore di rilevare gli aerei davanti alla fotocamera del dispositivo.

Se l'autorizzazione Google Cloud non va a buon fine, consulta la procedura per la risoluzione dei problemi.

Posiziona un ancoraggio

  1. Quando 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. Viene inviata una richiesta host all'API ARCore, che include i dati che rappresentano la posizione dell'ancoraggio rispetto alle funzionalità visive vicine.

Una richiesta host andata a buon fine stabilisce un ancoraggio nella posizione inserita e gli assegna un ID Cloud anchor. Se la richiesta dell'organizzatore ha esito positivo, l'app dovrebbe mostrare un codice della stanza. Puoi usare questo codice per accedere agli ancoraggi ospitati in precedenza per questa stanza virtuale su qualsiasi dispositivo.

Risolvere un ancoraggio

  1. Tocca RISOLVI e inserisci un codice stanza restituito in precedenza per accedere agli ancoraggi ospitati in questa stanza virtuale. Viene 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 di oggetti 3D collegati agli ancoraggi ospitati.

Cloud anchor

Eseguire l'app

  1. Assicurati che sul dispositivo siano attive le opzioni sviluppatore e il debug USB.
  2. Collega il dispositivo tramite USB alla macchina di sviluppo.
  3. In Android Studio, seleziona il dispositivo come destinazione di deployment e fai clic su Esegui.

L'app cloud_anchor_java dovrebbe avviarsi sul dispositivo per richiedere 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à verificando che il Realtime Database sia stato creato e scaricando google-services.json.


Posiziona un ancoraggio

  1. Quando 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. Viene inviata una richiesta host all'API ARCore, che include i dati che rappresentano la posizione dell'ancoraggio rispetto alle funzionalità visive vicine.

Una richiesta host andata a buon fine stabilisce un anchor nella posizione inserita e gli assegna un ID Cloud Anchors. Se la richiesta dell'organizzatore ha esito positivo, l'app dovrebbe mostrare un codice della stanza. Puoi usare questo codice per accedere agli ancoraggi ospitati in precedenza per questa stanza virtuale su qualsiasi dispositivo.

Risolvere un ancoraggio

  1. Tocca RISOLVI e inserisci un codice stanza restituito in precedenza per accedere agli ancoraggi ospitati in questa stanza virtuale. Viene 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 di oggetti 3D collegati agli ancoraggi ospitati.

Passaggi successivi