2016-03-24 5 views
1

Я пытаюсь отправить уведомление через приложения iOS и Android, когда пользователь ходит через входную дверь ресторана. Я пробовал Geofencing, но минимальный радиус не достаточно мал, и люди получат уведомления из нескольких ресторанов в этом районе. Я знаю, что существуют iBeacons. Это мой единственный вариант? (Я знаю, что Foursquare отправляет такие уведомления, но я не думаю, что они используют iBeacons.)Geofencing, iBeacons и отправка уведомлений, когда люди ходят в ресторан

ответ

1

Вам понадобится маяк внутри ресторана, иначе геообработка станет вашим единственным вариантом. Вы можете объединить геообъект с вызовом gps и посмотреть, находится ли вызов gps в пределах лат, который вы считаете находящимся внутри этого заведения, а затем повторите этот gps-вызов каждые несколько минут, пока вы находитесь внутри геофунта, пока он не совпадёт с координатой внутри место.

Недостаток такого подхода состоит в том, что утечка батареи будет выше, чем при использовании ibeacons, которые работают с использованием BLE (Bluetooth низкой энергии)

2

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

В Foursquare используются маяки. Я знаю это, потому что Android-версия их началась в комплекте с Android Beacon Library около двух лет назад, и я ведущий разработчик в этом проекте с открытым исходным кодом. Тем не менее, я подозреваю, что они используют комбинацию геозондов и маяков, только используя маяки для случаев, когда клиенты фактически устанавливают их.

Уведомления на основе Geofence особенно проблематичны на iOS, потому что геочастоты часто возвращаются в местоположение от сотовых вышек, чтобы сэкономить аккумулятор, если на переднем плане нет приложений для размещения. Расположение ячеистых ячеек может быть точным только в километре или два, и он отключит геозонность внешнего диапазона неопределенности местоположения, перекрывающейся с геозонностью. Это может вызвать приветствие ресторана с более чем одной мили.

Один из способов улучшить плохие GeoFence на основе уведомлений, как это использовать следующий метод на прошивкой:

  1. запрос на дополнительные 180 секунд фоне бегущие время, когда геозоны срабатывающую.
  2. Запросите информацию о местоположении с помощью GPS и проверьте эти обновления на 180 секунд в фоновом режиме.
  3. Используя данные об обновлении местоположения, если вы обнаружите, что точность исправления достаточно высока, а расстояние от ресторана достаточно мало, затем активируйте уведомление. До тех пор, пока это не произойдет, не запускайте его вообще.
+0

Спасибо. Не будет ли использовать GPS в течение ~ 180 секунд, серьезно повредит использование батареи приложениями? – Jake

+0

Только через 180 секунд после входа геозонности. Если эти события происходят нечасто (например, не чаще, чем пару раз в день в среднем), то прием батареи может быть приемлемым. – davidgyoung

 Смежные вопросы

  • Нет связанных вопросов^_^