如何使用XMPP Server发送推送通知?

时间:2014-05-22 07:47:08

标签: node.js push-notification xmpp ejabberd xmppframework

我想在iphone中开发一个聊天应用程序。我正在使用ejabberd xmpp服务器。现在我可以向其他用户发送消息了。

现在我想通过推送通知接收消息。

我听说我们可以使用xmpp服务器发送推送通知。

所以任何人都可以告诉我,我想知道如何

  • 是否可以使用ejabberd发送推送通知

  • 是否可以使用节点js从ejabberd xmpp服务器发送推送通知。

请提供任何建议,以便开始使用xmpp中的消息通知。

2 个答案:

答案 0 :(得分:4)

如果要使用ejabberd社区版发送推送通知,则需要添加ejabberd模块,该模块将脱机消息发送到指定的推送通知提供程序。此提供程序将通知发送到Apple APNS或googles GCM。 你可以自己开发一个模块,或者你可能会发现一些模块。 mod_zeropush(https://github.com/ZeroPush/mod_zeropush)将是其中之一,但自行的zeropush服务被取消。另一个是mod_onesignal(https://github.com/nobreak/mod_onesignal)。 OneSignal是免费使用推送通知提供商。

答案 1 :(得分:0)

XMPP在整个XMPP会话期间需要持久套接字连接或“持久”BOSH连接。每当您的iOS应用程序进入后台时iOS都会终止您的套接字连接,并且您的Openfire服务器会终止您的XMPP会话。这意味着用户离线。这也是此用户的传入邮件进入离线存储的原因。

更直接的方法是在openfire中做一些事情,当openfire无法传递它将其存储在离线表中的消息时,我们可以对该部分进行一些拦截并使用消息启动推送过程。