Abilita l'API Geospatial per la tua app Unity (AR Foundation) che ha come target iOS

Configura le impostazioni della tua app in modo che possa utilizzare l'API Geospaziale.

Prerequisiti

Assicurati di aver compreso i concetti fondamentali di AR e di configurare una sessione ARCore prima di procedere.

Consulta l'introduzione all'API Geospatial per ulteriori informazioni sull'API Geospatial.

Se è la prima volta che utilizzi ARCore, consulta la Guida introduttiva per informazioni su requisiti software e hardware, prerequisiti e altre informazioni specifiche per le piattaforme in uso.

Per utilizzare l'API ARCore Geospatial, il tuo progetto deve supportare AR Foundation e ARCore Extensions per AR Foundation.

Abilita l'API ARCore

Prima di utilizzare il sistema di posizionamento visivo (VPS) nell'app, devi abilitare l'API ARCore in un progetto Google Cloud nuovo o esistente. Questo servizio è responsabile dell'hosting, dell'archiviazione e della risoluzione degli ancoraggi geospaziali.

È preferibile l'autorizzazione senza chiave, ma è supportata anche l'autorizzazione tramite chiave API.

Aggiungi le librerie richieste alla tua app

Dopo aver autorizzato l'app a chiamare l'API ARCore, devi aggiungere librerie per abilitare le funzionalità geospaziali nell'app.

  1. Vai a Modifica > Impostazioni progetto > Gestione plug-in XR > Estensioni ARCore. Assicurati che l'opzione Supporto iOS abilitato sia selezionata.
  2. In Funzionalità facoltative, seleziona Geospaziale.

Attiva le funzionalità geospaziali nella configurazione della sessione

Dopo aver abilitato la funzionalità geospaziale nell'app, attivala nella configurazione della sessione AR dell'app in modo che possa comunicare con l'API ARCore:

  1. Assicurati che la cartella del progetto Assets contenga un oggetto script ARCoreExtensionsConfig. Per crearne una, fai clic con il tasto destro del mouse nel riquadro Asset e seleziona Crea > XR > Configurazione estensioni ARCore.
  2. Seleziona l'oggetto script ARCoreExtensionsConfig nella cartella ARCoreExtensionsConfig e imposta la ARCoreExtensionsConfig su ARCoreExtensionsConfig.

  3. Configura l'oggetto di gioco ARCore Extensions per utilizzare la configurazione ARCoreExtensionsConfig. Nel riquadro Gerarchia, individua l'oggetto di gioco ARCore Extensions che hai creato quando hai inizialmente configurato ARCore Extensions e collega il campo ARCore Extensions Config all'oggetto script ARCoreExtensionsConfig nella cartella Assets.

Chiedi all'utente di consentire l'utilizzo dei dati del dispositivo

Le app che usano l'API ARCore Geospatial devono presentare all'utente una richiesta di conferma e di autorizzazione per l'utilizzo dei dati del dispositivo. Per ulteriori informazioni, consulta Requisiti per la privacy dell'utente.

Verificare la compatibilità del dispositivo

Non tutti i dispositivi che supportano ARCore supportano anche l'API Geospatial. Per verificare la compatibilità del dispositivo dell'utente, chiama il numero AREarthManager.IsGeospatialModeSupported(). Se viene restituito FeatureSupported.Unsupported, non tentare di configurare la sessione.

Chiedi all'utente le autorizzazioni di accesso alla posizione in fase di runtime

Per abilitare i servizi di geolocalizzazione di Unity in uno script che attiva le richieste di autorizzazione di runtime, segui questi passaggi:

  1. In Project Settings > iOS > Other Settings > Location Usage Description, inserisci il nome dell'app che richiede le autorizzazioni.

  2. Abilita i servizi di geolocalizzazione di Unity per attivare la richiesta di autorizzazione di runtime, come segue:

    public void OnEnable()
    {
        Input.location.Start();
    }
    
    public void OnDisable()
    {
        Input.location.Stop();
    }
    

    Per ulteriori informazioni, consulta la documentazione di Unity LocationService.

Controlla la disponibilità dei dati geospaziali nella posizione attuale del dispositivo

Poiché l'API Geospatial utilizza una combinazione di VPS e GPS per determinare una posa geospaziale, l'API può essere utilizzata purché il dispositivo sia in grado di determinarne la posizione. Nelle aree con scarsa precisione GPS, come spazi interni e ambienti urbani ad alta densità, l'API si affiderà alla copertura VPS per generare pose ad alta precisione. In condizioni tipiche, il VPS dovrebbe fornire una precisione di posizione di circa 5 metri e una precisione di rotazione di 5 gradi. Utilizza AREarthManager.CheckVpsAvailability() per stabilire se una determinata località ha una copertura VPS.

L'API Geospatial può essere utilizzata anche in aree che non dispongono di copertura VPS. In ambienti all'aperto con poche ostruzioni o nessuna ostruzione, il GPS può essere sufficiente per acquisire una posizione con precisione.

Passaggi successivi