我已经创建了一个电子商务IOS应用与后端在node.js (Lambda). 当用户signedIn/用,应用程序赞同一 SNS主题 ,我已经创建了通知发送和存储 推令牌和设备ARN 在数据库。 我现在想要发送通知的所有用户订阅了这SNS主题,当我们增加一个新的项目。 目前,发送通知我取的所有用户从数据库和环,通过用户获得他们推动标记和向用户发送通知的一个接一个,这是很昂贵的过程,并API花了太多时间。
现在我要做的是打SNS主题从Lambda,并通过体的通知,主题和SNS主题将通知发送给所有用户订阅了主题. 我已经搜查,但无法找到任何解决方案。
代码,我已经做了发送通知
await Promise.all(targetArns.map(async (item, index) => {
const publishNotificationParams = {
"TargetArn": item,
"Message": JSON.stringify({
"default": JSON.stringify({
"category" : title,
"alert" : {
"title" : title,
"body" : 'New product is launced',
"data" : product
},
"badge" : 1,
"sound" : "chime.aiff"
}),
"APNS_SANDBOX": JSON.stringify(params),
"APNS": JSON.stringify(params)
}),
"MessageStructure": "json"
};
var publishTextPromise = sns.publish(publishNotificationParams).promise();
publishTextPromise.then(
function(data) {
console.log(`Message ${publishNotificationParams.Message} sent to the topic ${publishNotificationParams.TargetArn}`);
}).catch(
function(err) {
console.error(err, err.stack);
});
}));
但为了这个,我需要获取的每一个用户从数据库得到他们的终点ARN然后发送通知的迭代。
我想要呼叫SNS主题传递的主体的通知和SNS将发送的通知到每个用户订阅了这SNS主题。
我这样做是因为我想保存的成本获取的每一个用户从数据库,然后发送通知