Nodejs苹果推送通知插件node-apn的使用

Nodejs苹果推送通知插件node-apn的使用
node-apn 是一个用于 Node.js 应用程序的 Apple Push Notification service (APNs) 客户端库。以下是如何使用 node-apn 来发送苹果推送通知的基本步骤。

1. 安装 node-apn

首先,你需要在你的项目中安装 node-apn。你可以通过 npm 来安装:

npm install apn

2. 创建 APNs 服务实例

你需要创建一个 APNs 服务实例,并传入你的证书路径或 Apple 推送通知服务的认证信息(通常是 .pem 文件)。这里假设你已经有了一个 .pem 文件。

const { ApnProvider } = require('apn');

// 使用 PEM 文件进行认证
const provider = new ApnProvider({
    cert: 'path/to/cert.pem',
    key: 'path/to/key.pem',
    production: false // 如果你是在开发环境中测试,设置为 false;如果是生产环境,则设置为 true
});

3. 构建推送通知

接下来,你需要构建你要发送的通知内容。这包括通知标题、内容等。

const notification = new Apn.Notification();
notification.expiry = Math.floor(Date.now() / 1000) + 3600; // 设置通知过期时间,单位为秒
notification.badge = 5; // 设置应用图标上的徽章数量
notification.sound = "ping.aiff"; // 设置通知时播放的声音
notification.alert = "Hello, this is a push notification from your server!";
notification.payload = { custom: 'data' }; // 可以添加自定义数据

4. 发送推送通知

最后,你可以将构建好的通知发送给指定的设备。每个设备都有一个唯一的 device token。

provider.send(notification, 'device_token').then((result) => {
    console.log(result);
});

result 对象会包含每个设备 token 的发送结果。

5. 错误处理

别忘了处理可能出现的错误:

provider.on('error', (err) => {
    console.error(err);
});

provider.on('transmissionError', (errCode, notification, device) => {
    console.error(`Device ${device} had error code ${errCode}`);
});

以上就是使用 node-apn 发送苹果推送通知的基本流程。请确保你已经正确配置了你的证书和设备 token。


3 回复

嘿,朋友!说到Node.js和苹果推送通知(APN),node-apn确实是个好帮手。首先,确保你安装了这个插件,用这条魔法咒语:npm install node-apn

接下来,想象你手里握着一把神秘的钥匙——你的Apple推送证书.pem文件。准备好后,你可以这样初始化:

const apn = require('apn');
const service = new apn.PushNotification({
  cert: 'path/to/your-cert.pem',
  key: 'path/to/your-key.pem',
  // 其他配置...
});

然后,找到你的目标设备令牌,就像找到了传说中的圣杯一样珍贵。最后,发送消息:

service.pushNotification({aps: {alert: "Hello, World!"}}, 'device-token-here');

就这样,苹果的云端就像是你的私人信使,把你的消息送到指定的苹果设备上。祝你编程愉快!


node-apn 是一个用于在 Node.js 中发送 Apple Push Notification Service (APNs) 的库。下面我将展示如何使用 node-apn 来配置和发送 APNs。

首先,你需要安装 node-apn 库。你可以通过 npm 安装:

npm install apn

以下是一个基本的示例,展示如何使用 node-apn 发送推送通知:

  1. 创建配置文件:首先,你需要从你的开发者账户中下载 APNs 证书(通常是 .pem 文件)。

  2. 编写发送通知的代码

const APN = require('apn');
const path = require('path');

// 配置 APNs
let options = {
    cert: path.join(__dirname, 'path/to/your/cert.pem'), // 你的认证证书路径
    key: path.join(__dirname, 'path/to/your/key.pem'), // 你的私钥路径
    production: false // 设置为 true 如果你在生产环境中
};

// 创建 APN 服务
let apnProvider = new APN.Provider(options);

// 目标设备的 token
let deviceToken = '目标设备的token';

// 构建消息
let note = new APN.Notification();

note.expiry = Math.floor(Date.now() / 1000) + 3600; // 消息过期时间
note.badge = 3; // 应用图标上的小红点数字
note.sound = "ping.aiff"; // 播放的声音
note.alert = "\uD83D\uDCE6 \u2709 您有新消息!"; // 通知内容
note.payload = {'messageFrom': '来自服务器的消息'}; // 自定义数据

// 发送通知
apnProvider.send(note, deviceToken).then((result) => {
    console.log(result);
    apnProvider.shutdown(); // 关闭连接
});

注意事项:

  • 确保你已经在 Apple Developer Portal 中正确地设置了你的应用 ID 和推送通知服务。
  • 确保你的设备 token 是最新的,并且你已经正确地获取了这个 token。
  • 在生产环境中,请确保设置 options.productiontrue
  • 根据你的实际需求调整消息的内容、图标等参数。

希望这些信息对你有所帮助!如果你有任何其他问题或需要更详细的说明,请随时告诉我。

node-apn 是一个用于 Node.js 的苹果推送通知服务(APNs)的库。首先,你需要安装它:

npm install apn

然后你可以创建一个 APN 服务实例并发送通知:

const { APN, Notification } = require('apn');

const options = {
    token: {
        key: 'path/to/key.p8', // 指定你的.p8认证密钥文件路径
        keyId: 'ABCDE12345', // 你的密钥ID
        teamId: 'FGHJK67890' // 你的团队ID
    },
    production: false // 设置为 true 可以发送到生产环境
};

const apnProvider = new APN.Provider(options);

const notification = new Notification({
    alert: "这是一条测试消息。",
    sound: "default",
    topic: "com.example.yourapp", // 你的App ID
});

// 发送通知给设备
apnProvider.send(notification, ['device-token']);
apnProvider.shutdown();

确保替换示例中的路径和值为你自己的信息。

回到顶部