本文主要记录APNs、FCM消息推送的格式以及后端服务集成消息推送时遇到的一些问题,使用的环境为Node.js + AWS SNS。
AWS SNS是一个AWS的消息管理服务,本文中我们主要通过其创建多平台的消息推送。我们可以通过SNS对多个平台发送消息,如APNs(iOS)、FCM(Android)等。文中的消息推送可以简单地通过以下Node.js代码实现(Typescript)。
import {
SNS } from 'aws-sdk';
const sns = new SNS({
accessKeyId: '***',
secretAccessKey: '***',
region: '***',
});
const params = {
// 发送消息提醒到topic则需要填写此项,本文中主要是发送到topic
TopicArn: '',
// 发送消息提醒到指定终端则填写此项而非TopicArn
// TargetArn: '',
// 消息推送内容的类型,值为json
MessageStructure: 'json'
// 消息提醒的内容
Message: JSON.stringify({
// 若发送至topic,必须包含default,其代表发送至未被指定的平台的内容
default: '默认消息',
// 为指定平台发送数据时,必须为JSON键值对字符串
APNS: JSON.stringify({