Iphone ejabberd和推送通知

Iphone ejabberd和推送通知,iphone,xmpp,apple-push-notifications,ejabberd,google-cloud-messaging,Iphone,Xmpp,Apple Push Notifications,Ejabberd,Google Cloud Messaging,我已经使用XMPP将聊天系统集成到我的iOS和Android应用程序中。我在服务器端使用了ejabberd 2。聊天系统运行良好。我想使用APNS和GCM将推送通知集成到聊天中。如何在每条聊天信息中发送推送通知?Ejabberd2是否有任何API或扩展可用于实现此功能 帮助非常值得欣赏,apns或gcm没有ejabberd插件。我认为你有两个主要的选择: 使用mod\u offline\u post模块,该模块将在给定url上发送post请求。然后,您可以使用任何现有的后端语言来处理APN和gc

我已经使用XMPP将聊天系统集成到我的iOS和Android应用程序中。我在服务器端使用了ejabberd 2。聊天系统运行良好。我想使用APNS和GCM将推送通知集成到聊天中。如何在每条聊天信息中发送推送通知?Ejabberd2是否有任何API或扩展可用于实现此功能


帮助非常值得欣赏,

apns或gcm没有ejabberd插件。我认为你有两个主要的选择:

  • 使用
    mod\u offline\u post
    模块,该模块将在给定url上发送
    post
    请求。然后,您可以使用任何现有的后端语言来处理APN和gcm(无论如何,我使用rails作为后端,所以这只是处理它的另外一个enpoint)

  • 基于
    mod\u offline\u post
    ,创建您自己的模块,该模块将发送推送通知,而不是
    post
    请求。实现apns和gcm的示例和库很少。即APN和gcm。但是对于这一点,认识一些erlang当然是件好事


  • AFAIK没有提供GCM或APN接口的公共ejabberd模块

    我建议您使用实现一个自定义模块。您可以看到ejabberd内部模块和状态挂钩的示例

    如果要将消息转发给脱机用户,我建议
    offline\u message\u hook
    ,而对于消息的一般筛选,我建议
    filter\u packet({From,to,packet})
    ,并检查包类型(请参阅stackoverflow问题)

    了解收件人后,您可以从db检索设备令牌/注册id,并使用一些erlang代码转发消息

    对于APN,请看一些关于它是如何工作的解释,或者对这个erlang进行解释。如果你想了解更多关于APN的信息,如果你想为APN创建一个模拟服务器,你可以阅读这个博客


    对于GCM的示例,您可以使用@Lucas提供的示例链接。

    请使用下面的博客,它非常简单和有用,对我来说很好


    如何推送到android离线用户?如何从android客户端向eJabberD发送FCM配置参数?我正在使用Smack SDK客户端。有没有任何建议@Mickaël Rémond,vksHow I can retrieve device token from db?这完全取决于您如何存储令牌以及db是什么。