Android FCM - 如何只显示一个通知

Fed*_*rez 2 android json push firebase firebase-cloud-messaging

我正在从 FCM 向 Android 设备发送推送通知,这是通过向 FCM 发送包含 JSON 正文的 POST 消息来完成的。

如果我发送相同的 JSON 正文两次,Android 设备将显示两个通知(或三个、四个……)。但我希望它只显示一个。

“collapse_key”应该可以解决这个问题,对吧?( FCM 文档)

但是它应该在哪里或如何插入?

这个 SO 问题回答了这个问题,但没有给出例子:Android 上的 FCM 通知可以覆盖以前的通知吗?

当前 JSON 正文:

{
    "notification": {
        "title": "MyAPP",
        "body": "Open MyAPP to access your data",
        "click_action" : "OPEN_MAINACTIVITY",
        "icon": "ic_launcher_red",
        "color": "#ff0000"
    },
    "data": {
        "extra1":"sample1",
        "extra2":"sample2"
    },
    "registration_ids":[
        "--my_id--"
    ]
}
Run Code Online (Sandbox Code Playgroud)

我已经尝试了很多方法来包含“collapse_key”,但到目前为止没有运气。还是多条通知。欢迎任何帮助。

Fed*_*rez 6

好吧,我继续挖掘并找到了答案:它不是“collapse_key”,我应该在通知中使用“标签”选项。

因此,通过使用此 JSON,只会显示一个通知:

{
    "notification": {
        "title": "MyAPP",
        "body": "Open MyAPP to access your data",
        "click_action" : "OPEN_MAINACTIVITY",
        "icon": "ic_launcher_red",
        "color": "#ff0000"
        "tag": "unique_tag"
    },
    "data": {
        "extra1":"sample1",
        "extra2":"sample2"
    },
    "registration_ids":[
        "--my_id--"
    ]
}
Run Code Online (Sandbox Code Playgroud)

希望这对其他人有帮助!

如果有人想进一步解释“collapse_key”,我会很高兴,显然我误解了它。

  • 我已经在我的案例中添加了标签,但它似乎仍然不起作用 (2认同)