Firebase Cloud Messaging字典结构查询(JavaScript)及Android参数文档需求
Firebase Cloud Messaging 完整消息结构说明
先给你一个覆盖主流场景的完整消息结构示例(JS格式),包含你需要的Android渠道相关参数,以及跨平台通用配置:
const toSend = { // 跨平台通用通知内容 notification: { title: '示例标题', body: '示例内容', icon: '@drawable/launcher_icon', // Android图标路径;iOS填图标文件名 sound: 'default', // 通知音效,多平台通用 badge: '1', // iOS角标数;部分Android设备支持 click_action: 'OPEN_TARGET_ACTIVITY', // 点击通知触发的动作/页面 tag: 'unique-notification-tag', // 相同标签的通知会覆盖旧通知 color: '#FF0000', // Android通知图标背景色 // 多语言相关(可选) body_loc_key: 'msg_body', body_loc_args: ['参数1', '参数2'], title_loc_key: 'msg_title', title_loc_args: ['标题参数'] }, // Android专属配置(重点看这里) android: { notification: { channel_id: 'your-custom-channel-id', // Android 8.0+ 必填,对应应用内的通知渠道ID channel_name: '系统通知', // 渠道名称(创建渠道时生效,发送时可选) channel_description: '接收系统推送通知', // 渠道描述(创建渠道时生效) color: '#00FF00', // 覆盖通用notification里的color设置 importance: 4, // 通知重要性:1(最低)-5(最高),决定是否弹窗、响铃 priority: 'high', // 消息优先级:low/normal/high,影响送达速度和显示优先级 sound: 'custom_notification_sound', // 自定义音效路径(需提前放入应用资源) vibrate_timings: [0, 500, 200, 500], // 自定义振动节奏 light_settings: { color: '#FFFFFF', light_on_duration: '300ms', light_off_duration: '700ms' }, visibility: 'public', // 锁屏显示模式:private(隐藏内容)/public(显示全部)/secret(不显示) ticker: '您有新通知', // 状态栏滚动提示文本 notification_count: 2 // 通知组的数量标记 }, data: { // Android端可直接获取的自定义业务数据 order_id: '123456', jump_url: 'https://example.com' }, priority: 'high', // 消息级优先级,影响推送送达速度 ttl: '86400s', // 消息存活时长,最长1天 collapse_key: 'order-update' // 相同key的消息会合并,避免重复推送 }, // iOS专属配置(按需添加) apns: { payload: { aps: { alert: { title: 'iOS专属标题', body: 'iOS专属内容' }, badge: 2, sound: 'custom_sound.wav', content_available: true // 静默推送开关 }, // iOS自定义数据 custom_data: 'ios-specific-value' }, headers: { 'apns-priority': '10', // iOS推送优先级:5(后台)/10(前台) 'apns-topic': 'com.your.app.bundle' } }, // 目标设备配置(三选一) token: 'target-device-fcm-token', // 单个设备的FCM令牌 // topic: 'global-notification-topic', // 推送至订阅该主题的所有设备 // condition: "'news' in topics || 'sports' in topics", // 多主题条件推送 // 跨平台通用自定义数据 data: { common_key: 'common-value' } };
Android核心参数详解
- channel_id:Android 8.0及以上版本必填,必须和你应用内创建的通知渠道ID完全匹配,否则通知无法正常显示。
- channel_name/channel_description:用于首次创建渠道时的名称和描述,发送通知时如果渠道不存在,FCM会自动创建,但建议提前在应用内手动创建渠道,以便更灵活控制通知行为。
- color:设置通知图标和状态栏通知条的背景色,支持十六进制颜色值。
- importance:决定通知的显示强度,对应Android系统的通知重要性等级:
- 1:仅在通知中心显示,无任何提示
- 2:状态栏显示图标,无声音振动
- 3:默认级别,状态栏显示,有声音但不弹窗
- 4:高优先级,弹窗显示,有声音振动
- 5:最高优先级,全屏弹窗(仅紧急通知使用)
- priority:影响消息的送达速度和显示优先级,
high优先级的消息会被优先推送,且更容易触发弹窗。
完整的参数结构包含跨平台通用字段、各平台专属配置字段,以及目标设备/主题的定位字段,上述示例覆盖了绝大多数开发场景,后续扩展其他平台功能时,直接对应添加相应平台的配置块即可。
内容的提问来源于stack exchange,提问作者Jiehfeng
相关产品推荐
相关产品推荐

