Android GCM通知负载与数据负载有何不同?

6
2个回答

10

阅读您发送的链接时,在Payload section下解释了这一点。

负载

可选。如果您在消息中包含负载,则使用data参数包含自定义键/值对。客户端应用程序处理数据负载以进行显示或其他处理。

具有预定义选项的通知参数指示GCM将代表客户端应用程序显示消息,如果客户端应用程序在Android上实现了GCMListenerService,或者如果通知消息发送到iOS设备,则适用。这适用于HTTP和XMPP。

应用服务器可以发送包括通知和数据负载的消息。在这种情况下,GCM处理显示通知负载,而客户端应用程序处理数据负载。

有关发送和接收消息的详细信息,请参见服务器参考。


我试图向我的应用程序发送通知消息,但似乎没有任何反应,可能是因为我没有实现GCMListenerService。通知与数据的优势是什么?“代表客户端应用程序显示消息”的含义是什么? - andrei g
为了测试它,您必须在服务器上使用正确的证书,并在构建应用程序时进行匹配。您设置好这一部分了吗? - Lasse
1
如果您收到以下消息:“未能显示通知:缺少图标”。那么您需要添加图标键。 “icon”:“@drawable/ic_myicon”或者“icon”:“ic_launcher” - Victor Odiah
当我同时发送数据和通知负载时,应用程序会显示通知但 GCMListener 的 onMessageReceived 方法不会被调用。有人可以解释这种行为吗? - Vaibhav Gupta
@VaibhavGupta 这听起来像是一个单独的问题。 - Lasse
显示剩余4条评论

2

您可能会发现这份解释更有帮助

使用场景

通知:GCM会代表客户端应用自动向终端用户设备显示消息。通知有一组预定义的用户可见键。

数据:客户端应用负责处理数据消息。数据消息仅具有自定义键值对。

如何发送

通知:设置通知有效载荷。可以有可选数据有效载荷。总是可折叠的。

数据:仅设置数据有效载荷。可以是可折叠或不可折叠的。

https://developers.google.com/cloud-messaging/concept-options?hl=en


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接