当前位置: 首页 > 知识库问答 >
问题:

用于iOS推送通知的AWS SNS声音未发生

司寇研
2023-03-14

我有一个由AWS上的lambda触发的SNS,它会生成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个答案

锺离明煦
2023-03-14

正文的格式需要一些调整,环境也是“沙盒”,将不得不改变prod推送通知“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);
          }
      });
 类似资料:
  • 我正在从调用firebase api的应用服务器向用户发送数据消息。用户正在接收通知,但通知到达时不会播放声音。 这是代码 有什么问题吗???

  • 问题内容: 我已经在项目中实现了推送通知,到目前为止一切正常。我尝试过通过Pusher发送通知,但效果很好。但是我必须通过PHP发送它们,但尚无法使用。我发现了许多有关如何实现此目标的旧解释,但似乎没有一个对我有用。 这就是我要使用的方法: 问题答案: 尝试使用此php脚本,确保.pem证书在运行时以与该php脚本相同的路径退出,并获得正确的设备令牌

  • 我为沙盒iOS设置了推送通知,它们曾经工作过,但由于某种原因目前不工作。这是来自云观察日志的错误AWS SNS: 这是我的发送代码(AWS Lambda调用此代码): Lambda方法的返回数据: 我已经将问题缩小到不与我的lambda方法关联,因为我试图发布到直接从SNS控制台创建的endpoint。我还想知道为什么这个旧的实现在过去,一个月或两个月前,仍然有效,而现在不再有效。我认为这可能与过

  • 我正在从Firebase向我的Android应用程序发送推送通知,但它仅在收到通知时播放默认声音。 我在fcm通知对象中设置了自定义声音参数{“sound”:“notificationsound.mp3”},该文件根据(https://firebase.google.com/docs/cloud-messaging/http-server-ref)但它仍然在所有应用程序状态(背景、前景和终止)上播

  • 我无法通过parse.com正确设置推送通知。我相信我的推送是因为它们通过解析显示在我的推送日志中。但是,无论我的推送发送到哪里(app或仪表盘),“发送的推送”总是显示0。我知道这可能是一个复杂的任务,所以任何帮助将是非常感谢!下面是我的代码: AppDelegate.m InboxTableViewController.m ViewDidLoad

  • 我的AWS社交网络停止向我的iOS订阅者发送推送通知,我正在试图了解原因。所以我从零开始,目标是向我的测试设备发送1个通知。 我已经做了以下工作: 在iOSDev Portal上创建新的Apple推送服务类型的新证书,而不是旧的APNsiOS生产,导入到钥匙串,导出证书和私钥,按照AWS SNS APNS说明中的说明将其添加到AWS。 已确认此新APNS证书显示在门户上我的应用ID的“生产SSL证