Я разрабатываю приложение для Android, в котором я должен реализовать чат-обмен сообщениями. Я бы хотел, чтобы один в один чат или групповой чат.
Но я понятия не имею, как начать. Пожалуйста, помогите мне с этим. Любая помощь будет оценена.
Я разрабатываю приложение для Android, в котором я должен реализовать чат-обмен сообщениями. Я бы хотел, чтобы один в один чат или групповой чат.
Но я понятия не имею, как начать. Пожалуйста, помогите мне с этим. Любая помощь будет оценена.
Простой механизм чата будет иметь две основные функции
Отправить сообщение серверу (с информацией о получателе)
Получить сообщение с сервера (назначенное для моего имени пользователя)
Первый шаг прост, мы можем создать веб-службу, которая примет сообщение с дополнительной информацией о получателях. Мы можем создать его с использованием любого языка на стороне сервера.
Шаг 2, который выбирает сообщение с сервера, может быть выполнен с использованием двух методов: вытащите сообщение (используя опрос) с сервера или нажмите сообщение с сервера на Android-телефон
Опрос: при этом устройство Android будет продолжать доступ к серверу через несколько секунд, чтобы проверить, доступно ли сообщение для пользователя. Это снова может быть реализовано с помощью простой задачи async на стороне клиента, которая будет продолжать звонить в веб-службу через 2-3 секунды. Это нормально использовать, если мы планируем включить чат только в том случае, если пользователь обращается к приложению (никаких уведомлений, таких как gmail или facebook), чтобы мы могли убить службу опроса, когда он не используется (в противном случае он будет потреблять ресурсы).
Push-уведомления: лучший вариант - использовать push-уведомления. Android обеспечивает Google cloud messaging или GCM (http://developer.android.com/google/gcm/index.html), что поможет легко добиться толчка от сервера. В противном случае вы можете попробовать сторонний API, такой как urbanairhip или pushwoosh, в зависимости от вашего требования. Push-уведомления помогут пользователю получать сообщения, даже если он не использует приложение.
Таким образом, в двух словах, веб-сервис для приема сообщений и механизм уведомления push должен быть достаточным для реализации службы чата в android.
Немного о UrbanAirship
Я использовал UA в одном из моих проектов для push-уведомлений, поскольку мне нужно было поддерживать как iOS, так и Android. Если вы просто хотите поддержать Android GCM, также может быть хорошим вариантом.
Возвращаясь к UA, проверьте это для примера кода и использования: https://docs.urbanairship.com/display/DOCS/Home
Как это работает, просто, когда кто-то устанавливает приложение и подключается к Интернету, приложение регистрируется в службе UA. Для каждого установленного приложения указан уникальный код (это время, когда вы можете записывать имя пользователя и уникальный код и хранить где-нибудь в своей БД). Следующий UA предоставляет API, с помощью которого вы можете нажимать сообщение назначенным получателям (получателям), используя уникальные коды, доступные с UA. Эти сообщения могут быть получены приложением android и использованы в соответствии с требованием. Даже если приложение не работает, мы можем показать уведомление так же, как когда мы получим электронное письмо или сообщение
Вы можете использовать существующую платформу, например Scringo. Он дает вам индивидуальный чат, а также групповой чат (как клиент, так и сервер), а также службу push-уведомлений.