使用消息属性发送原始 WNS 通知
Sending raw WNS notifications using message attributes
我正在尝试通过设置消息属性向 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,但通知仍作为客户端上的 toast 收到。有没有人成功做到这一点的例子?
我能够通过使用 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",
};
我正在尝试通过设置消息属性向 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,但通知仍作为客户端上的 toast 收到。有没有人成功做到这一点的例子?
我能够通过使用 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",
};