Отправить push-уведомление с помощью лямбда с aws sns для одного устройства

Я сделал много rnd для отправки push (ios) с помощью aws SNS. Я вручную создаю приложение платформы, затем добавляю deviceToken и нажимаю. Это работает хорошо. Но я хочу добавить устройство в платформу приложения во время выполнения лямбда-выражения и отправить push на этот токен устройства. Кто-нибудь может мне помочь? Заранее спасибо.

1
0
678
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий
function sendPushMessage(deviecToken, pushMessage)
{
  var SNS = require('sns-mobile'),EVENTS = SNS.EVENTS;
  var SNS_KEY_ID = 'AWS_USER_AWSAccessKeyId',
    SNS_ACCESS_KEY = 'AWS_USER_AWSSecretKey',
    IOS_ARN = "SNS_APPLICATION_ARN";
  var iosApp = new SNS({
    platform: SNS.SUPPORTED_PLATFORMS.IOS,
    region: 'us-west-1',
    apiVersion: '2010-03-31',
    accessKeyId: SNS_ACCESS_KEY,
    secretAccessKey: SNS_KEY_ID,
    platformApplicationArn: IOS_ARN,
    sandbox: true 
  });
  // Add a user, the endpointArn is their unique id
  // endpointArn is required to send messages to the device
  iosApp.addUser(deviecToken, JSON.stringify({
    some: 'extra data'
  }), function(err, endpointArn) {
    if (err) {
      // callback(null, err);
    }
    else{
      let endpp = endpointArn;
      // Send a simple String or data to the client
      iosApp.sendMessage(endpp, pushMessage, function(err, messageId) {
          if (err) {
            // callback(null, err);
          }
          else{
            // callback(null, messageId);
          }
      });
    }
  });
}
let response;
let test = (event, context, callback) => {

  let deviceToken  = "YOUR DEVICE TOKEN";

                let apnPayload = { aps: { alert: { title: "Hello", body: "This is the content of our push notification." }, badge: 6 } };
                let msg = {
                       "APNS_SANDBOX": JSON.stringify(apnPayload)
                };
                sendPushMessage(deviceToken, msg);


};
module.exports = test;

Примечание. Сначала вы должны установить этот пакет «npm install sns-mobile». Затем создайте тестовую лямбду и скопируйте и вставьте этот код. Я использую этот код и хорошо работаю.

Другие вопросы по теме