Использование push-уведомлений на основе местоположения на iOS

Я рассматриваю разработку туристического приложения для города, где, когда пользователь находится рядом с «достопримечательностью», он может получить толчок (местный) на своем устройстве.

Например, я бы добавил 100 POI в свое приложение и 100 сообщений для каждой POI, чтобы показать, когда пользователь находится в пределах досягаемости, например. "Вы рядом с Собором..."

Возможен ли этот сценарий? Можно ли проверить позицию пользователей, например. каждые 10 минут даже когда приложение убито, а когда в радиусе огня локальный толчок? Сколько батареи он будет разряжать? Если пользователь закроет GPS, попытается ли он использовать сигнал 3G / Wi-Fi для определения местоположения?

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


person Community    schedule 20.03.2013    source источник


Ответы (4)


это действительно возможно. Вы можете использовать вышеупомянутый метод, описанный в этот пост. Вы можете расширить это с помощью CLLocationManager:: startMonitoringSignificantLocationChanges, чтобы перезапустить процесс прослушивания местоположений после того, как приложение было убито. В зависимости от ваших потребностей в точности есть много других оптимизаций, которые могут быть сделаны в отношении времени автономной работы, например, более частая проверка, когда пользователь ускоряется и т. д.

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

person dlouwers    schedule 14.08.2013

Да, это возможно. Вам нужно иметь некоторые «места» (координаты или адреса), хранящиеся в приложении локально. Близость к сохраненному «месту» можно проверить с помощью Обратный геокодер.

Проверьте это Замечательный вопрос SO, очень похожий на ваш

person zahreelay    schedule 20.03.2013
comment
Но можно ли это проверить, когда приложение убито (не в фоновом режиме). Сколько батареи он будет разряжать? Если пользователь закроет GPS, попытается ли он использовать сигнал 3G / Wi-Fi для определения местоположения? - person ; 20.03.2013

Это может быть слишком поздно для вашего вопроса, но для всех, кому это нужно. Геозона — хороший вариант.

Вот видео, объясняющее, что такое геозона http://academy.pulsatehq.com/7-things-about-geofencing

И если вы используете платформу Ionic, вот ссылка на плагин https://github.com/cowbell/cordova-plugin-geofence

GeoFencing решит именно вашу проблему. Просто создайте группу геозон, расположенных на этих туристических объектах, и когда пользователь войдет в определенный радиус этих мест, он получит уведомление.

Удачи

person Xiaofan Wu    schedule 07.05.2016

Когда приложение будет убито, что именно будет получать обновления местоположения?

Однако в фоновом режиме вы можете настроить обновления местоположения на основе близости и времени.

Проверьте Как получить фоновое обновление местоположения каждые n минут в моем приложении iOS?

Что касается GPS по сравнению с 3g/wifi, пользователь может либо разрешить службы определения местоположения для приложения, либо нет. Затем iOS будет обрабатывать, будет ли использоваться сигнал GPS или сотовой связи для определения местоположения. Прочитайте о службе определения местоположения со значительными изменениями здесь. . При использовании службы значительных изменений для определения местоположения будет использоваться больше местоположения ячейки, чем блокировка GPS, и наоборот для стандартной службы определения местоположения. Также обратите внимание на точность определения местоположения, чтобы узнать больше об экономии заряда батареи.

person mithunc    schedule 20.03.2013
comment
Но точно так же, как вы создаете приложение для будильника? Даже когда приложение убито, если время является предопределенным временем, локальный толчок будет запущен, верно? Я подумал, может быть, вы могли бы сделать что-то подобное и с GPS. - person ; 21.03.2013