GCM collapse_key无效

时间:2015-08-14 04:01:29

标签: android python django google-cloud-messaging

我有一个向GCM发送推送通知的python / django应用程序,我无法使collapse_key参数生效。它为每条新邮件创建一个新通知,而不是折叠它们。 python代码如下所示:

  url = 'https://gcm-http.googleapis.com/gcm/send'                                                                                        
  post_data = {                                                                   
      'to': mytoken,                                                                
      'collapse_key': 'myappname',                                                  
      'data': mydata                                                                
  }                                                                               
  headers = {                                                                     
      'Authorization': 'key={}'.format(GCM_API_KEY),                     
      'Content-Type': 'application/json'                                          
  }                                                                                                                                               
  requests.post(                                                                  
      url,                                                                        
      data=json.dumps(post_data),                                                 
      headers=headers) 

通知没有问题,但它们不会崩溃。我做错了吗?

客户端是使用phonegap推送通知插件(https://github.com/phonegap-build/PushPlugin)的phonegap移动应用程序。该插件正在处理设备上的推送通知,我不确定如何更改其创建方式并显示它们。

如果其他人遇到同样的问题,看起来这样做的方法是在notId中传递data参数。具有相同notId的通知将相互替换。

1 个答案:

答案 0 :(得分:8)

collapse_key仅在设备离线时有效,例如,如果我的设备处于飞行模式,并且使用相同的collapse_key发送5条消息,则设备将仅在飞机模式关闭时获取最后一条消息。

如果设备持续连接到GCM,则每条消息都将到达您的设备。

听起来您想在通知上设置tag,这样当新邮件到达时,它将替换现有通知。