1

У пользователя есть приложение iOS на своем устройстве, и он входит в физический магазин. Я хотел бы определить, что пользователь программно в приложении и бросить ему push-уведомления, такие как приветственное сообщение и основываясь на его истории использования или его уровне, отправить ему купоны и т. Д. При входе в магазин. Он должен получать эти сообщения автоматически. В чем все это возможно? И самое главное, что это нужно для работы во всех состояниях приложения (на переднем плане, в фоновом режиме, без запуска, приостановлено). Оцените любые быстрые входы здесь.Идентификация устройств пользователей, идущих в физический магазин и отправка сообщений

ответ

3

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

Если вы устанавливаете iBeacon в магазине и заставляете приложение искать этот iBeacon с помощью [locationManager startMonitoringForRegion: iBeaconRegion], ваше приложение будет получать обратный вызов всякий раз, когда этот маяк будет впервые замечен. В этом обратном вызове вы можете отправить ему локальное уведомление пользователю (или, совершив вызов веб-службы, вы можете отправить ему push-уведомление пользователю). Это может произойти в всех приложениях, о которых вы упоминаете, используя определения этих состояний приложения this.

ситуаций, когда это не будет работать, если:

  1. телефон выключен
  2. Bluetooth выключен
  3. приложение никогда не был запущен после установки
  4. Пользователь остановленном приложение из диспетчера задач и не перезапустило его с тех пор
  5. Пользователь отклонил разрешение приложения для доступа к вашему местоположению

Обратный вызов вашего приложения произойдет, как только iBeacon обнаружит телефон. Это может быть на расстоянии до 150 футов от iBeacon, если оно обнаружено быстро. Также возможно, что обнаружение будет задержано на несколько минут, пока iOS не начнет следующий цикл сканирования Bluetooth LE. Как только происходит обратный вызов, локальные уведомления могут выполняться немедленно. Push-уведомления, вероятно, будут иметь задержку еще несколько минут.

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

+0

Спасибо за ваш быстрый ответ. Быстрое qn. Вы сказали, что он будет работать во всех приложениях. Но no.4 - это ничего, кроме «App not running state», что означает, что эта реализация не будет работать, если ваше приложение не запущено. это верно? – Kumaran

+0

Большой вопрос - это тема бесконечной путаницы и рассуждений о терминологии! Я бы сказал, что # 4 - это ** НЕ ** то же самое, что и не работает. Нерабочее состояние обычно считается состоянием, в котором ваше приложение находится сразу после перезагрузки телефона. И iBeacons можно обнаружить тогда. Но то, о чем мы говорим в №4, отличается - по крайней мере, в отношении того, как к нему обращаются API-интерфейсы CoreLocation. (См. Здесь: http://stackoverflow.com/a/21126009/1461050) Я хочу, чтобы Apple определила это как шестое состояние, возможно, названное «ожидающим запуска». – davidgyoung

+0

Можно ли постоянно сканировать маяки? это энергопотребление? если да, то какая часть мощности используется? – Leg0

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