L'API ARCore Cloud Anchor o ARCore Cloud Anchor fornisce funzionalità di ancoraggio al cloud per le app per iOS, consentendo agli utenti su dispositivi iOS e Android di condividere esperienze AR.
Questa guida illustra come:
- Configura l'ambiente di sviluppo in modo che funzioni con gli ancoraggi Cloud
- Prova l'hosting e la risoluzione degli anchor in un'app di esempio
Prerequisiti
- Xcode 13.0 o versioni successive
- Cocoapods 1.4.0 o versioni successive se utilizzi Cocoapods
- Un dispositivo Apple compatibile con ARKit con iOS 12.0 o versioni successive (target di deployment per iOS 12.0 o versioni successive)
Utilizzo di Cloud anchor
I passaggi seguenti utilizzano l'app di esempio Cloud Anchors per mostrare le attività fondamentali per la configurazione e la creazione di un'app che supporti ARCore Cloud Anchor.
Scarica l'app di esempio Cloud Anchors
Clona o scarica l'SDK ARCore per iOS da GitHub per ottenere il codice dell'app di esempio.
Apri una finestra del terminale o del Finder e vai alla cartella in cui hai clonato o scaricato l'SDK.
Puoi trovare il codice dell'app di esempio in
/arcore-ios-sdk-master/Examples/CloudAnchorExample
.Il codice di esempio dell'app per gli ancoraggi cloud permanenti è in
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Configurazione della sessione
L'app di esempio esegue le seguenti attività importanti nell'ambito della configurazione della sessione:
- Creazione di una
GARSession
in corso... - Creazione e esecuzione di una
ARSession
- Impostazione di una
ARSessionDelegate
. - Passaggio di
ARFrame
aGARSession
nel metodosession:didUpdateFrame:
.
Configura la condivisione dell'ID Cloud Anchor
L'app di esempio Cloud Anchors utilizza Firebase per la condivisione degli ID Cloud Anchors tra i dispositivi. Puoi usare una soluzione diversa nelle tue app.
Per configurare il database Firebase nell'app di esempio:
- Segui le istruzioni di Firebase per aggiungere Firebase alla tua app.
- Scarica il file
GoogleService-Info.plist
generato durante l'aggiunta di Firebase alla tua app. - Abilita Firebase Storage per l'esempio:
- Vai alla console di Firebase e seleziona il progetto configurato per l'app di esempio.
- Seleziona il riquadro Database.
- Nell'opzione Realtime Database, fai clic su Get Started.
- Si apre il menu Security rules for Realtime Database.
- Ai fini dell'esecuzione dell'esempio, seleziona Start in test mode.
- Tieni presente che se utilizzi Firebase per un'app che intendi pubblicare, dovresti utilizzare regole di sicurezza più restrittive.
- In Xcode, aggiungi il file
GoogleService-Info.plist
alla tua app, accanto aInfo.plist
.
Configurare l'API ARCore
Per utilizzare gli anchor Cloud, devi prima configurare l'API ARCore per l'applicazione.
Esegui aggiornamento pod
L'app CloudAnchorExample viene fornita con un Podfile
preconfigurato con l'SDK ARCore e le versioni iOS di cui avrai bisogno. Per installare queste dipendenze:
- Apri una finestra Terminale ed esegui
pod update
dalla cartella in cui si trova il progetto Xcode.
Viene generato un file.xcworkspace
che utilizzerai in un secondo momento per creare ed eseguire l'app.
Vedi Aggiungere l'SDK ARCore all'app
per i dettagli sulla configurazione di Podfile
nelle tue app.
Apri il file
.xcworkspace
del progetto in Xcode.Per evitare errori di build, assicurati di creare il file
.xcworkspace
e non il file.xcodeproj
.
Modificare l'ID app bundle
In Xcode, modifica l'ID gruppo dell'app in modo da poter firmare l'app con il tuo team.
Crea ed esegui l'app
Connetti il tuo dispositivo e avvia l'app in Xcode.
(Facoltativo) Se stai creando ed eseguendo l'app di esempio, consulta la sezione seguente per maggiori dettagli sull'utilizzo dell'app per ospitare e risolvere gli ancoraggi Cloud.
Prova l'app di esempio
Crea ed esegui l'app di esempio dal file
.xcworkspace
per avviarla sul dispositivo.Se richiesto, concedi all'app le autorizzazioni di accesso alla fotocamera. ARKit inizierà quindi a rilevare gli aerei di fronte alla videocamera.
Tocca HOST per attivare la modalità di hosting. Viene generato un codice stanza per la condivisione di ancoraggi ospitati che viene visualizzato sullo schermo.
Tocca un aereo per iniziare a ospitare lì un ancoraggio al cloud.
- L'app posiziona un oggetto Andy Android sull'aereo e vi aggancia un ancoraggio.
- Viene inviata una richiesta host all'endpoint cloud dell'API ARCore. La richiesta host include dati che rappresentano la posizione dell'ancoraggio in relazione alle caratteristiche visive vicine.
- Una volta ospitato, l'ancoraggio riceve un ID utilizzato per risolvere gli ancoraggi al cloud in questo spazio.
Tocca RESOLVE e inserisci un codice stanza per accedere agli ancoraggi Cloud ospitati in precedenza per questa stanza virtuale, utilizzando lo stesso dispositivo o un dispositivo diverso.
- Viene inviata una richiesta di risoluzione all'endpoint cloud dell'API ARCore.
- La richiesta di risoluzione include un ID ancoraggio cloud. Se l'ID corrisponde a un ancoraggio ospitato e la localizzazione ha esito positivo, il server restituisce la trasformazione dell'ancoraggio nelle coordinate locali.
- L'app di esempio utilizza la trasformazione per aggiungere l'ancoraggio alla scena e visualizzare gli oggetti virtuali associati.
Aggiungi l'SDK ARCore alle tue app
Nelle tue app devi aggiornare Podfile
per includere l'SDK ARCore e il controllo delle versioni supportato per iOS. Per farlo:
Aggiungi
platform
epod
seguenti alPodfile
del progetto:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.44.0'
- Apri una finestra Terminale ed esegui
pod update
dalla cartella in cui si trova il tuo progetto Xcode.
Viene generato un file.xcworkspace
che puoi utilizzare per creare ed eseguire l'app.
Ancoraggi cloud permanenti
Come descritto in Hosting di un anchor Cloud con persistenza,
puoi concedere all'ancoraggio cloud una durata fino a 365 giorni. Il codice di esempio per l'utilizzo di anchor cloud permanenti è disponibile nella directory /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
dell'SDK ARCore per iOS su GitHub.
Passaggi successivi
Consulta la guida per gli sviluppatori di Cloud Anchors per iOS per esplorare il codice dell'app di esempio e saperne di più sull'utilizzo di Cloud Anchors nelle tue app.
Esamina i dettagli nel riferimento sull'API ARCore per iOS.