Directrices para aplicaciones de geovalla
Siga estos procedimientos recomendados para la geovalla en la aplicación.
API importantes
Recomendaciones
Si la aplicación necesitará acceso a Internet cuando se produzca un evento de geovalla , compruebe el acceso a Internet antes de crear la geovalla.
- Si la aplicación no tiene acceso a Internet actualmente, puede pedir al usuario que se conecte a Internet antes de configurar la geovalla.
- Si no es posible el acceso a Internet, evite consumir la energía necesaria para las comprobaciones de ubicación de geovalla.
Asegúrese de la relevancia de las notificaciones de geovalla comprobando la marca de tiempo y la ubicación actual cuando un evento de geovalla indica los cambios en un estado Especificado o Cerrado. Consulte Comprobación de la marca de tiempo y la ubicación actual a continuación para obtener más información.
Cree excepciones para administrar casos en los que un dispositivo no pueda acceder a la información de ubicación y notificar al usuario si es necesario. La información de ubicación puede no estar disponible porque los permisos están desactivados, el dispositivo no contiene una radio GPS, la señal GPS está bloqueada o la señal Wi-Fi no es lo suficientemente fuerte.
En general, no es necesario escuchar eventos de geovalla en primer plano y en segundo plano al mismo tiempo. Sin embargo, si la aplicación necesita escuchar eventos de geovalla tanto en primer plano como en segundo plano:
- Llame al método ReadReports para averiguar si se ha producido un evento.
- Anule el registro del agente de escucha de eventos en primer plano cuando la aplicación no sea visible para el usuario y vuelva a registrarse cuando se vuelva a ver.
Consulte Agentes de escucha en segundo plano y en primer plano para obtener ejemplos de código y más información.
No use más de 1000 geovallas por aplicación. El sistema admite realmente miles de geovallas por aplicación, puedes mantener un buen rendimiento de la aplicación para ayudar a reducir el uso de memoria de la aplicación usando no más de 1000.
No cree una geovalla con un radio inferior a 50 metros. Si la aplicación necesita usar una geovalla con un radio pequeño, aconseja a los usuarios que usen la aplicación en un dispositivo con una radio GPS para garantizar el mejor rendimiento.
Orientaciones de uso adicionales
Comprobación de la marca de tiempo y la ubicación actual
Cuando un evento indica un cambio en un estado Especificado o Cerrado , compruebe la marca de tiempo del evento y la ubicación actual. Varios factores, como el sistema que no tiene suficientes recursos para iniciar una tarea en segundo plano, el usuario no se nota la notificación o el dispositivo que está en espera, puede afectar cuando el usuario procesa realmente el evento. Por ejemplo, puede producirse la siguiente secuencia:
- La aplicación crea una geovalla y supervisa la geovalla para los eventos de entrada y salida.
- El usuario mueve el dispositivo dentro de la geovalla, lo que provoca que se desencadene un evento enter.
- La aplicación envía una notificación al usuario de que ahora están dentro de la geovalla.
- El usuario estaba ocupado y no observa la notificación hasta 10 minutos más tarde.
- Durante ese retraso de 10 minutos, el usuario se ha vuelto fuera de la geovalla.
En la marca de tiempo, puede indicar que la acción se produjo en el pasado. Desde la ubicación actual, puede ver que el usuario está ahora fuera de la geovalla. Dependiendo de la funcionalidad de la aplicación, es posible que quiera filtrar este evento.
Agentes de escucha en segundo plano y en primer plano
En general, la aplicación no necesita escuchar eventos de geovalla tanto en primer plano como en una tarea en segundo plano al mismo tiempo. El método más limpio para controlar un caso en el que es posible que necesite ambos es permitir que la tarea en segundo plano controle las notificaciones. Si configura agentes de escucha de geovalla en primer plano y en segundo plano, no hay ninguna garantía que se desencadene primero y, por tanto, siempre debe llamar al método ReadReports para averiguar si se ha producido un evento.
Si ha configurado agentes de escucha de geovalla en primer plano y en segundo plano, debe anular el registro del agente de escucha de eventos en primer plano siempre que la aplicación no esté visible para el usuario y vuelva a registrar la aplicación cuando se vuelva a ver. Este es un código de ejemplo que se registra para el evento de visibilidad.
Windows.UI.Core.CoreWindow coreWindow;
// This needs to be set before InitializeComponent sets up event registration for app visibility
coreWindow = CoreWindow.GetForCurrentThread();
coreWindow.VisibilityChanged += OnVisibilityChanged;
Cuando cambia la visibilidad, puede habilitar o deshabilitar los controladores de eventos en primer plano, como se muestra aquí.
private void OnVisibilityChanged(CoreWindow sender, VisibilityChangedEventArgs args)
{
// NOTE: After the app is no longer visible on the screen and before the app is suspended
// you might want your app to use toast notification for any geofence activity.
// By registering for VisibiltyChanged the app is notified when the app is no longer visible in the foreground.
if (args.Visible)
{
// register for foreground events
GeofenceMonitor.Current.GeofenceStateChanged += OnGeofenceStateChanged;
GeofenceMonitor.Current.StatusChanged += OnGeofenceStatusChanged;
}
else
{
// unregister foreground events (let background capture events)
GeofenceMonitor.Current.GeofenceStateChanged -= OnGeofenceStateChanged;
GeofenceMonitor.Current.StatusChanged -= OnGeofenceStatusChanged;
}
}
Ajuste del tamaño de las geovallas
Aunque EL GPS puede proporcionar la información de ubicación más precisa, la geovalla también puede usar Wi-Fi u otros sensores de ubicación para determinar la posición actual del usuario. Pero el uso de estos otros métodos puede afectar al tamaño de las geovallas que puede crear. Si el nivel de precisión es bajo, la creación de geovallas pequeñas no será útil. En general, se recomienda no crear una geovalla con un radio inferior a 50 metros. Además, las tareas en segundo plano de geovalla solo se ejecutan periódicamente en Windows; Si usa una geovalla pequeña, existe la posibilidad de que se pierda un evento Enter o Exit por completo.
Si la aplicación necesita usar una geovalla con un radio pequeño, aconseja a los usuarios que usen la aplicación en un dispositivo con una radio GPS para garantizar el mejor rendimiento.