You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase FCM通知API能否配置多个click_action?如何实现?

FCM通知使用多个click_action的实现方案

FCM官方规范的通知(notification)payload仅支持单个click_action标准字段,你在示例中自定义的click_action_2这类非标准字段不会被系统默认识别,无法直接实现多跳转逻辑,需要结合数据(data)payload和客户端自定义逻辑实现。

实现步骤

  • 第一步:将自定义跳转规则放到data payload中
    所有非标准的跳转参数都放在data字段下,notification部分仅保留通用的标准配置,参考payload如下:
    {
      "notification": {
        "title": "通知标题",
        "body": "通知内容",
        "icon": "ic_notification",
        // 统一设置一个通用的点击动作,让系统把点击事件交给你自定义的逻辑处理
        "click_action": "CUSTOM_NOTIFICATION_CLICK"
      },
      "data": {
        // 自定义多个跳转目标,字段名可以根据业务需求随便定义
        "jump_target_1": "OPEN_ACTIVITY_1",
        "jump_target_2": "OPEN_ACTIVITY_2",
        // 额外加场景字段,用来判断当前应该触发哪个跳转
        "scene": "GOODS_DETAIL"
      }
    }
    
  • 第二步:客户端实现点击事件分发逻辑
    安卓端操作流程:
    1. 先在AndroidManifest.xml中对应处理通知点击的Activity/广播接收器上,注册对应CUSTOM_NOTIFICATION_CLICK的意图过滤器
    2. 接收到通知点击事件后,先从intent中取出data payload里的所有自定义字段
    3. 根据业务规则判断要跳转的目标:比如scene为GOODS_DETAIL时使用jump_target_1对应的Activity,scene为ACTIVITY_NOTICE时使用jump_target_2对应的Activity即可。
      iOS端逻辑一致,收到通知点击后从userInfo中取出自定义参数,判断跳转目标即可。

扩展说明

如果需要实现单条通知多按钮、每个按钮对应不同点击动作的需求,不要依赖系统默认的通知渲染:

  • 应用在前台接收通知时,完全由自己的代码构造Notification,给不同按钮设置不同的PendingIntent,即可支持任意多个点击动作
  • 应用在后台接收通知时,可以通过仅发送data payload,强制由应用代码触发通知渲染,同样可以自定义多按钮跳转逻辑

内容的提问来源于stack exchange,提问作者Muhammad Usman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.08 16:48:00