Google recomienda utilizar las APIs de Location y Context de los Servicios de Google Play en apps que requieren servicios de ubicación. Si tu app utiliza las API de ubicación del framework, es importante realizar la migración a los Servicios de Google Play para aprovechar las funciones más recientes de Google.
El uso de los Servicios de Google Play es la opción preferida para obtener servicios de ubicación en tu app por las siguientes razones:
- Los Servicios de Google Play proporcionan una interfaz simple y una superficie de API más limpia.
- Debes especificar una calidad de servicio deseada y las API administrarán las tecnologías subyacentes por ti.
- Las API de los Servicios de Google Play tienen un rendimiento y un uso de batería optimizados.
- Las API de los Servicios de Google Play se mantienen de forma activa. Google mejora los algoritmos y agrega más funciones de manera constante.
Actualiza tu app
En los siguientes pasos, se describe el proceso para actualizar una app y usar las APIs de Location y Context:
- Configura los Servicios de Google Play en tu proyecto.
- Usa la API de Location Settings para validar la configuración de ubicación actual.
- Usa los Servicios de Google Play para funciones complejas, como geovallado, reconocimiento de actividad y reconocimiento del entorno.
- Reemplaza el uso de la API de Location Framework por la API de Fused Location Provider.
- Quita las referencias a la API de ubicación del framework.
Configura los Servicios de Google Play en tu proyecto
Si quieres que las APIs de Location y Context estén disponibles para tu proyecto, debes agregar una referencia al repositorio de Maven de Google y declarar una dependencia a las APIs requeridas. Para obtener más información, consulta Cómo configurar los Servicios de Google Play.
Usa la API de Location Settings
Cuando se utiliza la API de configuración de ubicación, las apps proporcionan el nivel de QoS deseado y la API solicita al usuario los cambios apropiados en la configuración del sistema. Sigue estos pasos para usar la API de configuración de la ubicación en tu app:
- Solicita permisos de ubicación en el manifiesto de la app.
- Configura un objeto
LocationRequest
, que especifica el nivel de QoS deseado. - Usa la API de Location Settings para comprobar la configuración actual.
Si quieres obtener más información, consulta Cómo cambiar la configuración de la ubicación o las muestras de ubicación de Google Play para ver código de ejemplo.
Usa los Servicios de Google Play para funciones complejas
Las bibliotecas de los Servicios de Google Play te ayudan a implementar nuevas experiencias del usuario en torno al contexto y al reconocimiento del entorno del usuario. Las diversas bibliotecas de ubicación y contexto aprovechan sensores adicionales más allá de aquellos relacionados a la ubicación solamente, y lo hacen de manera eficiente en cuanto a la energía, lo que le proporciona a tu app datos más precisos y reduce el efecto sobre la duración de batería.
Incorpora estas bibliotecas en tu app en lugar de escribir tus propias soluciones personalizadas:
Reemplaza la API de Location Framework con la API de Fused Location Provider
Puedes usar la API de Fused Location Provider para obtener datos de ubicación, como la latitud y la longitud. La API de Fused Location Provider usa un objeto Location
, al igual que la API de Location Framework, para representar la ubicación geográfica. La API proporciona funciones para detectar las actualizaciones de ubicación y obtener la ubicación más reciente. Por todas estas funciones, se puede utilizar la API de Fused Location Provider para reemplazar los componentes que usan la API de Location Framework con solo realizar unos pocos cambios en el resto de la app.
Obtener la ubicación más reciente es un buen punto de partida para muchas experiencias porque es una operación rápida que utiliza datos de ubicación solicitados por cualquier cliente en el dispositivo. Para realizar un seguimiento periódico de la ubicación, tu app puede suscribirse para recibir actualizaciones de ubicación, lo que proporciona datos actualizados y permite experiencias más complejas.
Quita las referencias a la API de Location Framework
Reemplaza las referencias a las clases del paquete com.google.android.location
por otras a las clases del paquete com.google.android.gms.location
, excepto las referencias a la clase Location
, que utiliza la API de Fused Location Provider. Por lo general, puedes quitar los componentes que administran los distintos proveedores, como GPS y Wi-Fi, desde tu app. Las APIs de Location y Context administran automáticamente estos proveedores.
Prueba tu app
Para ejecutar una app que utiliza la versión más reciente de los Servicios de Google Play, necesitas un dispositivo que tenga instalada la app de Play Store y una cuenta de Google. Para fines relacionados con el desarrollo, puedes utilizar las siguientes opciones:
- Un dispositivo físico conectado al entorno de desarrollo mediante un cable USB
- Un emulador con la app de Play Store instalada
Si deseas obtener más información para conectar un dispositivo físico a tu entorno de desarrollo, consulta Cómo ejecutar apps en un dispositivo de hardware. Si quieres crear un emulador que incluya la app de Play Store, consulta Cómo crear y administrar dispositivos virtuales.