L'API ARCore Cloud Anchor, o servizio ARCore Cloud Anchor, fornisce funzionalità di ancoraggio al cloud per le tue app per iOS, consentendole di che consentono agli utenti di dispositivi iOS e Android di condividere esperienze AR.
Questa guida spiega come:
- Configura l'ambiente di sviluppo in modo che funzioni con gli ancoraggi Cloud
- Prova l'hosting e la risoluzione degli ancoraggi in un'app di esempio
Prerequisiti
- Xcode versione 13.0 o successive
- Cocoapods 1.4.0 o versione successiva se utilizzi Cocoapods
- Un dispositivo Apple compatibile con ARKit con iOS 12.0 o versioni successive (è necessario un target di deployment di iOS 12.0 o versioni successive)
Utilizzo di Cloud Anchors
Nei passaggi seguenti viene utilizzata l'app di esempio Cloud Anchors per mostrarti le per configurare e creare un'app che supporti gli ancoraggi Cloud ARCore.
Scaricare 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 dell'app di esempio per gli ancoraggi cloud permanenti si trova in
/arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
.
Configurazione della sessione
L'app di esempio esegue le seguenti attività importanti durante la configurazione della sessione:
- Creazione di un
GARSession
- Creare un
ARSession
ed eseguirlo - L'impostazione di un
ARSessionDelegate
. - Passare
ARFrame
alGARSession
nel metodosession:didUpdateFrame:
.
Configura la condivisione dell'ID ancoraggio Cloud
L'app di esempio Cloud Anchors utilizza Firebase per condividere gli ID Cloud Anchor tra i dispositivi. Puoi utilizzare una soluzione diversa nelle tue app.
Per configurare il database Firebase nell'app di esempio:
- Segui le istruzioni di Firebase per aggiungere Firebase all'app.
- Scarica il file
GoogleService-Info.plist
generato durante l'aggiunta di Firebase alla tua app. - Attiva Firebase Storage per l'esempio:
- Vai alla console Firebase e seleziona il progetto configurato per l'app di esempio.
- Seleziona il riquadro Database.
- Nell'opzione Realtime Database, fai clic su Get Started.
- Viene visualizzato il menu Security rules for Realtime Database.
- Ai fini dell'esecuzione del Sample, seleziona Start in test mode.
- Tieni presente che se utilizzi Firebase per un'app che prevedi di pubblicare, devi utilizzare regole di sicurezza più restrittive.
- In Xcode, aggiungi il file
GoogleService-Info.plist
all'app accanto aInfo.plist
.
Configurare l'API ARCore
Per utilizzare gli ancoraggi Cloud, devi prima configurare il API ARCore per la tua applicazione.
Esegui aggiornamento pod
L'app CloudAnchorExample viene fornita con un Podfile
preconfigurato con
L'SDK ARCore e le versioni di iOS necessarie. Per installare queste dipendenze:
- Apri una finestra del terminale ed esegui
pod update
dalla cartella in cui si trova il progetto Xcode.
Viene generato un file.xcworkspace
che utilizzerai in seguito per creare e eseguire l'app.
Vedi Aggiungere l'SDK ARCore all'app
per informazioni dettagliate sulla configurazione di Podfile
nelle tue app.
Apri il file
.xcworkspace
del progetto in Xcode.Per evitare errori di generazione, assicurati di creare da
.xcworkspace
e non il file.xcodeproj
.
Modifica l'ID dell'app bundle
In Xcode, modifica l'ID bundle dell'app in modo da poterla firmare con il tuo team.
Crea ed esegui l'app
Collega il dispositivo e avvia l'app in Xcode.
(Facoltativo) Se stai creando ed eseguendo l'app di esempio, consulta la sezione seguente per informazioni dettagliate 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 tuo dispositivo.Se richiesto, concedi le autorizzazioni di accesso alla fotocamera all'app. ARKit quindi inizia a rilevare gli aerei davanti alla videocamera.
Tocca HOST per attivare la modalità di hosting. Viene generato un codice stanza per la condivisione delle ancore ospitate e visualizzato sullo schermo.
Tocca un aereo per iniziare a ospitare un ancoraggio cloud.
- L'app posiziona un oggetto Android Andy sul piano e vi attacca un'ancora.
- Viene inviata una richiesta di host all'endpoint cloud dell'API ARCore. La richiesta dell'host include i dati che rappresentano la posizione dell'ancora rispetto alle caratteristiche visive nelle vicinanze.
- Una volta ospitato, l'anchor riceve un ID utilizzato per risolvere i problemi del cloud ancorati in questo spazio.
Tocca RESOLVE e inserisci un codice stanza per accedere in precedenza ha ospitato gli ancoraggi Cloud per questa stanza utilizzando lo stesso dispositivo o uno 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'ancora ospitata e la localizzazione è riuscita, il server restituisce la trasformazione dell'ancora nelle coordinate locali.
- L'app di esempio utilizza la trasformazione per aggiungere l'ancoraggio alla scena e eseguire il rendering di oggetti virtuali collegati.
Aggiungi l'SDK ARCore alle tue app
Nelle tue app, dovrai aggiornare Podfile
per includere l'SDK ARCore e la versione di iOS supportata. Per:
Aggiungi i seguenti
platform
epod
alPodfile
del progetto:platform :ios, '11.0' pod 'ARCore/CloudAnchors', '~> 1.46.0'
- Apri una finestra Terminale ed esegui
pod update
dalla cartella in cui che il tuo progetto Xcode esista.
Viene generato un file.xcworkspace
che utilizzi per compilare e eseguire l'app.
Ancoraggi al cloud permanenti
Come descritto in Hosting di un'ancora cloud con persistenza,
puoi assegnare all'ancora cloud un TTL (time-to-live) fino a 365 giorni. Il codice di esempio per l'utilizzo di ancore cloud permanenti è disponibile nella directory /arcore-ios-sdk-master/Examples/PersistentCloudAnchorExample
nell'SDK ARCore per iOS di GitHub.
Passaggi successivi
Consulta la guida per gli sviluppatori di Cloud Anchors per iOS per esplorare il codice dell'app di esempio e scoprire di più su come utilizzare gli ancoraggi Cloud nelle tue app.
Consulta i dettagli nel riferimento all'API ARCore per iOS.