【发布时间】:2017-04-27 01:27:32
【问题描述】:
我需要使用aws-sdk-go lib 向多个传递设备令牌数组的设备发送 SNS 推送通知。
目前我正在使用以下步骤向 SNS 发送推送消息:
创建端点:
pl, err := svc.CreatePlatformEndpoint(&sns.CreatePlatformEndpointInput{
PlatformApplicationArn: aws.String(topic),
Token: aws.String(n.DeviceToken), // just one device token
})
将消息发送到端点:
params := &sns.PublishInput{
Message: aws.String(payload),
TargetArn: aws.String(*pl.EndpointArn),
MessageStructure: aws.String("json"),
}
我还没有看到仅使用一个请求将一条推送消息发送到多个设备的方法。有可能吗?
像这个例子来说明:
pl, err := svc.CreatePlatformEndpoint(&sns.CreatePlatformEndpointInput{
PlatformApplicationArn: aws.String(topic),
Token: []aws.String{token01, token02, token03}, //array of device tokens
})
【问题讨论】:
-
这似乎更像是拉而不是推。如果完全推动,您需要循环并做个人。
-
您可以将每个端点订阅到一个主题,然后将消息发送到该主题,或者只是按照我的做法,蛮力为每个设备发送一条消息。
标签: amazon-web-services go amazon-sns aws-sdk-go