【发布时间】:2015-10-31 05:28:04
【问题描述】:
我正在尝试通过 AWS SNS 向 GCM 发送移动推送通知。根据最新的GCM 3.0 documentation,一个可能包括“通知”有效负载或“数据”有效负载(或两者)。如果您发送通知负载,则 GCM 将负责在最终用户设备上为您显示通知。
使用 Amazon SNS 控制台,我尝试发送仅通知负载,但遇到以下错误:
无效参数:消息原因:协议通知无效 GCM:json 消息中需要数据键(服务:AmazonSNS; 状态码:400;错误代码:无效参数)
我正在发送:
{
"GCM":"{\"notification\":{\"title\":\"Test Message\"}}"
}
我怀疑这可能是 SNS 仍然符合以前版本的 GCM 的问题,因此它需要一个“数据”密钥,但我不确定。有没有其他人有类似的问题或有这方面的经验?谢谢!
编辑: 为了澄清,我想向 GCM 发送一个通知有效负载,并让它自动向用户显示警报,如文档中所述。现在,我开始怀疑 SNS 是否会将通知负载转发到设备。
【问题讨论】:
-
如果你添加了 data 属性并且只留下一个空字符串呢?
-
@cYrixmorten,说得好。这肯定会奏效,但我真正想要的是让 GCM 识别通知有效负载并按照记录自动显示警报。当我发送一个空数据字符串时,这不会发生。
-
好吧,只是认为它可能已经足够“聪明”地识别出数据值是空的。我只有自己实现 GCM 安装处理的经验(很久以前而且很乏味),然后我一直在使用 parse.com。后者对我来说效果很好,而且很容易设置。
标签: android amazon-web-services google-cloud-messaging amazon-sns