我有一个应用,每当用户之间发送消息时,都会通过Google Cloud Messaging发送推送通知。
如果用户在3秒内发送3条消息,该应用程序会令人厌恶地发送3条通知。
我设置了折叠键,因此它们只会合并为1个通知,但它们仍然会在3个不同时间到达,包括振动等。
我想根据折叠键将通知限制为每5分钟一次。
因此,如果我在同一分钟内收到3条消息,并显示'消息'折叠键,它会阻止2秒消息通知手机。
感谢您的帮助!
答案 0 :(得分:0)
collapse_key
才会出现。在这种情况下,GCM服务器将仅存储最后一条消息(丢弃前两条消息),并在设备重新联机时将其传送。
如果他们的设备处于活动状态,则无论他们是否具有相同的collapse_key
,都会将所有消息发送给它。
在这种情况下,您的选项是:
在服务器中限制设备A可以每5分钟向设备B发送一次的消息数。这将要求您在服务器中实现逻辑,以将每个设备A的最后一条消息的日期存储到每个设备B.
在设备中,使用新通知覆盖旧通知(在显示通知时使用相同的通知ID),以便托盘中只显示一个通知。但是,在这种情况下,设备仍将获得所有3条消息。