Подтвердить что ты не робот

Реализация одного к одному и групповой чат в Android

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

Но я понятия не имею, как начать. Пожалуйста, помогите мне с этим. Любая помощь будет оценена.

4b9b3361

Ответ 1

Простой механизм чата будет иметь две основные функции

  • Отправить сообщение серверу (с информацией о получателе)

  • Получить сообщение с сервера (назначенное для моего имени пользователя)

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

Шаг 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 и использованы в соответствии с требованием. Даже если приложение не работает, мы можем показать уведомление так же, как когда мы получим электронное письмо или сообщение

Ответ 2

Вы можете использовать существующую платформу, например Scringo. Он дает вам индивидуальный чат, а также групповой чат (как клиент, так и сервер), а также службу push-уведомлений.