1

我试图通过设置消息属性向 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 Message Attributes正确设置X-WNS-Type,但客户端上仍会收到通知作为敬酒。有没有人成功做到这一点的例子?

4

1 回答 1

3

我能够通过使用MessageStructure. 将值设置为json并更新Message为专门针对 WNS 的消息就可以了。我的假设是 WNS 值MessageAttributes仅适用于专门为 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",
};
于 2015-09-26T02:14:24.680 回答