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

首次使用Flutter集成FCM,如何获取通知标题与消息内容?

如何在Flutter FCM的前台回调中获取通知标题和文本

嗨,很高兴你已经成功集成FCM并能收到自定义数据!其实要拿到通知的标题和消息文本很简单,核心是要了解FCM消息的结构:当你通过Firebase控制台发送通知时,消息里会包含两个主要部分——notification(存储标题、内容这些通知展示信息)和data(你的自定义数据)。

当应用处于前台时,FCM不会自动弹出系统通知,而是把完整的消息数据传递给onMessage回调,你只需要从message的notification字段里提取对应的内容就可以了。

给你修改后的代码示例:

_firebaseMessaging.configure(
  onMessage: (Map<String, dynamic> message) async {
    // 从notification字段中提取标题和正文
    final String? title = message['notification']?['title'];
    final String? body = message['notification']?['body'];
    
    // 提取你的自定义数据
    final Map<String, dynamic>? customData = message['data'];

    // 打印或者处理这些内容
    print('收到前台消息:');
    print('标题: $title');
    print('内容: $body');
    print('自定义数据: $customData');
  },
);

这里有个小提醒:如果是纯数据消息(也就是发送时只填了自定义数据,没填通知标题内容),那message['notification']会是null,所以用?来做空安全处理很重要,避免出现空指针异常。

另外,如果你发现还是拿不到通知内容,检查一下Firebase控制台的发送配置:确保你在通知编辑器里填写了“通知标题”和“通知正文”,而不是只填了自定义数据区的内容哦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 04:12:46