Поделиться через


Windows.Devices.Geolocation.Geofencing Пространство имен

Геозона — это виртуальная область вокруг географической точки. API-интерфейсы геозон позволяют приложениям своевременно предоставлять географически контекстуальные интерфейсы без необходимости постоянно работать и потреблять ресурсы устройства. Геозона включает такие сценарии, как отображение напоминания для пользователя, когда он покидает работу или дом, или отображение купонов, когда пользователь попадает в магазин.

Приложения определяют интересующие вас области (геозоны) и соответствующие условия триггера, такие как активация при входе пользователя в геозону или выходе из нее. Наконец, приложение регистрируется для получения уведомлений о выполнении условий триггера. Windows и Windows Phone поддерживают сотни геозон для каждого приложения. Операционная система эффективно управляет отслеживанием геозон для всех приложений. При выполнении условий триггера для одной или нескольких геозон связанное приложение оповещается, даже если оно не запущено активно. Эта высокопроизводительная система отслеживания геозоны с поддержкой энергопотребления позволяет быстро и легко добавлять в приложение функциональные возможности, активированные с помощью расположения.

Полное руководство по использованию геозон см. в разделе Geofencing, start to finish.

API-интерфейсы геозон позволяют приложению выполнять следующие действия:

  • Создайте одну или несколько геозон или интересующих областей.
  • Запрос на уведомление при входе устройства в геозону.
  • Запрос на уведомление, когда устройство покидает геозону.
  • Укажите временное окно, в течение которого геозона активна.
  • Укажите время ожидания для каждой геозоны — количество времени, в течение которых устройство должно находиться в геозоне или из нее до активации уведомления.
  • Динамическое добавление и удаление геозон из коллекции отслеживаемых геозон приложения.
  • Получать события геозоны, пока приложение активно.
  • Зарегистрируйтесь в системе, чтобы запустить фоновую задачу при изменении состояния одной из геозон вашего приложения. Приложения должны вызывать RequestAccessAsync перед выполнением фоновых задач.
  • Используйте симулятор для имитации перемещения устройств и тестирования функций геозон приложения.

Если вы хотите, чтобы приложение запускалось в фоновом режиме при выполнении условия триггера для одной из его геозон, необходимо использовать фоновую задачу и настроить LocationTrigger для ее запуска.

Важно!

Начиная с Windows 10, вызовите метод Объекта GeolocatorRequestAccessAsync перед доступом к расположению пользователя. В этот момент ваше приложение должно находиться на переднем плане, а из потока пользовательского интерфейса должен быть вызван метод RequestAccessAsync. Пока пользователь не предоставит приложению разрешение на доступ к его расположению, приложение не сможет получить доступ к данным о расположении.

Классы

Geofence

Содержит функциональные возможности для определения геозоны (интересующей географической области) для мониторинга.

GeofenceMonitor

Содержит сведения о отслеживаемых объектах геозоны .

GeofenceStateChangeReport

Содержит сведения об изменениях состояния для геозоны.

Перечисления

GeofenceMonitorStatus

Указывает текущее состояние GeofenceMonitor.

GeofenceRemovalReason

Указывает причину удаления геозоны .

GeofenceState

Указывает текущее состояние геозоны.

MonitoredGeofenceStates

Указывает состояние или состояния геозон, которые в настоящее время отслеживаются системой.

Комментарии

Службы определения местоположения должны работать, чтобы геозона работала. Если эта служба отключена, вызовы геозон будут завершаться ошибкой и вызывать исключение.

Чтобы использовать геозону, приложение должно объявить возможность расположения в манифесте приложения.