2013-04-16 4 views
1

Мы находимся на ранней стадии планирования мобильного приложения. У нас есть некоторые потребности, специфичные для функциональности и возможностей GEO.Мобильный iOS GEO Location Опрос и уведомление

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

Предполагая, что пользователь дал правильные права уведомления для применения:

Клиент работает приложение на переднем плане:

  1. устройство уведомляет сервер GEO местоположения на некоторых клиентских действий (Клиент выполняет некоторые действия, которые отправляют данные на сервер, можем ли мы включить текущее местоположение GEO?)

  2. Устройство отправляет ping текущего местоположения GEO каждые n минут.

  3. происходит деловое событие, сервер отправляет сообщение на устройство из-за его GEO место (Сервер отправляет сообщение одному или нескольким приложениям в ГЭП близости

Клиент НЕ работает приложение в на переднем плане

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

  2. Сервер отправляет сообщение на устройство из-за его GEO место в то время как устройство не работает. (Сервер отправляет уведомление на устройство из-за своего местоположения GEO. Я понимаю, что если приложение не запущено, это перейдет к ОС в качестве предупреждения о приложении, которое пользователь затем щелкнет, чтобы запустить приложение на переднем плане)

Мой главный фокус IOS на данный момент, но я заинтересован в Android возможности относительно выше.

У меня нет опыта работы с мобильной разработкой. Мы собираем спецификацию функциональности и пытаемся определить выполнимость набора функций.

Подавляющее большинство наших приложений - это простое взаимодействие данных между устройством и сервером, гибрид будет прекрасен. Тем не менее, наш клиент не выполняет требования GEO, которые меня беспокоят. Возможно ли создать небольшое приложение iOS, которое будет обрабатывать вещи, которые гибрид не может? Если да, могут ли эти приложения быть упакованы вместе или они будут отдельной установкой?

Редактировать: Предполагая, что пользователь имеет устройство, выполненное правильно, то есть устройство GPS включен и в состоянии получать уведомления и т.д.основной вопрос заключается в том, может ли устройство уведомлять сервер о его местоположении GEO каждые n минут с приложением, а затем тот же вопрос с приложением закрыт? Значительно ли это отличается от родного/гибридного.

Что касается iOS, когда приложение находится в «лотке приложения», это приложение все еще считается запущенным? Или, как только приложение не находится на переднем плане, оно эффективно закрыто?

Спасибо

ответ

0

Во-первых, вы не можете получить GEO клиента, если они свернули GPS выключен.

Мне кажется, вам нужно PhoneGap, чтобы он работал (если вы хотите использовать гибридное приложение) после прочтения ваших требований. Читайте:

Do hybrid mobile apps support Push Notifications?

КСН, вам не нужно, и вы не можете иметь никаких дополнительных mesurements, чтобы гарантировать, что они открыты. Единственное, что вы можете сделать, это заметить, что пользователь «ваш GPS не работает» и попросите его включить его. Об уведомлении: вы можете использовать центр уведомлений, предоставляемый только Apple, это довольно простая задача, если вы просто хотите разработать на iOS.

На Android все немного отличается. На последней версии Android вы не можете включить GPS на в фоновом режиме, но вы можете в старой версии, прочитать:

turn on off GPS android

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

Об уведомлении: Google GCM не рекомендуется, поскольку сервисы google не установлены на каком-либо устройстве. Сторонняя услуга push - это достойный выбор, например, urbanairship.

О фоновой задаче:

В Android вы можете запустить эту задачу фон, в прошивке это также возможно, как то, что Endomondo сделал. Но он нестабилен все время, поскольку, если пользовательский процесс достигнет предела памяти, система может убить ваш процесс для освобождения памяти. Это может произойти как на iOS & Android.

+0

Спасибо Reck, эти сообщения были полезны. Я все еще не понимаю, сможет ли приложение направить его на сервер каждые 10 минут, пока приложение не будет запущено. Любой способ это сделать? – Richard

+0

@ Рихард в Android вы можете запустить этот фоновый фона, в iOS также возможно, как то, что делал «Эндомондо». Но он нестабилен, поскольку, если пользователь достиг системы памяти, может убить ваш процесс для освобождения памяти. Это может произойти как на iOS, так и на Android. –

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