Como se describe en las páginas de solicitud de permisos de ubicación y prácticas recomendadas de privacidad, las apps solo deberían solicitar el tipo de permiso de ubicación que sea fundamental para la función del usuario y revelarlo correctamente a los usuarios. La mayoría de los casos prácticos solo requieren la ubicación cuando el usuario interacciona con la app. Si esta requiere acceder a la ubicación en segundo plano, como cuando se implementan geovallados, asegúrate de que sea fundamental para la funcionalidad principal de la app, ofrezca beneficios claros al usuario y se haga de una manera que resulte evidente para este.
Nota: Google Play Store actualizó su política sobre la ubicación de dispositivos; ahora, el acceso a la ubicación en segundo plano se restringe a las apps que lo necesiten para su funcionalidad principal y que cumplan los requisitos de políticas relacionados. Implementar estas prácticas recomendadas no garantiza que Google Play apruebe el uso de la ubicación en segundo plano por parte de tu app.
Obtén más información sobre los cambios en la política relacionados con la ubicación de dispositivos.
Lista de tareas para el acceso a la ubicación en segundo plano
Usa la siguiente lista de tareas para identificar la posible lógica de acceso a la ubicación en segundo plano:
En el manifiesto de la app, solicita el permiso
ACCESS_COARSE_LOCATION
y el permisoACCESS_FINE_LOCATION
. Verifica que la app requiera esos permisos de ubicación.- Si la app se orienta a Android 10 (nivel de API 29) o una versión posterior, solicita también el permiso
ACCESS_BACKGROUND_LOCATION
. Verifica que la app tenga una función que lo requiera.
- Si la app se orienta a Android 10 (nivel de API 29) o una versión posterior, solicita también el permiso
Busca el uso de la API de acceso a la ubicación, como la API de proveedor de ubicación combinada, la API de geovallado o la API de LocationManager, dentro del código, como en las siguientes construcciones:
- Servicios en segundo plano
- Objetos
JobIntentService
- Tareas
WorkManager
oJobScheduler
- Operaciones
AlarmManager
- Intents pendientes que se invocan desde un widget de la app
Si la app usa un SDK o una biblioteca que accede a la ubicación, dicho acceso se atribuye a la app. Para determinar si un SDK o una biblioteca necesitan acceso a la ubicación, consulta la documentación de la biblioteca.
Cómo evaluar el acceso a la ubicación en segundo plano
Si ves que la app accede a la ubicación en segundo plano, considera realizar las siguientes acciones:
- Evalúa si el acceso a la ubicación en segundo plano es fundamental para la funcionalidad principal de la app.
Si no necesitas el acceso a la ubicación en segundo plano, quítalo.
Si la app se orienta a Android 10 (nivel de API 29) o una versión posterior, quita el permiso
ACCESS_BACKGROUND_LOCATION
del manifiesto de la app. Cuando quitas este permiso, la app no puede acceder en todo momento a la ubicación en dispositivos que ejecutan Android 10.Asegúrate de que el usuario sepa que tu app está accediendo a la ubicación en segundo plano. Esto es particularmente importante en los casos que no son obvios para los usuarios.
Si es posible, refactoriza la lógica de acceso a la ubicación para que solo solicites la ubicación cuando los usuarios puedan ver la actividad de la app.
Actualizaciones limitadas a la ubicación en segundo plano
Si el acceso a la ubicación en segundo plano es fundamental para la app, ten en cuenta que Android, a fin de preservar la duración de la batería, configura los límites de ubicación en segundo plano en dispositivos que ejecutan Android 8.0 (nivel de API 26) y versiones posteriores. En estas versiones de Android, si la app se ejecuta en segundo plano, puede recibir actualizaciones de ubicación solo algunas veces por hora. Obtén más información sobre los límites de ubicación en segundo plano.
Recursos adicionales
Para obtener más información sobre el uso de la ubicación en segundo plano, consulta los siguientes materiales:
Videos
Cómo encontrar posibles usos de la ubicación en segundo plano
Ejemplos
En este ejemplo, se muestran las prácticas recomendadas para acceder a la ubicación cuando la app está en segundo plano.