Звук AWS SNS для iOS push-уведомлений не происходит - PullRequest
0 голосов
/ 05 июня 2018

У меня есть SNS, запускаемый лямбда на AWS, который генерирует push-уведомление iOS, работает нормально, но проблема в том, что звук не происходит ...

const sns = new AWS.SNS();


var payload = {
  default: ' World23',

  APNS: {
    aps: {
      alert: 'tkt',
      sound: 'default',
      badge: 1
    }
  }
};
// first have to stringify the inner APNS object...
payload.APNS = JSON.stringify(payload.APNS);
// then have to stringify the entire message payload
payload = JSON.stringify(payload);


  var params = {
      Message:payload,
      MessageStructure: 'json',

      Subject: event.body.subject,
      TargetArn:TargetArn
      };
      sns.publish(params, function(err,data){
          if(err) {
              console.error('error publishing to SNS',err);
              context.fail(err);
          } else {
              console.info('message published to SNS',data);
              done(null, data);
          }
      });

Что не так смоя полезная нагрузка ?, звук и значок не устанавливаются.Приветствия ...

1 Ответ

0 голосов
/ 07 июня 2018

Для форматирования тела потребовались некоторые настройки, также среда была "песочницей", придется менять для push-уведомлений "APNS" ...

const sns = new AWS.SNS();
  var payload = {
      default: notifMessage,

      'APNS_SANDBOX': {
        'aps': {
          'alert': notifMessage,
          'sound': 'default',
          'badge': 1
        }
      }, 


// first have to stringify the inner APNS object...
  payload.APNS_SANDBOX = JSON.stringify(payload.APNS_SANDBOX);
// then have to stringify the entire message payload
  payload = JSON.stringify(payload);


  var params = {
      // Message: event.body.message, 
      Message:payload,
      MessageStructure: 'json',

      Subject: event.body.subject,
      TargetArn:TargetArn
      };
      console.log('params:: ', payload);
      sns.publish(params, function(err,data){
          if(err) {
              console.error('error publishing to SNS',err);
              context.fail(err);
          } else {
              console.info('message published to SNS',data);
              done(null, data);
          }
      });
...