Ottenere la posizione approssimativa

Per rispettare la privacy degli utenti, gli sviluppatori di app sono invitati a richiedere solo autorizzazioni di accesso alla posizione approssimative. Le app che richiedono una posizione approssimativa approssimativa in genere utilizzano la posizione di rete (FLP) perché è veloce e consuma meno energia.

Rispetto ai dispositivi mobili basati su Android, la posizione di rete nelle app per auto e motori può essere più complessa. Puoi utilizzare due API Android:

  • L'API LocationManager richiede di identificare esplicitamente il fornitore di servizi di geolocalizzazione preferito.

  • L'API Google Play Services offre un modo più semplice per lavorare con la posizione con l'introduzione del fornitore di posizione combinato (FLP).

Molte app per auto e motori utilizzano FLP dall'API Google Play Services (GPS) anziché LM. FLP seleziona il fornitore di servizi di geolocalizzazione ottimale in base ai criteri e alle norme (potenza e precisione) delle richieste di geolocalizzazione necessari per il veicolo.

In alternativa, puoi scegliere di richiedere e utilizzare esplicitamente NETWORK_PROVIDER in LM, nonché GPS_PROVIDER per le posizioni precise, che utilizzano android.permission.ACCESS_FINE_LOCATION autorizzazioni. Nell'API 31, FUSED_PROVIDER, in precedenza accessibile solo tramite l'API GPS, è ora disponibile come fornitore di posizione per LM. Puoi visualizzare un'implementazione più semplice del FLP in FusedLocationProvider.java.

Sebbene sia possibile utilizzare GPS_PROVIDER solo con diritti di autorizzazione approssimativi, il framework riduce artificialmente l'accuratezza per allinearsi alle aspettative. Inoltre, non ha molto senso per gli sviluppatori che hanno come target gli smartphone Android perché la disponibilità complessiva è scarsa e spesso è più lento ottenere una posizione approssimativa.

Posizione della rete nel settore auto e motori

La funzionalità NETWORK_PROVIDER utilizzata sugli smartphone Android (con Google Mobile Services) è passata dal determinare la posizione in base esclusivamente alle torri di telefonia cellulare nelle vicinanze all'utilizzo anche di punti di accesso Wi-Fi o persino beacon Bluetooth (BT). L'utilizzo di NETWORK_PROVIDER potrebbe richiedere una connessione dati.

Per le app per auto e motori, i vincoli del dispositivo sono diversi. Poiché il GNSS è normalmente attivo, non vengono applicate penalità a causa dell'aumento del consumo di energia e della batteria. Di conseguenza, il tempo di attività dell'IVI non viene compromesso. Ci impegniamo a ridurre al minimo i dati scambiati con i nostri server.

Molte app utilizzano quindi FLP dall'API Play anziché LM direttamente perché FLP fa automaticamente la cosa giusta utilizzando il fornitore di servizi di geolocalizzazione più adatto a soddisfare i criteri/i criteri delle richieste di geolocalizzazione (ovvero potenza e precisione) sotto il cofano.

A differenza dei dispositivi mobili, i veicoli raramente sembrano saltare da un luogo all'altro. La posizione del veicolo è nota sotto il cofano la maggior parte del tempo.

Provider di posizione di rete

La maggior parte dei veicoli non implementa le API di telefonia necessarie per ottenere le informazioni necessarie su un ID cella (e sull'intensità del segnale). Di conseguenza, e poiché riduciamo al minimo l'utilizzo dei dati, non viene fornita alcuna implementazione funzionale aggiuntiva della PNL.

Fused Location Provider

L'FLP mobile, oltre a utilizzare in modo intelligente i fornitori di rete e GPS, come appropriato, unisce le informazioni di altri sensori per migliorare ulteriormente la qualità delle posizioni. L'attuale implementazione del FLP di Automotive, invece, sfrutta i presupposti sopra citati e utilizza sempre GPS_PROVIDER come origine sottostante. Manipolare le posizioni del GNSS, aggiungendo alcuni errori per essere più impreciso quando necessario. Ad esempio, quando a un cliente vengono fornite posizioni approssimative.

Di conseguenza, in alcuni casi potrebbe essere necessario più tempo del solito per la disponibilità della prima posizione. Ad esempio, la prima volta che un veicolo o, per essere più precisi, il relativo sottosistema di geolocalizzazione viene utilizzato o dopo il traino.

Progettare app per il targeting di utilizzi di dispositivi mobili e auto e motori

Consigliamo alle app che hanno come target dispositivi mobili e per auto e motori che non richiedono una qualità più elevata della precisione di richiedere android.permission.ACCESS_COARSE_LOCATION solo FLP e di utilizzare come opzione di riserva FLP se disponibile. In alternativa, come ultima risorsa, utilizza GPS_PROVIDER direttamente con le stesse autorizzazioni. Il framework riduce la precisione della posizione GNSS di base in modo da allinearsi alle aspettative dell'API. Per scoprire di più, consulta Accuratezza.

Inoltre, queste app devono dichiarare esplicitamente la funzionalità facoltativa nel file manifest.android.hardware.location.network Ad esempio:

<uses-feature android:name="android.hardware.location.network" android:required="false" />

Questo approccio garantisce la massima compatibilità con i dispositivi di tutti i verticali e, quindi, la massima disponibilità delle app senza differenze di codice per ottenere le posizioni in base alle esigenze.