firebase - phonegap-plugin-push 使用数据有效负载仅替换现有通知
问题描述
我正在phonegap-plugin-push
使用Ionic3
.
在插件推送文档中
他们说在 Android 设备上我们应该只使用data
有效载荷而不是按 notification
顺序on('notification')
触发。
到目前为止一切顺利,但仅发送数据有效负载,导致通知托盘替换/覆盖先前发送的现有通知。
发送notification
有效负载时,新通知进入通知托盘而不替换现有通知,但未触发点击事件。
我怎样才能实现这两种行为?
我的有效载荷:
{
"message":{
"android":
{
"data":{
"title":"Hello",
"body":"Hello",
"timestamp":"2018-12-20T09:56:55.3250752+02:00"
}
},
"apns":{
"payload":{
"aps":{
"alert":{
"title":"Hello",
"body":"Hello",
"timestamp":"2018-12-20T09:56:55.3250752+02:00"
}
}
}
},
"token": "f9j....."
}
}
解决方案
在有效载荷中使用独特的notId
属性data
解决了这个问题
{
"message":{
"android":
{
"data":{
"title":"Hello",
"body":"Hello",
"notId": "1646269",
"timestamp":"2018-12-20T09:56:55.3250752+02:00"
}
},
"apns":{
"payload":{
"aps":{
"alert":{
"title":"Hello",
"body":"Hello",
"timestamp":"2018-12-20T09:56:55.3250752+02:00"
}
}
}
},
"condition": "'topic.test' in topics"
}
}
推荐阅读
- c# - 编写 API 以 POST 到多对多关系
- c# - 加入get api request一对多
- logstash - logstash 在文档中添加数组
- python - ImportError:libGL.so.1:无法打开共享对象文件:gitlab 中没有这样的文件或目录
- firebase - 使用实时数据库时未上传数据
- javascript - Angular ngx-chart 制作数量制作 Millar 格式
- powershell - Outlook 电子邮件的正文属性为空
- c# - WPF - Visual Studio 设计器不显示自定义窗口样式
- mysql - 需要帮助构建一个奇怪的 Sequelize 查询
- c# - 如何配置 C# WinForms 应用程序以获取在 Azure 上部署的 EnvironmentName?