【发布时间】:2012-05-14 15:27:45
【问题描述】:
我正在为 iOS 创建 Google Talk 客户端。我有 BOSH 服务器(使用 node-xmpp-bosh)和 iOS 客户端(使用 xmppframework)。 iOS 客户端通过此 BOSH 服务器连接。
现在,当有传入的聊天消息或好友请求时,我如何向客户端(可能来自 Bosh 服务器)发送推送通知?
谢谢!
【问题讨论】:
标签: objective-c ios xmpp google-talk
我正在为 iOS 创建 Google Talk 客户端。我有 BOSH 服务器(使用 node-xmpp-bosh)和 iOS 客户端(使用 xmppframework)。 iOS 客户端通过此 BOSH 服务器连接。
现在,当有传入的聊天消息或好友请求时,我如何向客户端(可能来自 Bosh 服务器)发送推送通知?
谢谢!
【问题讨论】:
标签: objective-c ios xmpp google-talk
node-xmpp-bosh 实际上正好提供了这种用例。 BOSH 服务器是eventpipe 的一个实例,可让您通过管道将事件传入/传出 BOSH 服务器到您的自定义模块/插件。您可以在此处编写推送通知服务的逻辑代码。
在 BOSH 服务器上执行此操作的优势在于,您可以支持所有 XMPP 服务,而不仅仅是您控制 XMPP 服务器的服务。即您可以为 google talk、facebook、jabber.org 等提供此功能...
披露:我是 node-xmpp-bosh 的作者之一。
【讨论】:
bosh_server.on("response", function(stanza, stream) {});这是收听“响应”事件的正确方法吗?还是我应该听的更好的活动?非常感谢您创建 node-xmpp-bosh :)
要支持推送通知,您需要在服务器上进行特殊更改。我们为 ejabberd 开发了该模块(您可以在 TextOne 和 OneTeam 中看到该模块)。 自己实施推送通知的详细信息可在以下位置获得: http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html
【讨论】: