2014-01-24 2 views
0

У меня есть сервер с базой данных sql. Также есть около 100 тыс. Пользователей в приложении для Android. Теперь мне нужно немедленно отправлять уведомления с сервера на все устройства.GoogleCloudMessages Server к задержке устройства

Im исследует систему GCM, но, как я вижу, на принимающей стороне есть огромная задержка. Что мне нужно, когда я нажимаю кнопку отправки на своем сервере, каждое устройство получает его через несколько секунд.

Задержка происходит только при использовании HTTP-соединения? Будет ли это отличаться от XMPP-соединения?

+0

GCM обычно отправляет сообщения в ближайшее время ... если time_to_live обнуляется GCM будет гарантировать лучшее усилие. Другой метод, который вы можете попробовать, - использовать многоадресное сообщение с 1000 токенов за раз –

ответ

1

Вы пытаетесь передать сообщение почти пользователям 100 тыс., А в настоящее время передача сообщений в формате xmpp не поддерживает вещание. Используйте HTTP-сервер для отправки сообщений на 1000 устройств за раз. Это может быть улучшено с помощью multi curl. см. это https://github.com/mseshachalam/GCMMessage-MultiCURL

1

В целом, GCM является правильным выбором для массового вещания. С другой стороны, сообщения не гарантируются сразу же, задержка может составлять до 25 (!) Минут, что все устройства подключены к вашему приложению.

См Google Cloud Messaging - messages either received instantly or with long delay объяснения, почему

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