XMPP (Openfire) Push Notifications Android
Я действительно пытался найти решение этой проблемы, но не сделал этого. Есть некоторые темы, связанные с этой концепцией, но я не нашел исчерпывающего решения.
У меня есть сервер с Openfire, который отправляет сообщения. Когда оба пользователя находятся в сети, проблем нет. Однако, когда пользователь отключен, я хотел бы отправить push-уведомление, как в Whatsapp. Я слышал, что Whatsapp и другие приложения IM используют модифицированную версию ejabber для отправки push-уведомлений, но не смогли узнать, как это сделать.
Одна из возможностей - использовать GCM, но я не уверен, что это правильный путь. Также я хотел бы избежать опроса, чтобы не истощать срок службы батареи.
Кто-нибудь знает какое-то решение для этого или имеет пример?
Ответы
Ответ 1
Ну, вы можете использовать GCM с XMPP.
Новый GCM Cloud Connection Server позволяет использовать протокол XMPP для двунаправленной (Cloud to Device and Device to Cloud) связи между вашим сервером и вашим Android.
Сервер облачных соединений GCM (CCS) позволяет сторонним серверам взаимодействовать с устройствами Android, установив постоянный TCP соединение с серверами Google с использованием протокола XMPP. Эта связь является асинхронной и двунаправленной.
Ответ 2
Я изучаю openfire и нашел хорошие варианты, которые я хотел бы поделиться с вами.
Я нашел плагин в github, и я проверю его на этой неделе. Кажется, это будет хорошим решением для вашей цели и для меня: https://github.com/meisterfuu/Openfire-GCM/
Другой вариант - использовать плагин CallbackOnOffline, который вызывает указанный URL с параметрами To и From. Этот URL-адрес может быть конечной точкой в вашем веб-сервисе, и с этими данными (To и From) вы можете получить связанный Id для нажатия на свою базу и сделать нажатие.
https://www.igniterealtime.org/projects/openfire/plugins.jsp
Ответ 3
В openfire это делается автоматически, сообщения будут получены пользователем при входе в систему. Так что не беспокойтесь, отправляйте сообщение автономному пользователю, и когда пользователь приходит онлайн-сообщение, он автоматически будет нажат на пользователя.