我正在开发使用 ejabberd 作为 XMPP 服务器的 android 聊天应用程序。我想在用户离线时发送 GCM 推送通知。为此,我在 ejabberd 中创建了新模块,注册了 offline_message_hook,但是只有当有人开始输入并完成输入时才会调用此函数。以下是传递给此钩子的唯一数据包。虽然,用户在他/她上线时会收到消息。
Packet: {xmlelement,
"message",
[{"type",
"chat"},
{"id",
"purple7d4d0773"},
{"to",
"xxx@rakshith"}],
[{xmlelement,
"paused",
[{"xmlns",
"http://jabber.org/protocol/chatstates"}],
[]}]}
Packet: {xmlelement,
"message",
[{"type",
"chat"},
{"id",
"purple7d4d0773"},
{"to",
"xxx@rakshith"}],
[{xmlelement,
"composing",
[{"xmlns",
"http://jabber.org/protocol/chatstates"}],
[]}]}