sirve services qué que para hacer google geofences geofence example definicion como beacons android android-maps-v2 android-geofence

android - services - para que sirve el geofencing



¿Cómo aumentar la coherencia de las notificaciones de entrada/salida de geofence Android? (1)

Un par de sugerencias:

  1. Asegúrese de que está utilizando un BroadcastReceiver y no un servicio para recibir las transiciones, de lo contrario, no podrá obtenerlo si su aplicación se apaga o se apaga. Como se discutió aquí: Android Geofence finalmente deja de tener intenciones de transición

  2. Asegúrese de volver a crear sus geofences después de que se reinicie el dispositivo, preferiblemente utilizando un receptor de arranque. Como se comentó aquí: ¿Las geofences permanecen activas en Android después de reiniciar un dispositivo?

  3. Otro error común, y que me dejó perplejo porque es diferente a IOS, es que siempre obtendrás un desencadenante para un geofence recién creado, si el dispositivo descubre que estás dentro del geofence cuando lo creas. Resolví esto yo mismo usando un "período de gracia" para geofences recién creadas, que expliqué en este hilo: addProximityAlert no funciona como se esperaba

Por último, una cosa importante: tener su LocationClient conectado en su aplicación o no , no debería importar en absoluto si sigue los puntos anteriores. Mi proceso para agregar o eliminar Geofences en mi código es básicamente:

  1. Crear y conectar locationclient.

  2. En connect-callback, agregue / elimine geofence (s)

  3. En la devolución de llamada de resultados geofence, desconecte locationclient.

Cada vez que esto sucede, mi cliente de ubicación solo está conectado unos pocos segundos en total. El sistema operativo seguirá produciendo alertas de geofence y llamará a mi BroadcastReceiver cuando ocurran.

Si haces estas cosas apuesto a que tu experiencia mejorará.

¡Espero que esto ayude!

Estoy utilizando las API de geofence integradas (servicios de reproducción) y he tenido resultados mixtos. Parece que después de establecer un geofence, las notificaciones de entrada / salida son muy inconsistentes incluso cuando el GPS está activado, con una ubicación actualizada (LocationClient conectado, ejecutándose en segundo plano). Comencé a monitorear los cambios de ubicación (sondeo) y distancias en un campo de texto de depuración, y vio que, incluso cuando se basa en la ubicación registrada por el dispositivo y la ubicación de la geofence Técnicamente, estoy dentro / fuera de la geofence, las notificaciones a veces se activan y otras no. ¿Alguna forma de hacer esto más predecible? Casi tengo la tentación de abandonar esta API e implementar mis propias geofences (agotamiento de batería) basadas en el sondeo de la ubicación del dispositivo.