Acquisisci posizione approssimativa

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

Rispetto ai dispositivi mobili basati su Android, la localizzazione della rete nelle app automobilistiche può essere più complessa. Puoi utilizzare due API Android:

Molte app automobilistiche utilizzano FLP dall'API Google Play Services (GPS) anziché LM. FLP seleziona il fornitore di posizione ottimale in base ai criteri e alle politiche di richiesta di posizione (potenza e precisione) necessari al veicolo.

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

Anche se è possibile utilizzare GPS_PROVIDER solo con diritti di autorizzazione approssimativi, il framework riduce artificialmente la precisione per allinearsi alle aspettative. Ha poco senso per gli sviluppatori che prendono di mira i telefoni Android perché la disponibilità complessiva è scarsa e spesso più lenta per ottenere una posizione approssimativa.

Posizione della rete nel settore automobilistico

Il NETWORK_PROVIDER utilizzato sui telefoni Android (con Google Mobile Services) è cambiato dal determinare la posizione basandosi esclusivamente sui ripetitori cellulari vicini per utilizzare anche punti di accesso Wi-Fi o persino beacon Bluetooth (BT). L'utilizzo di NETWORK_PROVIDER potrebbe richiedere una connessione dati.

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

Molte app utilizzano quindi FLP dall'API Play invece di LM direttamente poiché FLP fa automaticamente la cosa intelligente utilizzando il provider di posizione più in grado di soddisfare i criteri/politiche di richiesta di posizione (vale a dire potenza e precisione) dietro le quinte.

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

Fornitore di percorsi di rete

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

Provider di posizione fuso

Il FLP mobile, oltre a utilizzare in modo intelligente i provider di rete e GPS a seconda dei casi, fonde le informazioni provenienti da altri sensori per migliorare ulteriormente la qualità delle posizioni. L'attuale implementazione del FLP di Automotive, invece, sfrutta i presupposti di cui sopra e utilizza sempre GPS_PROVIDER come fonte sottostante. Confonde le posizioni dal GNSS, aggiungendo alcuni errori per essere più impreciso quando necessario. Ad esempio, quando a un cliente vengono fornite posizioni approssimative.

Pertanto, in pochissimi casi può essere necessario un tempo più lungo del solito prima che la prima posizione sia disponibile. Ad esempio, la prima volta che viene utilizzato un veicolo o, per essere più precisi, il suo sottosistema di localizzazione o dopo essere stato rimorchiato.

Progetta app mirate agli usi mobili e automobilistici

Consigliamo alle app destinate ai dispositivi mobili e automobilistici che non richiedono una qualità di precisione più elevata di richiedere solo android.permission.ACCESS_COARSE_LOCATION e di ricorrere all'utilizzo di FLP quando disponibile. In alternativa, come ultima risorsa, utilizza GPS_PROVIDER direttamente con le stesse autorizzazioni. Il quadro riduce la precisione della posizione GNSS sottostante per allinearsi alle aspettative API. Per saperne di più, consulta Precisione .

Inoltre, queste app devono dichiarare esplicitamente la funzionalità android.hardware.location.network facoltativa nel loro manifest. Per 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à dell'app senza differenze di codice per ottenere posizioni quando necessario.