Articles of apple push notifications

带有节点JS的APNS(Apple推送通知服务)

我正在寻找创buildAPNS(苹果推送通知服务),在那里服务器将发送通知到iOS设备。 我能够通过PHP使用SAME设备令牌和相同的证书使推送通知工作,但是,我想通过节点JS而不是PHP发送通知。 我有以下有效的文件/证书来帮助我开始: cert.pem key.pem aps_development.cer cert.p12 key.p12, ck.pem 我一直在查看几个资源/链接,如: https://github.com/argon/node-apn 如何通过nodejs实现APNS通知? 这样做之后,我能够拿出下面的示例代码,其中PASSWORD代表key.pem的密码,TOKEN代表我的设备令牌: var apn = require("apn"); var path = require('path'); try { var options = { cert: path.join(__dirname, 'cert.pem'), // Certificate file path key: path.join(__dirname, 'key.pem'), // Key file path passphrase: '<PASSWORD>', // A passphrase for the Key file ca: path.join(__dirname, 'aps_development.cer'),// String or […]

使用NodeJS的iOS推送通知

我有要求实现服务器端代码推送通知到iOS应用程序。 我已经按照下面的链接。 https://blog.engineyard.com/2013/developing-ios-push-notifications-nodejs 问题是我总是得到“信息不足”的消息。 我也尝试了另一个名为“APN”的node.js模块,但没有任何帮助。 有没有人试过这些模块的任何一个成功? 还有其他的select吗?

与NodeJs HTTPS一起使用certificates.cer

我已经为IOS推送通知生成了一个.cer文件,我希望能够和NodeJS HTTPS模块一起使用它。 我发现HTTPS模块的唯一例子是使用.pem和.sfx文件,而不是.cer: var options = { key: fs.readFileSync('test/fixtures/keys/agent2-key.pem'), cert: fs.readFileSync('test/fixtures/keys/agent2-cert.pem') }; or var options = { pfx: fs.readFileSync('server.pfx') } https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8000); 任何解决scheme

使用node-apn发送Push始终返回无效标记(8)

我试图让我的node.js应用程序成功地发送推送通知到我的设备。 在开始的时候,我确定我的推送证书/密钥出错了,所以我在Ruby中写了同样的东西,只是为了确保它完美地工作。 当我尝试使用nomad-cli(命令行工具)或只是在Ruby中使用Nomad它工作正常,它需要一个包含密钥和证书的PEM文件 它看起来像这样 apn push "21329bc4164a56226a982f3daea4e3ace5e6c1788e4dc3a75248eca330b280a300" -c ./apns.pem -m "CLI Hello" 并返回“1推送通知成功发送”,立即显示在我的设备上。 在我的node.js代码中,我使用的是node-apn,它需要单独的证书和关键的PEM文件。 所以我尝试用各种方法分离,但我总是得到相同的错误: 无效令牌(8) 这是没有道理的,因为同样的道理与我写的Rubytesting中的同一个PEM文件一起工作… 我真的把我这些秃头的头发拉在这里…现在已经呆了两天了。 我尝试用以下方法分离: 试图将p12转换为pem,并在证书/关键字段中使用PEM 转换为PEM,然后手动打开PEM,并将其分离为key.pem和cert.pem(使用—–BEGIN CERTIFICATE—–和—–BEGIN RSA PRIVATE KEY—– 尝试分开使用以下命令: openssl pkcs12 -in apns.p12 -nocerts -out key.key // Extract key openssl rsa -in key.key -outform PEM -out key.pem // Decrypt key openssl pkcs12 -in apns.p12 -clcerts -nokeys -out cert.pem […]

iOS没有使用apn nodejs接收后台推送通知

我的设备没有收到后台推送通知。 我在智慧结束,我试过每个教程,我可以find并通过堆栈溢出search。 设备和APN被设置为debugging/开发 我可以成功注册设备令牌 我有一个活动的P8键与推送通知服务 APN表示推送消息已成功发送 didReceiveRemoteNotification不会触发 在背景和前景尝试与应用程序 使用AWS:入站 – 端口22,出站 – 所有端口 这是回应: { “发送”:[{ “设备”: “cc7ec9a821cf232f9510193ca3ffe7d13dd756351794df3f3e44f9112c037c2a”}], “失败”:[]} 这是我的代码: AppDelegate.swift import UIKit import UserNotifications @UIApplicationMain class AppDelegate: UIResponder, UIApplicationDelegate, UNUserNotificationCenterDelegate { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { if #available(iOS 10, *) { let center = UNUserNotificationCenter.current() center.delegate = self […]

迁移到运行Ubuntu 12.04的Amazon EC2实例后,Apple Push Notification的Node.js node-apn模块停止工作

我正在使用node-apn模块来利用APNS(Apple推送通知服务)将通知推送到多个设备。 本地环境是Mac OS X Lion 10.7,并且在本地服务器上运行时代码运行得非常好。以下是代码片段: var apns = require('apn'); var options = { cert: __dirname + '/PushDevCertKey.pem', certData: null, key: __dirname + '/PushDevCertKey.pem', keyData: null, passphrase: 'admin', ca: null, pfx: null, pfxData: null, gateway: 'gateway.sandbox.push.apple.com', port: 2195, rejectUnauthorized: true, enhanced: true, errorCallback: apnErrorCallback, cacheLength: 100, autoAdjustCache: true, connectionTimeout: 0 } var apnsConnection = new […]

如何从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 […]