Apns 服务端接入(node)

APNs(英文全称:Apple Push Notification service),中文翻译为:苹果推送通知服务.

本文只记录apns node版本接入和一些调试经验,不涉及证书申请及app端开发。
node有非常成熟apn相关模块,又快又陡。
模块文档:https://www.npmjs.com/package/apn

使用苹果APN首先需要准备以下参数

  1. 服务端证书(开发环境证书和生产环境证书)p12格式(或其他格式)
  2. 证书解压密码 app包名证书解压密码
  3. app包名app包名
  4. 测试而言还需要某个待推送app去获取到当前devicetoken测试而言还需要某个待推送app去获取到当前devicetoken

PS:这里比较重要是生产环境和开发环境,开发环境证书是指APP直接通过mac安装到手机。生产环境则app需要上传apple store下载。两个环境的deviceToken 不能通用。一定要分清环境。

Sample code:

const apn = require('apn');

const options = {
    pfx:"./服务端证书.p12",//证书路径
    passphrase:"123456",//证书解压密码
    production:true //是否是生产环境
  };

var apnProvider = new apn.Provider(options);

let note = new apn.Notification();
note.expiry = Math.floor(Date.now() / 1000) + 3600; // Expires 1 hour from now.
note.badge = 1;
note.sound = "ping.aiff";
note.alert = "\uD83D\uDCE7 \u2709 You have a new message";//待推送显示内容
note.payload = {'messageFrom': 'John Appleseed'};
note.topic = "com.xj.app.doorbell";//app包名
note.compiled = null;


let deviceToken = "bf5ce911111111a4a8f083c6024f664e9fb716fa6ec34e313d083882aaaaaaaa";//deviceToken 由app提供

apnProvider.send(note, deviceToken).then( (result) => {
    console.info(result);
    console.info(JSON.stringify(result));
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值