मैं बनाया है एक ई-कॉमर्स IOS एप्लिकेशन के साथ बैकएंड में nodejs (एडब्ल्यूएस लैम्ब्डा). जब एक उपयोगकर्ता signedIn/LoggedIn, अनुप्रयोग हस्ताक्षर एक एसएनएस के विषय जो मैं ने बनाया सूचनाएं भेजने के लिए और स्टोर धक्का टोकन और डिवाइस ARN में DB. अब मैं चाहता हूँ करने के लिए धक्का अधिसूचना भेज जो सभी उपयोगकर्ताओं के लिए सदस्यता ली है कि एसएनएस विषय है, हम जब जोड़ा गया एक नया आइटम स्टोर करने के लिए । वर्तमान में, अधिसूचना भेजने के लिए मैं कर रहा हूँ दिलकश सभी उपयोगकर्ताओं से DB और पाश के माध्यम से उपयोगकर्ताओं को प्राप्त करने के लिए अपने धक्का टोकन और अधिसूचना भेजें करने के लिए उपयोगकर्ताओं को एक के बाद एक, जो बहुत ही महंगी प्रक्रिया है, और एपीआई बहुत अधिक समय लिया.
अब मैं चाहता हूँ करने के लिए है हिट करने के लिए एसएनएस विषय से लैम्ब्डा और शरीर की अधिसूचना के लिए है कि विषय और है कि एसएनएस विषय सूचना भेजेंगे जो सभी उपयोगकर्ताओं के लिए सदस्यता ली है विषय. मैं खोज की है, लेकिन यह नहीं मिल सकता है किसी भी समाधान है ।
कोड मैं किया है अधिसूचना भेजने के लिए है
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 से अपने समापन बिंदु ARN और फिर भेजें अधिसूचना द्वारा चलना.
मैं कॉल करना चाहते हैं, एसएनएस विषय के पास शरीर की अधिसूचना और एसएनएस अधिसूचना भेज देंगे करने के लिए हर उपयोगकर्ता है कि सदस्यता है कि एसएनएस विषय है ।
मैं यह कर रहा हूँ क्योंकि मैं चाहता हूँ करने के लिए लागत बचाने के लिए लाने के लिए हर उपयोगकर्ताओं से DB और फिर भेजें अधिसूचना