Configura le impostazioni dell'app in modo che possa utilizzare l'API Geospatial.
Prerequisiti
Assicurati di aver compreso i concetti fondamentali di AR e di come configurare una sessione ARCore prima di procedere.
Se vuoi eseguire un'app di esempio che dimostri la funzionalità descritta qui, consulta la guida rapida ARCore Geospatial per iOS.
Per ulteriori informazioni sull'API Geospatial, consulta Introduzione all'API Geospatial.
Se non hai mai sviluppato con ARCore, consulta la sezione Introduzione per informazioni sui requisiti hardware e software, sui prerequisiti e su altre informazioni specifiche per le piattaforme in uso.
Attiva l'API ARCore
Prima di utilizzare il sistema di posizionamento visivo (VPS) nella tua app, devi prima abilitare l'API ARCore in un progetto Google Cloud nuovo o esistente. Questo servizio è responsabile dell'hosting, dello stoccaggio e della risoluzione degli ancoraggi geospaziali.
È preferibile l'autorizzazione senza chiave, ma è supportata anche l'autorizzazione delle chiavi API.
Aggiungi le librerie richieste alla tua app
Dopo aver autorizzato la tua app a chiamare l'API ARCore, devi aggiungere librerie per attivare le funzionalità geospaziali nella tua app.
Aggiorna l'Podfile
per la tua app in modo che includa l'SDK ARCore e il controllo delle versioni di iOS supportato. Per:
Aggiungi i seguenti
platform
epod
aiPodfile
del tuo progetto:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.46.0'
Puoi anche specificare
platform :ios, '10.0'
, se vuoi supportare iOS 10, ma tieni presente che l'API Geospatial funzionerà in fase di esecuzione solo su iOS >= 11.Apri una finestra del terminale ed esegui
pod install
dalla cartella in cui si trova il progetto Xcode.Viene generato un file
.xcworkspace
che utilizzi per creare ed eseguire l'app.
Assicurati che l'ambiente di sviluppo soddisfi i requisiti dell'SDK ARCore, come descritto nella guida introduttiva.
Attivare le funzionalità geospaziali nella configurazione della sessione
Verificare la compatibilità del dispositivo
Non tutti i dispositivi che supportano ARCore supportano anche l'API Geospatial, come descritto nella guida introduttiva.
Utilizza
GARSession.isGeospatialModeSupported:
per controllare il dispositivo, come mostrato di seguito:
if (![self.garSession isGeospatialModeSupported:GARGeospatialModeEnabled]) {
[self setErrorStatus:@"GARGeospatialModeEnabled is not supported on this device."];
return;
}
GARSessionConfiguration *configuration = [[GARSessionConfiguration alloc] init];
configuration.geospatialMode = GARGeospatialModeEnabled;
[self.garSession setConfiguration:configuration error:&error];
if (error) {
[self setErrorStatus:[NSString stringWithFormat:@"Failed to configure GARSession: %d",
(int)error.code]];
return;
}
Chiedere all'utente le autorizzazioni di accesso alla posizione in fase di esecuzione
L'app deve richiedere le seguenti autorizzazioni di accesso alla posizione in fase di esecuzione, prima di configurare la sessione:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(si applica se iOS >= 14)
Controllare la disponibilità geospaziale nella posizione attuale del dispositivo
Poiché l'API Geospatial utilizza una combinazione di VPS e GPS per determinare una trasformazione geospaziale, l'API può essere utilizzata purché il dispositivo sia in grado di determinare la propria posizione. Nelle aree con una scarsa precisione GPS, come gli spazi interni e gli ambienti urbani ad alta densità, l'API si baserà sulla copertura VPS per generare trasformazioni ad alta precisione. In condizioni tipiche, la precisione di posizionamento dei VPS è di circa 5 metri e una precisione di rotazione di 5 gradi. Utilizza GARSession.checkVPSAvailabilityAtCoordinate:completionHandler:
per determinare se una determinata località ha copertura VPS.
L'API Geospatial può essere utilizzata anche nelle aree che non hanno copertura VPS. In ambienti esterni con poche o nessuna ostruzione sopraelevata, il GPS potrebbe essere sufficiente per generare una trasformazione con elevata precisione.
Passaggi successivi
- Ottieni la trasformazione geospaziale della fotocamera del dispositivo per determinare la posizione esatta del dispositivo dell'utente nel mondo reale.
- Verifica la disponibilità dei servizi VPS nella posizione specifica di un dispositivo.