it-swarm.com.ru

Google Cloud Messaging - CCS (XMPP) против HTTP-сервера

Я прочитал документацию https://developer.Android.com/google/gcm/index.html

и единственное отличие, которое я вижу, состоит в том, что сервер на основе CCS (XMPP) обеспечивает двунаправленную связь напрямую между устройством Android и сервером GCM.

Есть ли другие причины, по которым вы бы выбрали CCS (XMPP) вместо HTTP или наоборот?

16
Bachalo

CCS (XMPP) является асинхронным, что означает, что он должен быть быстрее, чем HTTP. Он также использует существующее на устройстве соединение GCM для отправки сообщений из вашего приложения на ваш сервер (что экономит заряд батареи, поскольку вам не нужно открывать собственное соединение с вашим сервером). 

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

18
Eran

Вы можете транслировать сообщения на 1000 устройств одновременно с помощью одного http-вызова на gcm. Для вещания http лучше, чем CCS.

5
guy_fawkes

к сожалению, облачная платформа Google отключит API-интерфейс XMPP через год https://cloud.google.com/appengine/docs/deprecations/xmpp

Я бы выбрал XMPP для экономии заряда аккумулятора устройства, потому что это одна из самых больших проблем в наше время! 

2
Tamer Saleh

Из документов Google:

Вы можете продолжать использовать механизм HTTP-запросов для отправки сообщений на серверы GCM, параллельно с CCS, которая использует XMPP. Некоторые из преимуществ CCS включают в себя:

Асинхронная природа XMPP позволяет отправлять больше сообщений с меньшими ресурсами.

Связь является двунаправленной - не только ваш сервер может отправлять сообщения на устройство, но и устройство может отправлять сообщения обратно на ваш сервер.

Устройство может отправлять сообщения обратно, используя то же соединение, которое использовалось для приема, тем самым увеличивая срок службы батареи.

0
Moulaali Shaik