Articles of apple push notifications

如何从PHP exec()调用Node.js脚本时传递参数?

我试图实现iOS推送通知。 我的PHP版本停止工作,我还没有能够得到它再次工作。 但是,我有一个完美的node.js脚本,使用苹果的新的身份validation密钥。 我能够从PHP使用: chdir("../apns"); exec("node app.js &", $output); 但是,我希望能够将deviceToken和消息传递给它。 有没有办法将parameter passing给脚本? 下面是我试图运行的脚本(app.js): var apn = require('apn'); var apnProvider = new apn.Provider({ token: { key: 'apns.p8', // Path to the key p8 file keyId: '<my key id>', // The Key ID of the p8 file (available at https://developer.apple.com/account/ios/certificate/key) teamId: '<my team id>', // The Team […]

如何使用Node JS中的Amazon SNS将VoIP推送通知发送到iOS设备

我正在尝试使用名为sns-mobile和Amazon SNS API的NodeJS程序包,将App推送通知直接从App服务器发送到iOS设备。 但是,当我尝试使用下面的代码发送VoIP推送,这是我得到的错误信息。 有人可以build议我哪里出错,我已经花了近半天的时间来解决这个问题。 无效参数:JSON必须包含“默认”或“APNS_VOIP”条目 var iOSApp = new SNS({ platform: SNS.SUPPORTED_PLATFORMS.IOS, region: 'us-west-2', apiVersion: '2010-03-31', accessKeyId: 'XXXXXXXXXXXXX', secretAccessKey: 'XXXXXXXXXXXXX', platformApplicationArn: 'arn:aws:sns:us-west-2:3303035XXXXX:app/APNS_VOIP/VoIPPushesApp' }); iOSApp.addUser('deviceID', JSON.stringify({ "APNS_VOIP": JSON.stringify({aps:{alert:"Hello and have a good day."}}) }) , function(err, endpointArn) { if(err) { console.log("The Error is :****: "+JSON.stringify(err, null, 4)); throw err; } // Send a simple String […]

为什么苹果推送通知服务有时会给我错误500?

我有一个node.js项目,我使用的应用程序的后端,我必须发送推送通知到Android和IOS,事情是,APNS有时会给我一个错误500试图发送通知。 以下是通常的回应: { sent: [], failed: [ { device: '<device_id>', status: '500', response: { reason: 'InternalServerError' } } ] 我读到,如果你一次发送很多,APNS可以拒绝连接,事情是,我通常不会发送太多,每秒最多1个通知。 我使用node-apn,heres发送通知的代码。 function sendIosNotification(deviceTokens,body,data,musico) { var notification = new apn.Notification(); if (musico) { notification.topic = "<name_goes_here>.musico"; } else { notification.topic = "<name_goes_here>.cliente"; } notification.alert = body; notification.badge = 1; notification.sound = "dong.aiff"; notification.payload = data; apnProvider.send(notification, […]

发送推送通知后,应用程序卡住“inputPEM密码”

我正在使用apn发送从node.js应用程序到苹果的推送通知。 我的代码: // send to development**** var dev_cert_path = path.join(__dirname, '..', 'cert.pem'); var dev_key_path = path.join(__dirname, '..', 'key.pem'); var devOptions = { "gateway": "gateway.sandbox.push.apple.com" , "cert": dev_cert_path, "key": dev_key_path, "passphrase":'XXXXX'}; var devApnConnection = new apn.Connection(devOptions) , devMyDevice = new apn.Device(token) , devNote = new apn.Notification(); devNote.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires 1 […]

苹果推送通知testing

我使用node.js(服务器框架)和mongoose.js(基于mongo的模式build模)作为iOS应用程序的后端,我使用Mocha(testing框架)确保一切正常。 我真正想知道的,并且可以find没有文档,如果正在发送推送通知如何在服务器上testing。 我正在使用apnagent,目前我可以看到推送通知正在通过手动检查我的设备正确发送,但我很难find一个自动的方式来testing,他们正在正常工作。 这可能足以说明在高层回答需要做些什么。 但是如果这里不是实际的代码: mongoose模型在创build时触发推送通知: #this code is called after this model is saved in mongodb eventModel.post 'save', (doc) -> #push the message sendMessageToDevice = (event, token) -> message = event_body: eventId: event._id lat: event.lngLat[1] lng: event.lngLat[0] agent.createMessage() .device(token) .alert('New Event! ' + event.description) .set(message) .send() #cycle through the users to push to #get […]

APN BadDeviceToken iff运行dev版本

问题 我在工作时没有收到推送通知给我的应用程序, APN服务器返回“ BadDeviceToken ” 。 情况 我必须在这里错过一些简单的事情,情况是这样的: 当我发送推送通知到我的应用程序从App Store下载它的作品 当我从同一服务器发送推送通知到我的应用程序的相同版本(*),但build立了Xcode,APN服务器返回一个status: '400'失败, failed[0].response.reason: 'BadDeviceToken' (*)我说相同的版本,代码是相同的,插件应该是相同的,但我已经把cordovaiOS版本从4.x改为3.x。 技术 我正在使用推送通知的新方法,在服务器上的服务器上我只有一个.p8 APNs身份validation密钥。 服务器是使用node-apn插件的节点代码。 客户端应用程序是cordova,使用Telerik Push Plugin 。 我试过了 我已经尝试创build一个新的APNsauthentication密钥,并上传到服务器; 仍然适用于应用程序的App Store版本,而APN在发送到我本地生成的应用程序版本时仍然返回“BadDeviceToken”。 我已经尝试设置production: false在发送推送到我的本地构build的应用程序之前,在服务器configurationnode-apn production: false ; 我仍然收到“BadDeviceToken”错误。 根据这个问题对令牌做一个额外的hex编码; 结果是它仍然说“BadDeviceToken”,虽然在这种情况下,它实际上是真的。 将cordova-ios版本反弹到4.3.1; 仍然得到“BadDeviceToken”。 双重检查build立时的“推送通知”function 按照这里所build议的执行发布版本而不是debugging版本,并在此处进行描述 问题(S) 为什么APN服务器在显示不正确的时候说BadDeviceToken ? 而且,我该如何解决?

如何从Meteor应用程序发送iOS推送通知?

我没有find从Meteor应用程序发送推送通知的综合教程。 我明白,meteor运行使用node.js,所以我一直在跟随这个高度引用和推荐的教程https://blog.engineyard.com/2013/developing-ios-push-notifications-nodejs但无济于事; 在部署我的应用程序时,它会上传,但是网站却没有响应(因为部署没有错误,我不能看到问题出在哪里,但我认为这与我如何组织文件有关)。 我已经按照教程的说明正确下载并加载了所有的证书。 我已经使用他们的示例应用程序来正确获取我的testing设备的ID。 我只是无法弄清楚在哪里放置额外的文件和依赖Meteor的文件夹configuration。 它应该与教程中的结构有什么不同(换句话说,这个结构应该放在我的应用程序的.meteor文件夹中的一个文件夹内吗? 我认为最重要的问题是Meteor只是简单地构build它们的应用程序,而不是简单的Node.js应用程序,因此我需要将这些证书和依赖项放在特定的文件夹中,而不仅仅是具有application.html application.js的主应用程序文件夹application.js和application.css 。