我已将mod_apns添加到我的ejabberd服务器。你可以找到这个模块here。 我的ejabberd.yml配置是这样的:
mod_apns:
address: "gateway.sandbox.push.apple.com"
port: 2195
certfile: "/Applications/ejabberd-15.10/conf/cert.pem"
keyfile: "/Applications/ejabberd-15.10/conf/key.pem"
password: "myPassword"
地址是沙箱,因为我还处于开发阶段。我已经测试了我的cert.pem和key.pem,它们是有效且有效的。 我将设备令牌发送到ejabberd服务器,如下所示:
<iq type="set" to="myEjabberdServer.com">
<register xmlns="https://apple.com/push">
<token>myDeviceTokenWithoutAnySpace</token>
</register>
</iq>
我可以看到我的设备令牌保存在apns_users数据库中。 但是当我的用户离线时,我仍然没有收到通知。
我做错了吗? 它是否适用于gateway.sandbox.push.apple.com? 我的设备令牌应该没有空格而且只有字符吗?
感谢您的帮助..
答案 0 :(得分:0)
您已经要求采用其他方法。这种替代方法采用ejabberd服务器触发推送通知的过程
1.使用mod_interact
库。这将使您能够将邮件转移到另一个网址
2.从那里开始,您可以使用直接HTTP调用进行推送通知