Как реализовать XMPP для отправки push-уведомлений - PullRequest
12 голосов
/ 08 июля 2011

Я хотел бы использовать XMPP, чтобы мое приложение отправляло обновления на телефон Android (версии 1.5 и выше). Я очень хочу использовать XMPP для отправки push-уведомлений на телефон.

Как бы я пошел для достижения этого. В настоящее время мое веб-приложение работает на Apache Tomact с несколькими сервлетами, поэтому телефон Android может получить доступ к информации, но мне трудно понять, как я могу реализовать XMPP, чтобы я мог передавать информацию с сервера на клиент ( Телефон на Андроиде).

Я проверил следующий учебник Пример XMPP с логином Google ID

Использует логины Google ID. Но мне нужно использовать свое веб-приложение, чтобы делать то, что реализует Google. Есть идеи?

Ответы [ 2 ]

13 голосов
/ 08 июля 2011

Это будет зависеть от характера вашего толчка (это точка-точка или паб).В любом случае вам понадобится сервер XMPP, к которому подключены ваши клиенты и приложение.Это будет средством для вашего приложения отправлять уведомления клиентам.

Не уверен, что вы подразумеваете под "Мне нужно использовать свое веб-приложение для того, что реализует Google".Ваше веб-приложение будет клиентом для сервера xmpp, как и ваши телефоны.Вы не можете использовать xmpp для простого общения с вашим веб-приложением, если только это не сам сервер xmpp с поддержкой bosh, что, я думаю, маловероятно.

Вы можете использовать Smack для своего клиентасвязь и любой из многих доступных серверов .

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

2 голосов
/ 14 января 2012

Как правило, вы реализуете это как функцию pub-sub. Pub-sub - это парадигма публикации / подписки: вы публикуете что-то, а они получают это.

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

На стороне сервера, когда у вас есть что-то, о чем должны знать все ваши клиенты, вы бы опубликовали обновление на том же узле, на который подписаны клиенты.

Для получения дополнительной информации см. http://xmpp.org/extensions/xep-0060.html

...