2014-11-20 2 views
1

Я создаю приложение, в котором пользователь зарегистрирован и зарегистрирован. После того, как статус пользователя Signin отправляется на сервер через Интернет через JSON, поскольку я использую базу данных mysql. теперь администратор хочет отправить некоторые данные или оповещения пользователю онлайн, к которому я должен обратиться к стороне android, чтобы постоянно проверять реакцию сервера. когда этот ответ пришел, новая активность должна начинаться, и администратор может отправлять ответ в любое время. Я использую сервисный подход для проверки ответа сервера через 1 секунду с помощью AlarmManager, это не очень хороший подход, поскольку он делает мое приложение, а также мобильное медленное непрерывное создание службы. подскажите мне, какой подход я должен сделать, чтобы постоянно проверять реакцию сервера. кто-то сказал мне использовать подход Google Cloud Messaging (как ответ может быть отправлен конкретному пользователю?), но мне нужно предложение или любой другой лучший подходПроверка ответа сервера Периодически

+0

Вместо этого используйте push-сообщения. – IuriiO

+0

Можете ли вы выслать мне какую-либо ссылку на объяснение push-сообщения? –

+1

Я думаю, что лучшим вариантом для вашего требования является GCM. И GCM также может отправлять ответ конкретному пользователю по его/ее региону. – himCream

ответ

0

Вы должны использовать Google Cloud Messaging. Прежде всего, когда пользователь сначала устанавливает приложение. ниже может быть алгоритм применить

  • пользователь пытается Войти
  • Проверьте, если устройство было зарегистрировано - (это делается путем проверки sharedPreference вы сначала бы сохранили RegID в)

  • , если устройство не было зарегистрировано

  • Зарегистрируйте устройство с GCM
  • GCM возвращает RegID (очень длинный характер)
  • сохранить RegID к серверу для пользователя, зарегистрированного на
  • сохранить RegID в sharedPreference
  • продолжить вход в систему в пользовательском

С вашего сервера вы можете отправить информацию на ваше устройство

  • Отправить сообщение для GCM и RegID
  • GCM идентифицирует RegID и местонахождение устройства.
  • GCM транслирует сообщение на устройство, если он подключен к сети или ждет, когда устройство поступит в интернет.
  • ваше устройство должно получить сообщение от GCM (сообщение может быть action_key, которое определяет, что вы намерены, например, PICK_UP может означать: эй сервер нуждается в вас, чтобы забрать некоторые данные ")
  • так что если сообщение равно PICK_UP, чего-то, например, подключиться к серверу и выбрать то, что нужно
  • Вы не должны передавать большие данные с сервера на ГКМ

Использование GCM избавит вас от необходимости периодически запрашивать информацию с e сервера. Он также будет экономить ваши пользователи от ненужной траты.

Надеюсь, это поможет.

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