我使用XMPP在我的iOS和Android应用中集成了聊天系统。我在服务器端使用了ejabberd 2。聊天系统工作正常。我想在使用APNS和GCM的聊天中集成推送通知。如何向每条聊天消息发送推送通知? ejabberd 2有任何API或扩展可用于实现此功能吗?
帮助非常明显,
答案 0 :(得分:13)
请使用以下博客,它非常简单实用,对我来说很好。
http://symmetricinfinity.com/2013/01/23/ios-push-notifications-from-ejabberd.html
答案 1 :(得分:6)
apns或gcm没有ejabberd插件。我认为你有两个主要选择:
答案 2 :(得分:3)
AFAIK没有提供GCM或APN接口的公共ejabberd模块。
我建议您使用ejabberd_hook实现自定义模块。您可以看到ejabberd内部模块和状态挂钩here的示例。
如果您想将消息转发给离线用户,我建议offline_message_hook
,而对于消息的通用过滤,我建议filter_packet({From, To, Packet})
并检查数据包类型(请参阅this stackoverflow问题)。< / p>
了解收件人,您可以从db中检索设备令牌/注册ID,并使用某些erlang代码转发邮件。
对于APN,请看一些simple code解释它是如何工作的,或者对这个erlang ex_apns进行解释。如果您想了解有关APN的更多信息,如果您想要APN的模拟服务器,可以阅读此博客post。
有关GCM的示例,您可以使用@Lucas提供的示例链接。