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

如何在Firebase通知请求中指定多个接收目标?附请求示例

Firebase通知设置多个接收目标的方法

当然可以给多个设备发送Firebase通知!FCM(Firebase Cloud Messaging)提供了好几种灵活的实现方式,我结合你给出的单目标示例,给你拆解每种方法的用法:

1. 直接传多个设备令牌(registration_ids)

如果是给特定的一批设备发通知,你可以把原来请求里的to字段换成registration_ids,值是一个包含多个设备令牌的数组(FCM限制最多支持1000个令牌)。

请求头和你原来的一致:

Content-Type: application/json
Authorization: key=你的服务器密钥

对应的请求体示例:

{
  "data": {
    "title": "Firebase notification",
    "detail": "I am firebase notification. you can customise me. enjoy"
  },
  "registration_ids": [
    "c_ejgKg_0rY:APA91bEtp77PP99UuDvza1gKOKAmfqVg3ZHflWYQUGPQJFCvWy3Ortswv45MjtT8LQaRoebLqSXPTeaO21hm7QVnG694GgVmALbK5LIDAsyohKlTFlQSlwcdYQmPS5GnLGjLwfA3b34z",
    "device_token_2",
    "device_token_3"
  ],
  "sound":"default"
}

2. 发送到主题(Topics)

如果你的用户设备都订阅了同一个主题(比如“daily_news”),直接发送到这个主题就行,不用手动收集每个设备的令牌。

请求体示例:

{
  "data": {
    "title": "Firebase notification",
    "detail": "I am firebase notification. you can customise me. enjoy"
  },
  "to": "/topics/daily_news",
  "sound":"default"
}

3. 基于条件发送(Conditions)

如果需要更灵活的分组(比如订阅了A主题或B主题的用户),可以用condition字段代替to,支持逻辑运算符&&(且)、||(或)、!(非)。

请求体示例:

{
  "data": {
    "title": "Firebase notification",
    "detail": "I am firebase notification. you can customise me. enjoy"
  },
  "condition": "'sports_news' in topics || 'tech_news' in topics",
  "sound":"default"
}

小提醒

  • 使用registration_ids时,数组长度不能超过1000,超过的话要拆分多次请求;
  • 主题订阅需要客户端先调用FCM的订阅接口,把设备和对应主题关联起来;
  • 条件表达式最多支持5个逻辑运算符的组合,不要写得太复杂哦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:49:56