android – 使用AWS SNS向GCM发送仅通知的有效负载

前端之家收集整理的这篇文章主要介绍了android – 使用AWS SNS向GCM发送仅通知的有效负载前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试通过AWS SNS向GCM发送移动推送通知.根据最新的 GCM 3.0 documentation,可以包括通知”有效载荷或“数据”有效载荷(或两者).如果您发送通知有效负载,GCM将负责为您显示最终用户设备上的通知. @H_301_2@使用Amazon SNS控制台,我尝试发送仅通知的有效负载,但我遇到以下错误

@H_301_2@Invalid parameter: Message Reason: Invalid notification for protocol
GCM: data key is expected in the json message (Service: AmazonSNS;
Status Code: 400; Error Code: InvalidParameter)

@H_301_2@我正在发送:

{
  "GCM":"{\"notification\":{\"title\":\"Test Message\"}}"
}
@H_301_2@我怀疑这可能是一个问题,SNS仍然符合以前版本的GCM,因此它需要一个“数据”键,但我不确定.是否有其他人有类似的问题或有任何经验?谢谢!

@H_301_2@编辑:
为了澄清,我想向GCM发送通知有效负载,并让它自动用户显示警报,如文档中所述.现在,我开始怀疑SNS是否甚至将通知有效负载转发到设备.

解决方法

为了回答我自己的问题,我在他们的论坛上从AWS Support收到了以下内容
@H_301_2@You are correct,SNS does not currently support GCM’s “notification”
payload type as described in their documentation. SNS supports the
initial “data” payload type only but we are actively working on a
solution to support the “notification” type. In the meantime,the
“data” payload works the same except the client app is responsible for
processing data messages as it has in the past.

@H_301_2@因此,在SNS支持GCM通知有效负载之前,您必须通过扩展类GcmListenerService并覆盖onMessageReceived方法来自行处理通知显示.

@H_301_2@2015年10月10日更新:似乎SNS现在已经实现了对GCM通知负载支持.如果同时包含“数据”和“通知”有效负载,则“通知”将优先.我只在SNS上观察到这种行为,但未找到任何AWS博客/文章宣布这一点.

猜你在找的Android相关文章