보내는 SNS 를 통지하는 모든 사용자 가입 한 주제에서는 람다

0

질문

을 만들었 E-Commerce IOS 앱과 백엔드에 있 및 라이브러 (AWS Lambda). 사용자가 signedIn/loggedin 해,응용 프로그램 구독는 SNS 를 주제 는 내가 만든 알림을 보내 및 저장 을 밀어 및 장치 ARN 에서 DB. 지금 내가 원하는 푸시 알림을 보낼 수 있는 모든 사용자가 가입되는 SNS 항목을 때,우리가 추가로 새로운 항목을 저장합니다. 현재,알림을 보낼 내가 가져오는 모든 사용자에서 DB 와 루프를 통해 사용자가 자신의 밀 토큰 및 알림을 보낼 사용자에 의해 하나 하나,매우 비용이 많이 드는 과정,그리고 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 그들의 끝점 ARN 고 그를 통해 알림을 보내게 됩니다.

내가 원하는 전화를 SNS 항목에서는 몸을 통과의 통지하고 SNS 에서 알림을 보내는 모든 사용자가 구독는 SNS 를 주제입니다.

나는 이 일을 하기 때문에 나는 저장하고 싶은 비용을 가져오는 모든 사용자에서 DB 에 보면 알림

1

최고의 응답

0

이것은 어떻게 달성할 수 있는 흐름입니다. 나는 당신이 이미 일부 부품이 구현됩니다.

  1. 주제를 생성하는 데 사용되는 팬으로 알려 모든 사용자들이 사용: https://docs.aws.amazon.com/sns/latest/api/API_CreateTopic.html

  2. 플랫폼 응용 프로그램을 만들(s)플랫폼에 따른 다양한 앱에서 사용: 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

SNS 것이 자동으로 팬으로 메시지는 모든 구내구독자(모든 사용자),그래서 그들 각각의 알림을 받지 않고 당신은 반복하는 각 사용자에 따라 다릅니다.

2021-11-24 23:11:24

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................