En general, Handy obtiene los rastreos de ubicación de tres maneras distintas:

  • Al realizar alguna actividad (visita, pedido, formulario..), se obtiene la ubicación para esa actividad y también para guardarla como rastreo;
  • Cuando por medio del portal Web se solicita la ubicación en tiempo real en la pestaña de Mapa del perfil de usuario;
  • Y en los procesos de fondo de la aplicación, guardando la ubicación cada cierto tiempo.

Explicaremos las últimas dos, cómo difieren estos rastreos en cada sistema (Android y iOS) y los detalles a tomar en cuenta en iOS.

Ubicación en tiempo real

La forma en que pedimos a la aplicación que mande su ubicación al portal Web es por medio de una notificación; que no aparece en el Centro de Notificaciones del dispositivo, sino que está pensada para que se procese sin que el usuario lo note.

En el caso de los dispositivos Android, el sistema deja que las aplicaciones procesen las notificaciones aún cuando el usuario no está enterado. Pueden procesarse con la aplicación en primer plano, en segundo plano e incluso con el teléfono bloqueado.

En cambio, en iOS el sistema requiere que el usuario esté utilizando la aplicación, que ésta se encuentre en primer plano para en ese momento procesar la notificación. Esto quiere decir que si un usuario que usa iOS no está dentro de la aplicación al pedir su ubicación, no se procesará la notificación.

Rastreos en procesos de fondo

En el caso de la obtención de ubicación en fondo, el proceso es distinto en cada sistema.

En Android se programan alarmas, que no son visibles al usuario, sino que funcionan para avisar a la aplicación que debe obtener la ubicación y guardarla. Si la aplicación está en segundo plano, estas alarmas sirven para "despertarla" para que haga el proceso en el fondo.
Las alarmas están configuradas para activarse cada 15 min.

En iOS no hay algo como las alarmas, sino que el sistema hace el cálculo de cada cuánto "despertar" a la aplicación para guardar la ubicación. Si el sistema detecta que el dispositivo se ha movido alrededor de 500 mts o más, le avisa a la aplicación para que guarde la ubicación.
Se hace de esta manera ya que de lo contrario la aplicación tendría que estar pidiendo la ubicación cada segundo, lo que resulta en un gran gasto de batería.

¿Encontró su respuesta?