Google consiglia di utilizzare le API di località e contesto in Google Play Services nelle app che richiedono i servizi di geolocalizzazione. Se l'app utilizza le API framework framework, è importante eseguire la migrazione a Google Play Services per sfruttare le funzionalità più recenti offerte da Google.
L'opzione preferita per ottenere i servizi di geolocalizzazione nella tua app è l'utilizzo di Google Play Services per i seguenti motivi:
- Google Play Services offre un'interfaccia semplice e una piattaforma API più pulita.
- Sei tu a specificare la qualità del servizio desiderata e le API gestiscono automaticamente le tecnologie sottostanti.
- Le API Google Play Services sono ottimizzate per le prestazioni e l'utilizzo della batteria.
- Le API Google Play Services vengono gestite attivamente. Google migliora costantemente gli algoritmi e aggiunge altre funzionalità.
Aggiorna la tua app
I passaggi seguenti descrivono la procedura per aggiornare un'app in modo da utilizzare le API di posizione e contesto:
- Configura Google Play Services nel tuo progetto.
- Utilizza l'API Location Settings per convalidare le attuali impostazioni di geolocalizzazione.
- Usa Google Play Services per funzionalità complesse come geofencing, riconoscimento delle attività e rilevamento delle attività.
- Sostituisci l'utilizzo dell'API framework Location con l'API Fused Location Provider.
- Rimuovi i riferimenti all'API Location Framework.
Configurare Google Play Services nel progetto
Per rendere disponibili le API di località e contesto al tuo progetto, devi aggiungere un riferimento al repository Maven di Google e dichiarare una dipendenza alle API richieste. Per ulteriori informazioni, consulta Configurare Google Play Services.
Utilizzare l'API Location Settings
Utilizzando l'API Geolocalizzazione, le app forniscono il livello di QoS desiderato e l'API richiede all'utente le modifiche appropriate alle impostazioni di sistema. Per utilizzare l'API Geolocalizzazione nella tua app, procedi nel seguente modo:
- Richiedi le autorizzazioni di accesso alla posizione nel manifest dell'app.
- Configura un oggetto
LocationRequest
, che specifica il livello di QoS desiderato. - Utilizza l'API delle impostazioni di geolocalizzazione per verificare le impostazioni correnti.
Per ulteriori informazioni, consulta la sezione Modifica delle impostazioni di geolocalizzazione o gli esempi di località di Google Play, ad esempio il codice.
Utilizzare Google Play Services per funzionalità complesse
Le librerie di Google Play Services ti aiutano a implementare nuove esperienze utente relative al contesto e alla consapevolezza dell'ambiente circostante. Le diverse librerie di posizione e contesto sfruttano sensori aggiuntivi oltre alla semplice posizione e lo fanno in modo efficiente dal punto di vista energetico, fornendo alla tua app dati più accurati e riducendo al contempo l'impatto sulla durata della batteria.
Incorpora queste librerie nella tua app invece di scrivere soluzioni personalizzate:
Sostituisci l'API framework location con l'API Fused Location Provider
Puoi utilizzare l'API Fused Location Provider per ottenere dati sulla posizione, ad esempio latitudine e longitudine. L'API del provider di località fusa utilizza un oggetto Location
, proprio come l'API Location Framework, per rappresentare la posizione geografica. L'API offre funzionalità per ascoltare gli aggiornamenti della posizione e per ottenere l'ultima posizione nota. Tutte queste funzionalità rendono l'API Fused Location Provider una buona candidata per sostituire i componenti che utilizzano l'API Framework Location con modifiche minime al resto dell'app.
Il recupero dell'ultima posizione nota è un buon punto di partenza per molte esperienze, in quanto si tratta di un'operazione rapida che utilizza i dati sulla posizione richiesti da qualsiasi client sul dispositivo. Per monitorare periodicamente la posizione, la tua app può iscriversi per ricevere aggiornamenti sulla posizione, che fornisce dati aggiornati e consente esperienze più complesse.
Rimuovi i riferimenti all'API framework Location
Sostituisci i riferimenti alle classi nel pacchetto com.google.android.location
con le classi del pacchetto com.google.android.gms.location
, ad eccezione dei riferimenti alla classe Location
, utilizzata dall'API del provider di località fusa. In genere, puoi rimuovere dalla tua app i componenti che gestiscono i diversi provider, ad esempio GPS e Wi-Fi. Le API di posizione e contesto gestiscono automaticamente questi provider.
Testare l'app
Per eseguire un'app che utilizza la versione più recente di Google Play Services, devi disporre di un dispositivo su cui è installata l'app Play Store e di aver eseguito l'accesso con un Account Google. A scopo di sviluppo, puoi utilizzare le seguenti opzioni:
- Un dispositivo fisico collegato al tuo ambiente di sviluppo tramite un cavo USB.
- Un emulatore con l'app Play Store installata.
Per ulteriori informazioni sulla connessione di un dispositivo fisico all'ambiente di sviluppo, consulta Esecuzione di app su un dispositivo hardware. Per creare un emulatore che includa l'app Play Store, vedi Creare e gestire dispositivi virtuali.