Openfire和推送通知

时间:2012-03-31 06:46:44

标签: php push apple-push-notifications openfire

我正在编写一个基本上是jabber聊天应用程序的IOS应用程序。我正在使用Openfire作为xmpp服务器,到目前为止它一直很棒。我现在面临的问题是推送通知。该应用程序是用Xcode编写的,它从PHP Api获取用户数据。 Openfire是xmpp服务器。问题是当应用程序向openfire发送消息时,我还需要查询Php api以查看用户是否在线,如果不是,则发送推送通知。对于发送的每条消息都必须这样做,正如您可能猜到的那样,这会影响所有这些请求的性能。

我把一切都搞定了,我只是无法摆脱这个驼峰。如果只有openfire会在收到消息时拒绝我选择的请求。

有人能提出更好的建议吗?基本上需要知道用户之前是否在线(在线状态),以便我知道要发出推送通知,我不希望每发送一条消息从我的应用程序发出两个请求。谢谢。

2 个答案:

答案 0 :(得分:4)

在openfire中,离线用户的消息存储在ofoffline表中。因此,如果der是ofOfline表中的任何条目,那么您的PHP代码无需担心用户的状态,这意味着用户处于脱机状态。现在创建一个调度程序,它将继续查看ofOfline表中的脱机消息,将它们组合在一起并将通知推送给用户

答案 1 :(得分:0)

我在XAMPPHP库中花了很多时间,但无法找到任何合适的解决方案。所以用jabber服务器开发一个web基础聊天应用程序。而不是使用XAMPPHP,你可以使用“http://strophe.im/strophejs/”它会比XAMPPHP快得多,你可以为Strophe js找到更多的js插件。你还可以在strophe js上找到更多现成的xmpp客户端。所以它会比XAMPHP更好。