小编Box*_*tel的帖子

ejabberd mod_offline iphone推送通知

我目前正在开发一个聊天iPhone应用程序,到目前为止,ejabberd服务器的常规配置非常好.我想在用户"离线"时实现Push通知,为此我只需运行一个PHP脚本,该脚本获取令牌设备,并通过SSL将文本消息传递给Apple的服务器(Apple部分已完成),我的问题的开始是我不知道如何将这个动作实现到我的ejabberd服务器?基本上我只需要在收到的离线消息上创建一个动作即可.有人能指出我正确的方向.我已经设法开始为新模块编写一些代码,但是当这个模块被离线消息调用时,我总是得到相同的错误,代码和错误.

module.erl

-module(mod_offline_push).
-behaviour(gen_mod).
-include("ejabberd.hrl").

-export([start/2, stop/1, send_notice/1]).

start(VHost,_Opts) ->
 ?INFO_MSG("Starting mod_offline_push Host: ~p", [VHost]),
 inets:start(),
    ssl:start(),
 ejabberd_hooks:add(offline_message_hook, VHost, ?MODULE,send_notice, 50), 
 ok.


stop(VHost) ->
    ?INFO_MSG("mod_offline_push stopping Host: ~p", [VHost]),
    ejabberd_hooks:delete(offline_message_hook, VHost, ?MODULE, send_notice, 50),
    ok.

send_notice(Packet) ->
 ?INFO_MSG("after http:",[]),
 Type = xml:get_tag_attr_s("type", Packet),
 FromS = xml:get_tag_attr_s("from", Packet),
 ToS   = xml:get_tag_attr_s("to", Packet),
 Body = xml:get_path_s(Packet, [{elem, "body"}, cdata]),
 if
 (Type == "chat") and (Body /= "") ->
 Sep = "&",
 Post = [
 "application=",ToS, Sep,
 "event=", FromS,Type, Sep,
 "description=", Body, Sep, …
Run Code Online (Sandbox Code Playgroud)

iphone xmpp module ejabberd push-notification

6
推荐指数
1
解决办法
4302
查看次数

标签 统计

ejabberd ×1

iphone ×1

module ×1

push-notification ×1

xmpp ×1