2015-11-22 2 views
1

Хорошо, мы все знаем, на что способен GCM, но мой вопрос: будет ли GCM надежным управлять чат-приложением? Я имею в виду, может ли он обрабатывать отправку сообщений (быстро) сотням людей? если нет, то какой лучший способ?Приложение для Android-чата с использованием GCM

Я много читал о чатах, я узнал, что мы должны использовать XMPP, но все, что я могу найти, это API, которые не интегрируются с MY-сервером, например Parse (мы должны регистрироваться и подписываться с их бэкэндом что не очень удобно)

Спасибо всем

EDIT: Как насчет Google Cloud Messaging GCM CCS с XMPP

+0

Я бы использовал [Firebase.] (Https://www.firebase.com/) – mbmc

ответ

1

GCM, на мой взгляд и опыт работы с ним, не достаточно быстро , И Google никогда не утверждает, что это будет. Чат-сервер/служба чата должны гарантировать определенное время, в которое будут доставлены сообщения, по крайней мере в 99,9% случаев. Даже если вам не нужны отчеты о доставке чатов, которые многие чат-приложения по-прежнему не предоставляют, GCM сам будет медленным для чат-приложения. Вам лучше работать только с серверами XMPP

+0

Спасибо! как насчет GCM CCS с XMPP –

+0

Никогда не использовал его сам, но, читая документы API, я считаю, что он должен работать! Нет причин для этого не –

4

Для приложения чата только GCM недостаточно, так как это может задержать или пропустить когда-нибудь. Вы можете пойти с MQTT (иметь много преимуществ перед XMPP для мобильной платформы) плюс GCM. Подход должен быть:

1) Использовать постоянное соединение MQTT, если пользователь находится на переднем плане. Это будет намного быстрее и будет в реальном времени с отчетом о доставке и прочитайте получение чатов. Вы можете использовать GCM для подключения MQTT, когда он не подключен.

2) Реле на GCM, когда пользователь не использует чат активно и в фоновом режиме (Закройте соединение MQTT). Это позволит сэкономить время автономной работы, а также использование сети.

Для примера кода вы можете пройти через наш Applozic open source chat sdk.

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