Controlla la disponibilità del servizio VPS nella posizione attuale del dispositivo

L'API Geospatial utilizza una combinazione di dati VPS e GPS per generare trasformazioni geospaziali ad alta precisione. L'API può essere utilizzata in qualsiasi luogo in cui il dispositivo è in grado di determinare la propria posizione:

  • Nelle aree con scarsa precisione del GPS, come spazi interni e ambienti urbani densi, l'API si baserà sulla copertura VPS per generare trasformazioni ad alta precisione.
  • In ambienti esterni con poche o nessuna ostruzione sopraelevata, l'API Geospatial potrebbe essere in grado di utilizzare i dati sulla posizione GPS disponibili per generare trasformazioni geospaziali con elevata precisione.

Puoi determinare la disponibilità del VPS in una determinata posizione orizzontale prima dell'inizio della sessione AR e utilizzarla per creare esperienze più specifiche, ad esempio per mostrare un pulsante "Accedi all'AR" solo quando il VPS è disponibile.

Attiva l'API ARCore

L'app deve attivare l'API ARCore per controllare la disponibilità del VPS.

Verificare la disponibilità del VPS nell'app

L'API Geospatial può essere utilizzata in qualsiasi luogo in cui il dispositivo è in grado di determinare la propria posizione. Se la tua esperienza AR dipende dalla copertura del VPS, puoi utilizzare GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: per ottenere un GARVPSAvailabilityFuture, un'attività asincrona che controlla la disponibilità del VPS in una determinata posizione orizzontale. Una volta ottenuto GARVPSAvailabilityFuture, puoi ottenere il risultato tramite polling o tramite un callback.

Effettua il sondaggio sul risultato

Utilizza GARFuture.state per ottenere lo stato del Future. Esistono tre stati diversi:

  • GARFutureStatePending: l'operazione non è ancora completata, pertanto non è noto alcun risultato.
  • GARFutureStateCancelled: l'operazione è stata annullata da GARFuture#cancel. Eventuali chiamate di ritorno registrate non verranno mai effettuate.
  • GARFutureStateDone: l'operazione è completata. Utilizza GARVPSAvailabilityFuture.result per ottenere il risultato.

Puoi continuare a selezionare GARFuture.state finché l'attività non è completata.

Ottenere il risultato tramite una chiamata di ritorno

Puoi anche ottenere il risultato di un Future tramite un callback. Utilizza GARSession#checkVPSAvailabilityAtCoordinate:completionHandler: e fornisci un completionHandler. Questo completionHandler verrà chiamato nel thread principale subito dopo che Future avrà lo stato GARFutureStateDone.

Annullare l'Future

Usa GARFuture#cancel per tentare di annullare l'Future. A causa del parallelismo dei thread, è possibile che il tentativo di annullamento non vada a buon fine. GARFuture#cancel restituisce YES se il tentativo è riuscito e NO in caso contrario.

Utilizzare l'API Geospatial senza 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 posa con elevata precisione.

Passaggi successivi