Android限制通知每5分钟一次

时间:2014-07-19 08:18:15

标签: android google-cloud-messaging

我有一个应用,每当用户之间发送消息时,都会通过Google Cloud Messaging发送推送通知。

如果用户在3秒内发送3条消息,该应用程序会令人厌恶地发送3条通知。

我设置了折叠键,因此它们只会合并为1个通知,但它们仍然会在3个不同时间到达,包括振动等。

我想根据折叠键将通知限制为每5分钟一次。

因此,如果我在同一分钟内收到3条消息,并显示'消息'折叠键,它会阻止2秒消息通知手机。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

只有当您将三条消息发送到GCM服务器时收件人设备处于脱机状态时,

collapse_key才会出现。在这种情况下,GCM服务器将仅存储最后一条消息(丢弃前两条消息),并在设备重新联机时将其传送。

如果他们的设备处于活动状态,则无论他们是否具有相同的collapse_key,都会将所有消息发送给它。

在这种情况下,您的选项是:

  1. 在服务器中限制设备A可以每5分钟向设备B发送一次的消息数。这将要求您在服务器中实现逻辑,以将每个设备A的最后一条消息的日期存储到每个设备B.

  2. 在设备中,使用新通知覆盖旧通知(在显示通知时使用相同的通知ID),以便托盘中只显示一个通知。但是,在这种情况下,设备仍将获得所有3条消息。