Amazon SNS 静默推送

Posted

技术标签:

【中文标题】Amazon SNS 静默推送【英文标题】:Amazon SNS silent pushes 【发布时间】:2016-10-10 14:02:48 【问题描述】:

在aws-sdk gem 和亚马逊开发者文档中,我试图找到任何关于SNS 静默推送的信息,但这似乎非常矛盾。 我很困惑,在 SNS 客户端消息中是必需的,但是否可以发送完全静默的 GCM 和 APNS 通知?

有人知道这方面的信息吗? 任何建议/资源将不胜感激。

【问题讨论】:

【参考方案1】:

好像可以发消息到SNSusing JSON format,所以应该可以设置content-available和set the alert as you wish。

对于 android,我认为它是相同的(但由于 Android 处理通知的方式不同,您应该能够处理任何有效负载并且不显示通知)

【讨论】:

【参考方案2】:

是的,关于静默推送通知的 Amazon AWS SNS 文档不是很有帮助,但它确实有效。 我通过 AWS SNS 服务通过 Lambda Node.js 向 ios 设备发送静默推送通知,通过 Apple APNS

使用 Node.js 向 APNS 发送 AWS SNS 静默推送通知

var sns = new AWS.SNS();

var data = myString:'silent push'; // payload data object 
sns.publish(
    TargetArn: snsTopicArn,
    MessageStructure: 'json',
    Message: JSON.stringify(
        default: 'silent push!',
        APNS_SANDBOX: JSON.stringify(
            aps: 
                'alert': '',
                'content-available': 1
            ,
            'data': JSON.stringify(data)
        )
    )
, function(err, data) 
    if (err) 
        console.log(err.stack);
        return;
    
);

【讨论】:

【参考方案3】:

对于 android,如果您不在 GCM 对象中发送“消息”,它将是一个静默推送通知。这符合 GCM documentation

 GCM: 
      data: 
          // message: 'hello'
      
  

【讨论】:

以上是关于Amazon SNS 静默推送的主要内容,如果未能解决你的问题,请参考以下文章

静默推送通知。 iOS

已经拥有静默推送通知后的正常推送通知权限

iOS6 会收到静默推送通知吗?

在后台接收静默推送时无法向 Alamofire 发出请求

静默推送不触发代码执行

静默推送通知不起作用