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

Как сделать приложение чата в android?

Я хотел бы добавить функции чата с онлайн-пользователем в gmail в android. как добавить функцию чата в мое приложение в андроиде?

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

4b9b3361

Ответ 1

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

Использование бэкэнд-службы реального времени

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

Вот список самых популярных сервисов:

Firebase

Google использует базу данных реального времени, которая использует WebSockets и MongoDB в качестве основного стека технологий. Служба позволяет сохранять данные в базе данных без SQL, а затем регистрироваться для получения обновлений в режиме реального времени при изменении этих данных. Они также предлагают услуги для push-уведомления и хранения файлов. Существует также сторонняя платформа обмена сообщениями с открытым исходным кодом, доступная для iOS и Android.

У Firebase есть библиотека под названием GeoFire, которая позволяет вам определить местоположение вашего приложения.

Pusher / PubNub

Я сгруппировал их вместе, потому что они очень похожи. Они обеспечивают поточную инфраструктуру и технологию реального времени. Вы можете устанавливать каналы между группами устройств и потоковыми данными между ними. Они не предоставляют никаких средств для аутентификации пользователей, поэтому вам нужен сервер приложений.

Quickblox

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

Уровень

Слой находится на полпути между Quickblox и PubNub/Pusher. Они предлагают поточную платформу, предназначенную для обмена мгновенными сообщениями. У них есть некоторые функции обмена сообщениями, такие как базовая блокировка, но это не полноценная реализация сообщений, например Quickblox. У них есть библиотека компонентов пользовательского интерфейса, которые можно использовать для создания полного приложения - Atlas.

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

Эти службы сэкономят ваше время, когда дело доходит до реализации сервера в реальном времени, конфигурации сервера и масштабирования.

XMPP

Другой вариант - разместить сервер XMPP самостоятельно. Доступно несколько серверов XMPP с открытым исходным кодом:

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

Чтобы создать клиент, я бы рекомендовал использовать Smack. Поскольку XMPP является открытым стандартом, ваш клиент должен иметь возможность работать с сторонними серверами и клиентами XMPP.

Если вы не хотите самостоятельно строить клиент, существует ряд проектов с открытым исходным кодом (в основном по копиям левой лицензии), которые могут служить отправной точкой. Xabber будет одним из примеров, но вы можете найти больше, выполнив поиск. Кроме того, вы можете использовать этот коммерческий проект с открытым исходным кодом.

Создание сервера самостоятельно

Последний вариант - создать сервер обмена сообщениями самостоятельно. Это имеет то преимущество, что вы можете добавить необходимые вам функции и держать их достаточно простыми. Хорошим подходом было бы использовать Symfony и WebSocket Bundle для задней части реального времени и Android WebSockets для клиента. Используя этот подход, у вас будет много гибкости, реализующей функциональность геопозиционирования.

Ответ 2

Я и моя команда, мы работаем над Backend как сервисной платформой QuickBlox. У нас есть отличный пример того, как интегрировать функции Map/Chat в ваше приложение:

Простая программа Android Map/Chat: https://quickblox.com/developers/Android_XMPP_Chat_Sample

Ответ 3

Мы очень тесно сотрудничаем с сообществом разработчиков и разработали SDK Applozic Chat, который занимает всего 10 минут для интеграции. Попробуйте: Applozic Пример кода с открытым исходным кодом sdk доступен в Github: https://github.com/AppLozic/Applozic-Android-SDK

Ответ 4

Я не знаю о GMaps, но для реализации чата вы можете попробовать следующую ссылку Xmpp

Ответ 5

Добавив функцию чата, вы можете использовать Firebase или XMPP.

Для выбора нужного варианта вы можете предпочесть https://www.quora.com/Which-protocol-is-better-to-develop-a-chat-web-app-using-Firebase-XMPP-or-HTTP

ИЛИ

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

Ответ 6

Мы предоставляем решение SDK в режиме реального времени, называемое ChatCamp. С помощью ChatCamp SDK вы сможете быстро добавлять функции чата в приложение для Android. Вот ссылка на руководство по быстрому запуску Android - https://docs.chatcamp.io/docs/android-chat-quickstart. Кроме того, можно заказать список пользователей на основе расстояния от определенного места, или вы можете показывать онлайн-пользователей поверх Карт Google.