zch*_*zch 8 apple-push-notifications node.js meteor
我没有找到一个从Meteor应用程序发送推送通知的综合教程.我知道Meteor使用node.js运行,所以我一直在关注这个高度引用和推荐的教程https://blog.engineyard.com/2013/developing-ios-push-notifications-nodejs,但无济于事; 在部署我的应用程序时,它上传但网站没有响应(并且鉴于部署没有错误,我无法看到问题所在,尽管我认为它与我如何组织文件有关).
我按照教程的说明正确下载并加载了所有证书.我使用他们的示例应用程序来正确获取我的测试设备的ID.在Meteor的文件夹配置中,我无法弄清楚在哪里正确放置其他文件和依赖项.它应该如何与教程中的结构不同(换句话说,这个结构应该放在.meteor我的应用程序文件夹中的文件夹内)?
我认为首要的问题是,流星简单结构的应用程序不同于普通的Node.js应用程序,因此我需要被放置在一个特定的文件夹,这些证书和依赖关系,而不仅仅是主应用程序文件夹application.html,application.js和application.css.
ala*_*ing 14
我们使用apn npm包和我们的Meteor应用程序.我们查看了apnagent(因为同一个教程),但由于其更受欢迎而使用了apn.尽管apnagent在Meteor应用程序中也可以正常工作,但您可能只想尝试apn进行故障排除.
我们像这样设置服务器端......
var apn = Meteor.require("apn"),
path = Npm.require('path'),
apnOptions = Meteor.settings.apnOptions || {},
alertSound = apnOptions.sound || "alert.aiff",
apnConnection
// default apn connection options
apnOptions = _.extend({
cert: path.join(appRootPath, "private", "cert.pem"),
key: path.join(appRootPath, "private", "key.pem"),
}, apnOptions)
apnConnection = new apn.Connection(apnOptions)
Run Code Online (Sandbox Code Playgroud)
......并像这样使用它:
sendAppleNotifications: function (alert, url, pushIds) {
var note = new apn.Notification()
// expires 1 hour from now
note.expiry = Math.floor(Date.now() / 1000) + 3600
note.sound = alertSound
note.alert = alert
note.payload = {'url': url}
_.each(pushIds, function (token) {
var device = new apn.Device(token)
apnConnection.pushNotification(note, device)
})
return {success:'ok'}
}, // end sendAppleNotifications
Run Code Online (Sandbox Code Playgroud)
请注意,这可以Meteor.require通过npmmeteor包启用,您可以在这里阅读.或者你可以只把你的代码,使用APN包在自己的流星包,并使用Npm.require作为@GeoffreyBooth建议.
==
2015年6月20日 - 更新
我最近回答了有关设备令牌的问题; 希望这些资源有用:
| 归档时间: |
|
| 查看次数: |
9261 次 |
| 最近记录: |