首页 > 解决方案 > 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....."
   }
}

标签: firebasecordovaionic3phonegap-pushplugin

解决方案


在有效载荷中使用独特的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"
   }
}

推荐阅读