ฉันต้องถูกสร้างขึ้น E-Commerce IOS โปรแกรมเกี่ยวกับโปรแกรมเบื้องหลังอยู่ใน nodejs (AWS Lambda). ตอนที่เป็นของผู้ใช้ signedIn/LoggedIn,แอพฯเป็นสมาชิกหนังสืเป็น SNS เรื่อง ที่ฉันต้องสร้างขึ้นเพื่อส่งการแจ้งให้ทราบและร้านขายคน ให้ตั๋วเข้าใช้งานและอุปกรณ์ ARN ใน DB. ตอนนี้ฉันต้องการจะส่งผลักการแจ้งเตือนไปยังผู้ใช้ทั้งหมดที่ต้องบอกรับมัน SNS หัวข้อเมื่อเราถูกเพิ่มรายการใหม่ไปที่ร้านค้า ตอนนี้ต้องส่งการแจ้งให้ทราบฉันกำลังทำการดึงข้อมูลผู้ใช้ทั้งหมดจาก DB แล้วผ่านทางผู้ใช้เพื่อให้พวกเขาดันรับตั๋วเข้าใช้งานและส่งการแจ้งให้ทราบเพื่อผู้ใช้หนึ่งโดยหนึ่งซึ่งเป็นมาก costly กระบวนการและรูปแบบ 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);
});
}));
แต่สำหรับนี่ฉันต้องเอาทุกของผู้ใช้จาก DB ได้พวกเขา endpoint ARN และจากนั้นก็ส่งการแจ้งให้ทราบโดยทำซ้ำ.
ฉันอยากจะโทรหา SNS เรื่องขอผ่านร่างขอการแจ้งให้ทราบและ SNS จะส่งการแจ้งให้ทราบเพื่อนทุกผู้ใช้ที่บอกรับมัน SNS กเรื่อง
ฉันกำลังทำเรื่องนี้เพราะฉันอยากจะช่วยค่าใช้จ่ายเพื่อข้อมูลทุกทะเบียนผู้ใช้จาก DB และจากนั้นก็ส่งการแจ้งให้ทราบ