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

标签 android json firebase push firebase-cloud-messaging

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

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

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

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

这个 SO 问题回答了这个问题,但没有给出示例:Can FCM notification on Android overwrite previous one?

当前 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--"
    ]
}

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

最佳答案

好吧,我继续挖掘并找到了答案:它不是“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--"
    ]
}

希望这对其他人有帮助!

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

关于Android FCM - 如何只显示一个通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43610964/

相关文章:

java - 序列化 DataTable (WCF) 到 Android 项目

android - View 无法解析为类型

android - Zip 提取失败

c++ - 在 QT 中解析 JSON 对象中的 JSON 对象

objective-c - 如何从 firebase 数据库读取一小节

Firebase 用户 ID 允许的字符

android - Stfalcon Chatkit 库

java - 如何在Java中为Blitline发送Json POST请求?

javascript - 我怎样才能迭代这个json?

javascript - 如何获取填充了引用字段的文档