Obtener ubicación aproximada

Para respetar la privacidad del usuario, se alienta a los desarrolladores de apps a solicitar únicamente las direcciones generales permisos de ubicación. Por lo general, las apps que necesitan una posición aproximada aproximada usar la ubicación de red combinada (FLP), ya que es rápida y consume menos energía. En comparación con los dispositivos móviles basados en Android, la ubicación de red en las aplicaciones para automóviles puede ser más desafiante. Puedes usar dos APIs de Android:

  • La API de LocationManager requiere que uses requestLocationUpdates para identificar explícitamente el proveedor de ubicación preferido.

  • La API de Google Play Services te ofrece una manera más sencilla de trabajar con la ubicación en FusedLocationProviderClient

Muchas apps para la industria automotriz usan el FLP de la API de Google Play Services en lugar de LocationManager FLP selecciona el proveedor de ubicación óptimo en función de la ubicación. solicitar los criterios y las políticas (potencia y precisión) que necesita el vehículo.

En su lugar, puedes optar por solicitar y usar NETWORK_PROVIDER así como GPS_PROVIDER para las posiciones precisas, que usan android.permission.ACCESS_FINE_LOCATION permisos. En Android 12 (nivel de API 31) y versiones posteriores, la FUSED_PROVIDER: que antes solo se podía acceder a través de la API de Google Play Services, disponible como proveedor de ubicación para LocationManager. Puedes ver una implementación de FLP en FusedLocationProvider.java

Si bien es posible usar GPS_PROVIDER solo con derechos de permiso generales: el marco degrada artificialmente la precisión para alinearse con las expectativas: no tiene mucho sentido para los desarrolladores que se orientan a teléfonos Android porque, en general, La disponibilidad es baja y, a menudo, es más lenta para obtener una posición aproximada.

Ubicación de la red en la industria automotriz

El NETWORK_PROVIDER que se usa en teléfonos Android (con Servicios de Google para dispositivos móviles) determina la ubicación en función de torres de telefonía celular, puntos de acceso Wi-Fi y Balizas Bluetooth (BT) Por lo tanto, es posible que NETWORK_PROVIDER requiera datos conexión.

En el caso de las apps para vehículos, las restricciones de los dispositivos son diferentes. Debido a que Gthe Global Navigation satelital (GNSS) suele estar encendido, no se aplican penalizaciones debido a el aumento en el uso de la batería y la energía. Como resultado, el tiempo de actividad de IVI no se ve comprometido. Nos esforzamos por minimizar el intercambio de datos con nuestros servidores.

Por lo tanto, muchas apps usan FLP de la API de Play en lugar de LocationManager. directamente, ya que FLP realiza la inteligencia automáticamente con la función proveedor de servicios en la nube que mejor satisfaga las políticas o criterios de solicitud de ubicación (p. ej., potencia y exactitud).

A diferencia de los dispositivos móviles, rara vez los vehículos parecen saltar de un lugar a con el otro. La mayoría de las veces se conoce la posición del vehículo debajo del capó.

Proveedor de ubicación de red (PLN)

La mayoría de los vehículos no implementan las APIs de telefonía necesarias para obtener la información necesaria en un ID de celular (y la intensidad de la señal). Como resultado, y debido a que minimizamos los datos no se proporciona ninguna implementación funcional adicional de PLN.

Proveedor de ubicación combinada

El proveedor de telefonía móvil (FLP) móvil, además de usar de manera inteligente proveedores de red y GPS, apropiado, fusiona información de otros sensores para mejorar aún más la la calidad de las ubicaciones. La implementación actual de FLP de la industria automotriz en la pero, por otro lado, se aprovecha de las suposiciones antes mencionadas y utiliza el GPS_PROVIDER como fuente subyacente todo el tiempo Mueve las posiciones desde GNSS, agregando algunos errores para que sean más imprecisos cuando sea necesario. Por ejemplo: cuando se proporcionan ubicaciones comunes a un cliente.

Por ello, en muy pocos casos, puede haber un tiempo más largo de lo habitual para que primera posición estén disponibles. Por ejemplo, la primera vez que un vehículo para ser más precisos, se utiliza su subsistema de ubicación o después de un remolque.

Diseñar aplicaciones orientadas a usos móviles y automotores

Para las aplicaciones orientadas a dispositivos móviles y automotores que no requieren una mayor calidad de precisión, solicitan android.permission.ACCESS_COARSE_LOCATION únicamente y vuelve a usar FLP cuando esté disponible. Como alternativa, usa GPS_PROVIDER directamente con los mismos permisos. El framework degrada la de la posición subyacente del GNSS para alinearse con las expectativas de la API. Para Más información, consulta Precisión en Cómo solicitar permisos de ubicación.

Además, estas apps deben declarar explícitamente el android.hardware.location.network como opcional en su manifiesto. Por ejemplo:

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

Este enfoque garantiza la máxima compatibilidad con dispositivos de verticales. así, la disponibilidad máxima de las apps sin diferencias de código para obtener cuando sea necesario.