使用消息属性发送原始WNS通知

时间:2015-09-25 19:43:17

标签: c# amazon-web-services amazon-sns wns

我正在尝试通过设置邮件属性向WNS发送原始通知,但似乎正在发送Toast通知。

以下是我用来构建发布请求的C#代码。

var request = new PublishRequest()
{
    TopicArn = TOPIC_ARN,
    Message = "Test Message",
    MessageAttributes = new Dictionary<string, MessageAttributeValue>()
    {
        { "AWS.SNS.MOBILE.WNS.Type", new MessageAttributeValue() { StringValue = "wns/raw", DataType = "String" } }
    }
};

据我所知,我正在使用SNS正确设置X-WNS-Type Message Attributes,但通知仍在客户端上作为祝酒词收到。有没有人成功做到这一点的例子?

1 个答案:

答案 0 :(得分:2)

我可以使用MessageStructure让它工作。将值设置为json并更新Message以获得专门针对WNS的消息。我的假设是MessageAttributes的WNS值仅适用于专门为WNS定义的消息。

var request = new PublishRequest()
{
    TopicArn = TOPIC_ARN,
    Message = "{ \"default\": \"default message\", \"WNS\" : \"raw message\"}",
    MessageAttributes = new Dictionary<string, MessageAttributeValue>()
    {
        { "AWS.SNS.MOBILE.WNS.Type", new MessageAttributeValue() { StringValue = "wns/raw", DataType = "String" } }
    },
    MessageStructure = "json",
};