如何在不更换先例的情况下使用GCM接收多个通知?

13K*_*3KZ 20 c# android web-services push-notification google-cloud-messaging

我正在开发一个从GCM服务器接收通知的项目.

我从GCM服务器获得了注册ID,然后将其发送到我的服务器应用程序,并将其保存在数据库中.

我的设备收到消息,但是当我尝试发送另一个消息时,先前的替换.

我知道我们有两种类型的消息:

  • 可折叠的"发送到同步"
  • 不可塌陷

因此,如果不更改消息的名称,如何在不同时间发送两条消息?

更新1:

当我的设备离线时(例如激活机场模式),我尝试从我的应用服务器向Google服务器发送2条消息(我读到Google存储了所有消息).但是当我停用此模式时,我只收到最后发送的消息.

我使用不同的collapse_key作为不同的消息,我收到所有这些(当然,当设备在线时).

有人知道我该如何解决这个问题?

Era*_*ran 18

折叠键仅与发送到GCM服务器但尚未到达目标设备的消息相关(如果多个此类消息具有相同的折叠键,则当它变为时,其中只有一个将被发送到设备线上).

在您的问题中,您描述了一种不同的情况 - 设备接收第一条消息,然后设备接收第二条消息并替换原始消息.这与GCM无关.它与应用程序处理收到的消息的方式有关.例如,如果显示接收消息的应用程序代码作为通知,则由您决定新消息是覆盖现有通知还是创建新通知.


Nic*_*ckT 7

您需要确保每条消息中"collapse_key"字段的值不同