如上所述here:
如果设备已连接但处于打盹模式,则GCM会存储低优先级消息,直到设备退出打盹模式。而且,collapse_key标志起作用的地方是:如果已经存储了具有相同折叠键(和注册令牌)的消息并等待传递,则旧消息将被丢弃并且新消息将取代它(也就是说,旧消息将被新消息折叠)。但是,如果未设置折叠键,则会存储新旧邮件以供将来传递。
我想了解如果有效负载中没有传递collapse_key
会有什么行为?
还提到here:
除了通知消息外,默认情况下所有消息都是不可折叠的。
这是否意味着默认情况下所有推送通知都是可折叠的,如果在线下时有多条消息发送给用户,用户只会收到一条通知?
答案 0 :(得分:1)
除了通知消息外,默认情况下所有消息都是不可折叠的。
它指出了notification
个消息类型(请参阅Message Types)。从技术上讲,默认情况下,并非所有推送通知都是可折叠的。这取决于你的有效载荷。
如果您在有效负载中使用collapse_key
param,每次都使用相同的值,那么是的,预期的行为是只传递具有相同collapse_key
的单个消息(没有保证哪一个。)。
如果您尝试仅发送data
- 消息有效负载,则会相应地传递每条消息。