在Ionic中使用FCM能否实现通知分组/捆绑功能?
解决方案
该功能完全可以通过FCM的原生能力实现,无需额外接入第三方工具,只需要分别在服务端和客户端做少量配置即可:
服务端(Firebase Functions)配置
你在构造FCM推送 payload 时,在Android专属通知参数中添加group字段即可,同一个分组的所有通知必须使用相同的group字符串标识。
如果你使用 Node.js 版本的 firebase-admin SDK 发送通知,参考代码如下:
const admin = require('firebase-admin'); // 构造推送消息 const message = { notification: { title: "新互动提醒", body: "有人点赞了你的动态" }, android: { notification: { // 相同分组的通知填统一的标识,例如按动态互动分类就填"INTERACTION_GROUP" group: "INTERACTION_GROUP", // 可选参数:设置为true时该通知会作为分组的汇总通知展示 groupSummary: false } }, token: targetDeviceToken }; // 发送通知 admin.messaging().send(message);
如果你的推送场景是纯数据消息(仅携带data字段无notification字段),只需要把分组标识放到data参数中下发即可,不需要在android.notification下配置分组字段。
Android客户端配置
- 如果应用目标版本为Android 7.0(API level 24)及以上,系统会自动识别FCM下发的
group字段完成通知聚合,无需额外编写代码。 - 如果需要适配更低版本系统、或者使用纯数据消息推送,你只需要在客户端接收到推送后,构造系统通知时调用原生
setGroup()方法,传入和服务端约定的分组标识即可,聚合逻辑由系统原生实现。
内容的提问来源于stack exchange,提问作者RafaelJan
相关产品推荐
相关产品推荐

