我正在尝试在 ejabberd 中设置推送通知到我的自定义 XMPP iOS 客户端。我从这里看到评论在 Github 问题上,有人建议使用组件协议的外部推送服务。我选择使用fpush
我正在尝试了解如何在 ejabberd 中配置组件协议。
据我所知,我需要设置一个新的监听器并使用该ejabberd_service
模块,我是这样做的:
listen:
-
port: 1337
ip: 127.0.0.1
hosts:
pushes.mydomain.com:
password: secret
然后在fpush
配置中,我像这样设置组件:
{
"component": {
"componentHostname": "pushes.mydomain.com",
"componentKey": "secret",
"serverHostname": "127.0.0.1",
"serverPort": 1337
},
"pushModules": {
"MyAppName": {
"type": "apple",
// etc
}
}
这就是我要做的事情吗?因为当我启动时,fpush
我收到以下错误,这没什么帮助:
thread 'main' panicked at /home/ubuntu/fpush/fpush-push/src/lib.rs:64:91:
called `Result::unwrap()` on an `Err` value: PushErrors(PushEndpointTmp)
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
此外,文档还说fpush
节iq
必须包含pushModule
名称。ejabberd 如何知道如何填写该值?我是否遗漏了其他配置?