我正在尝试使用 raix(版本 2.6.1)从浏览器控制台发出推送通知。 我尝试使用 this tutorial 中的 php 脚本进行推送它适用于我拥有的证书和 key ,但是当我用 raix 尝试时,手机上没有任何反应。我尝试这样做:
Push.send({from: "pushfrom", title:"hello", text:"world", token:{apn: "my_ios_device_token"}});
这是我的 config.push.json
{
"apn": {
"passphrase": "xxxxxxx",
"key": "aps_key.pem",
"cert": "aps_cer.pem"
},
"badge": true,
"sound": true,
"alert": true,
"vibrate": true
}
我有不安全的包,但我仍然尝试添加 Push.allow 但没有帮助。
我如何知道通知是否确实被推送到 APNS 还是根本没有发生任何事情?
最佳答案
我会尝试给出尽可能接近的答案:
尝试使用$ meteor shell
服务器控制台发送消息,服务器不需要允许/拒绝发送规则(这是客户端安全性)
在幕后实际上有两个集合:
- Push.notifications - 包含待发送的待发送通知(这些通知已排队)
- Push.appCollection - 此保留和维护 token (例如,如果被 gcm/apn 服务撤销,则删除 token )
因此,您可以使用 Meteor shell 来检查客户端应用程序是否注册了推送 token - 如果注册了,那么您应该准备好向其发送消息,例如。直接通过 meteor 外壳。
如果您没有从 Push.appCollection 中的客户端获取 token - 那么您就有配置或证书问题 - 这是推送通知的困难部分。
如果您将代币放入 Push.appCollection
那么它是 Prop 。与服务器设置有关的东西。这可能是证书,我在raix:push
上添加了指南用于测试服务器证书的存储库。还要考虑端口,您需要为您的服务器打开一些端口,以便与 gcm/apn 服务进行通信。还要考虑防火墙等,具体取决于您/客户端的设置和 wifi 的安全级别等。
请帮助改进该项目的文档 - 我构建了这个东西并认为很多事情是理所当然的,因此文档中可能会缺少线索等。
您还可以使用query: {}
而不是发送到一个特定的 token (测试时)
最新版本为2.6.6,
推送通知是除了滚动之外最难使用的功能。
亲切的问候莫滕
关于ios - 使用 raix :push 发送推送通知时没有任何反应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29386665/