Configura le impostazioni della tua app in modo che possa utilizzare l'API Geospatial.
Prerequisiti
Assicurati di comprendere i concetti fondamentali della realtà aumentata e su come configurare una sessione ARCore prima di procedere.
Se vuoi eseguire un'app di esempio che dimostri la funzionalità descritta vedi le Guida rapida di ARCore Geospatial per iOS.
Consulta le Introduzione all'API Geospatial per ulteriori informazioni informazioni sull'API Geospatial.
Se non hai familiarità con lo sviluppo di ARCore, consulta la Guida introduttiva. per informazioni su requisiti software e hardware, prerequisiti e e altre informazioni specifiche per le piattaforme utilizzate.
Abilita l'API ARCore
Prima di utilizzare il sistema di posizionamento visivo (VPS) nella tua app, devi Abilitare l'API ARCore in un progetto Google Cloud nuovo o esistente. Questo servizio è responsabile l'hosting, l'archiviazione e la 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 l'app a chiamare l'API ARCore, devi aggiungere librerie a attivare le funzionalità geospaziali nella tua app.
Aggiorna ilPodfile
per la tua app in modo che includa l'SDK ARCore e il sistema iOS supportato
il controllo delle versioni. Per:
Aggiungi i seguenti
platform
epod
al tuoPodfile
del progetto:platform :ios, '11.0' pod 'ARCore/Geospatial', '~> 1.45.0'
Puoi anche specificare
platform :ios, '10.0'
, se vuoi supportare iOS 10, ma tieni presente che l'API Geospatial funzionerà solo in fase di runtime su iOS >= 11.Apri una finestra Terminale ed esegui
pod install
dalla cartella in cui che il tuo progetto Xcode esiste.Viene generato un file
.xcworkspace
che puoi utilizzare per creare e eseguire l'app.
Assicurati che il tuo ambiente di sviluppo soddisfi i requisiti dell'SDK ARCore, descritta nella Guida rapida.
Attiva le funzionalità geospaziali nella configurazione della sessione
Verifica la compatibilità del dispositivo
Non tutti i dispositivi che supportano ARCore supportano anche l'API Geospatial, descritto nella guida rapida.
Utilizza le funzionalità di
GARSession.isGeospatialModeSupported:
per controllare il dispositivo, come nell'esempio seguente:
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;
}
Chiedi all'utente le autorizzazioni di accesso alla posizione in fase di runtime
La tua app deve richiedere le seguenti autorizzazioni di accesso alla posizione in fase di runtime prima configurare la sessione:
kCLAuthorizationStatusAuthorizedWhenInUse
CLAccuracyAuthorizationFullAccuracy
(si applica se iOS >= 14)
Verificare la disponibilità geospaziale nella posizione attuale del dispositivo
Poiché l'API Geospaziale utilizza una combinazione di VPS e GPS per determinare una trasformazione geospaziale, l'API può essere utilizzata purché il dispositivo sia in grado di determinarne la 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 una copertura VPS.
L'API Geospatial può essere utilizzata anche in aree che non hanno una copertura VPS. In ambienti esterni con poche ostruzioni aeree, il GPS può essere sufficiente per generare una trasformazione con un'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.