如何向包含iOS与Android设备的Firebase主题发送FCM消息
FCM跨平台主题推送Payload编写说明
condition参数的平台限制说明
condition参数没有操作系统绑定限制,你可以在规则中任意组合绑定了iOS、Android甚至Web端设备的主题,&&/||/!等逻辑规则对所有平台的主题统一生效。
场景1:向同时包含iOS、Android设备的单一主题推送
直接指定topic参数即可,Payload需要同时覆盖两个平台的通知配置字段,示例如下:
{ "message": { "topic": "all_user_public_notice", "notification": { "title": "全局通知标题", "body": "通知正文内容" }, "android": { "notification": { "sound": "default", "channel_id": "your_public_channel_id" } }, "apns": { "payload": { "aps": { "sound": "default", "badge": 1 } } } } }
通用
notification字段的内容会自动适配到两个平台,如果你需要针对不同平台设置不同的通知标题、正文,可以分别在android.notification和apns.payload.aps.alert下单独配置,优先级高于通用配置。
场景2:通过condition同时匹配iOS、Android两个独立主题推送
把topic参数替换为condition即可,示例中我们匹配'ios_user_topic' in topics || 'android_user_topic' in topics规则,同时覆盖两个主题的设备:
{ "message": { "condition": "'ios_user_topic' in topics || 'android_user_topic' in topics", "notification": { "title": "跨平台通知标题", "body": "通知正文内容" }, "data": { "custom_business_key": "自定义透传参数值" }, "android": { "notification": { "sound": "default", "channel_id": "your_business_channel_id", "click_action": "OPEN_TARGET_PAGE" } }, "apns": { "payload": { "aps": { "sound": "default", "badge": 1, "category": "YOUR_NOTIFICATION_CATEGORY" } } } } }
核心必填字段说明
- 通用层:
condition规则字段、可选的通用notification字段、可选的data自定义透传字段 - Android专属:
android配置块,必须包含业务要求的渠道ID、点击跳转行为等平台强制要求的配置 - iOS专属:
apns配置块,必须包含aps字典,配置角标、响铃等APNs要求的字段
内容的提问来源于stack exchange,提问作者pofqggg
相关产品推荐
相关产品推荐

