AWS SNS推送消息,如何根据自定义标签向移动用户发送消息,如电子邮件ID或用户ID等属性?

时间:2016-02-26 12:32:11

标签: amazon-web-services mobile push-notification aws-sdk amazon-sns

如果我有设备注册AWS SNS,我还可以添加一些自定义字段,如电子邮件ID,用户ID吗?然后我可以使用该自定义字段向通知中心发送消息。就像我接近(我的意思是服务器应用程序)到AWS SNS并将消息“Hello User1”发送到设备,电子邮件字段的值为“user1@abc.com”。然后SNS会找到你的设备(如果你有许多注册的应用程序),然后将消息“Hello User1”发送到你的所有设备。

我可以看到Windows Azure云使用标记支持此功能。 例如:https://msdn.microsoft.com/library/azure/dn530749.aspx

请参阅上面链接和下图中的“使用标记定位用户”部分。

我无法在AWS SNS移动推送通知中看到此功能。 SNS中的主题只提供订阅模型,没有基于某些值的过滤。 enter image description here

1 个答案:

答案 0 :(得分:0)

实现这一目标的最佳方式是利用custom user data option作为端点:" Amazon Simple Notification Service(Amazon SNS)支持向Amazon SQS端点传递消息属性。消息属性允许您提供有关消息" 的结构化元数据项(如时间戳,地理空间数据,签名和标识符)。

可以在设备注册期间设置自定义用户数据,也可以使用SetEndpointAttributes API添加自定义用户数据。

您可以按如下方式设置custom data with AWS CLI

$ aws sns set-endpoint-attributes --endpoint-arn arn:aws:sns:us-east-1:01234567890:endpoint/GCM/AppName/fc1397a1-7762-3061-adbc-ab92990038f8 --attributes "CustomUserData=user1@abc.com"