भेजने एसएनएस अधिसूचना के लिए है कि सभी उपयोगकर्ताओं की सदस्यता के विषय से लैम्ब्डा

0

सवाल

मैं बनाया है एक ई-कॉमर्स 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 और फिर भेजें अधिसूचना

1

सबसे अच्छा जवाब

0

इस है कि तुम कैसे प्राप्त कर सकता है कि प्रवाह । मुझे लगता है कि आप पहले से ही इस के कुछ हिस्सों लागू किया है ।

  1. बनाने के लिए एक विषय है कि के लिए इस्तेमाल किया जाएगा बाहर प्रशंसक सूचना के सभी के लिए अपने उपयोगकर्ताओं: https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html

  2. बनाने के लिए मंच के आवेदन(एस) के लिए विभिन्न प्लेटफार्मों अपने एप्लिकेशन पर इस्तेमाल किया जाता है: https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformApplication.html

  3. जब एक उपयोगकर्ता के संकेत के लिए अपने अनुप्रयोग बनाने के लिए, एक मंच समापन बिंदु के लिए आवेदन करने के लिए इसी उपयोगकर्ता के मंच: https://docs.aws.amazon.com/sns/latest/api/API_CreatePlatformEndpoint.html

    3.1. यदि आप चाहते हैं करने के लिए सक्षम होना करने के लिए लक्ष्य इस उपयोगकर्ता सीधे, भी इस स्टोर ARN के लिए कहीं न कहीं प्रत्यक्ष प्रकाशित करता है (के रूप में आप अब कर रहे हैं).

  4. अब भी एक सदस्यता बनाने के लिए विषय के चरण 1 में बनाया के लिए समापन बिंदु ARN: https://docs.aws.amazon.com/sns/latest/api/API_Subscribe.html

  5. प्रकाशित करने के लिए विषय बनाया के दौरान चरण 1: https://docs.aws.amazon.com/sns/latest/api/API_Publish.html

एसएनएस स्वचालित रूप से बाहर प्रशंसक संदेश सभी ग्राहकों के लिए (सभी के अपने उपयोगकर्ताओं), तो उनमें से प्रत्येक के लिए एक अधिसूचना प्राप्त होगा आप बिना पुनरावृति प्रत्येक उपयोगकर्ता के लिए है.

2021-11-24 23:11:24

अन्य भाषाओं में

यह पृष्ठ अन्य भाषाओं में है

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................

इस श्रेणी में लोकप्रिय

लोकप्रिय सवाल इस श्रेणी में