Flutter应用新数据录入时接收Firebase通知的相关问题咨询
Flutter 集成Firebase实现新增商品通知方案
一、Flutter端接收Firebase通知的实现步骤
- 先在Flutter项目中集成
firebase_messaging和firebase_core依赖,在pubspec.yaml中添加对应版本的依赖包后执行flutter pub get - 完成Firebase控制台的项目配置:安卓端将
google-services.json放入app目录,iOS端将GoogleService-Info.plist放入Runner目录 - 应用启动时优先初始化Firebase:
await Firebase.initializeApp(); - 申请通知权限,iOS端需要主动向用户请求通知授权:
FirebaseMessaging messaging = FirebaseMessaging.instance; NotificationSettings settings = await messaging.requestPermission( alert: true, badge: true, sound: true, ); - 配置不同运行状态的通知回调:
- 应用前台运行时接收通知,可自定义应用内提示逻辑:
FirebaseMessaging.onMessage.listen((RemoteMessage message) { // 可解析通知携带的商品信息,触发应用内弹窗/直接更新商品列表 }); - 应用在后台/被杀死时,用户点击通知拉起应用的回调:
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) { // 可直接跳转到新增商品的详情页,或者触发最新数据拉取 });
- 应用前台运行时接收通知,可自定义应用内提示逻辑:
- 获取当前设备的FCM Token,将Token上报到你的业务后端和用户账号绑定,后续推送时可定向指定接收设备。
二、Firebase生成通知的核心参数
- 通用必填参数:
to/registration_ids:目标设备的FCM Token,批量推送时用registration_ids可最多传入1000个Tokennotification(通知类消息必填):通知栏展示内容对象,核心包含title(通知标题,比如「有新商品上架」)、body(通知内容,比如「你关注的品类新增了XX商品」)两个字段data(可选,建议添加):自定义业务数据对象,可存放新增商品的ID、分类、跳转路径等信息,应用接收到后可直接用来做业务逻辑处理,不需要再额外请求接口获取基础信息
如果仅需要应用内静默更新商品列表、不需要弹出通知栏提示,可以不传
notification字段,仅传data字段即可,属于静默推送,应用接收到后可直接调用你现有JSON API拉取全量最新商品数据。
如果需要应用在前台时也展示通知栏消息,需要配合flutter_local_notifications插件在onMessage回调中主动触发本地通知展示。
三、与现有JSON API的联动方案
- 你的业务后端在处理新增商品请求、写入数据库成功后,直接调用Firebase Cloud Messaging的服务端API,向对应权限的用户设备推送通知即可
- 也可以配置Firebase Cloud Functions监听商品库的写入事件,无需修改现有后端逻辑,监听到新增商品数据时自动触发通知推送
内容的提问来源于stack exchange,提问作者Wasiq Hussain
相关产品推荐
相关产品推荐

