我有一个向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
的通知将相互替换。
答案 0 :(得分:8)
collapse_key仅在设备离线时有效,例如,如果我的设备处于飞行模式,并且使用相同的collapse_key发送5条消息,则设备将仅在飞机模式关闭时获取最后一条消息。
如果设备持续连接到GCM,则每条消息都将到达您的设备。
听起来您想在通知上设置tag,这样当新邮件到达时,它将替换现有通知。