2016-02-12 33 views
4

我正在编写一个Android应用程序,使用Google Cloud Messaging从服务器接收下游消息。当收到带有onMessageReceived消息我打印包和阅读:gcm.notification.e = 1代表Android中的推送通知载荷代表什么?

RECEIVED PUSH NOTIFICATION: Bundle[{gcm.notification.e=1, gcm.notification.badge=1, gcm.notification.sound=default, ..etc... 

我不明白的关键gcm.notification.e通知有效载荷。在Google文档中,我没有发现类似的东西。此外,在发送消息时,我通常同时指定通知有效载荷和数据有效载荷。现在我试图删除通知有效负载,但我仍然收到gcm.notification.e = 1

有人可以帮助我理解此密钥并找到一种方法将其删除? 由于

编辑:我发现,发送消息,而不该通知的有效负载,并用content_available=false(与iOS工作时我设置为真),则gcm.notification.e=1没有接收。我只收到数据负载:)。不过,我仍然想知道这个意思e

+0

我遇到了同样的问题,它完全打破了我在Android上的通知,因为我只使用数据,并期望它*不*显示在通知栏中。你是对的,你可以设置content_available = false,但是它打破了iOS应用程序机制。目前唯一的解决方法是降级到Google服务版本8.3.0而不是8.4.0,直到获得更多信息。 – Codiak

+0

相关:http://stackoverflow.com/questions/34490606 http://stackoverflow.com/questions/35059614 – Codiak

回答

1

也许这个e字段代表enable。如果您在服务器中将其设置为zero,则您将不会收到Android上的通知有效内容。有关更多详细信息,请参阅我的回答here