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

Firebase HTTP V1发送静默推送无效,求正确Payload格式

FCM V1 API 静默通知正确Payload格式

FCM V1 API和旧版HTTP API的静默通知配置逻辑完全不同,你之前的写法有两个核心问题:

  • 根节点的content_available在V1接口中不再生效
  • 携带了notification节点会触发系统弹出可视化通知,违背静默通知的需求

纯静默通知(仅传递数据,无弹窗)

针对不同平台,配置方式如下:

iOS(APNS)

需要在apns.payload.aps中添加content_available: true,同时不能包含notification节点:

{
  "message": {
    "topic": "device",
    "data": {
      "order_id": 123123,
      "notification_type": 1,
      "app_name": "my app"
    },
    "apns": {
      "payload": {
        "aps": {
          "content_available": true
        }
      }
    }
  }
}

Android

Android的静默通知不需要额外的content_available字段,只需保留data节点,同时避免notification节点。如果需要保证后台进程能接收,可设置高优先级:

{
  "message": {
    "topic": "device",
    "data": {
      "order_id": 123123,
      "notification_type": 1,
      "app_name": "my app"
    },
    "android": {
      "priority": "high"
    }
  }
}

跨平台通用静默Payload

如果要同时支持iOS和Android,合并配置即可:

{
  "message": {
    "topic": "device",
    "data": {
      "order_id": 123123,
      "notification_type": 1,
      "app_name": "my app"
    },
    "android": {
      "priority": "high"
    },
    "apns": {
      "payload": {
        "aps": {
          "content_available": true
        }
      }
    }
  }
}

关键注意点

  • 只要包含notification节点,无论怎么配置,系统都会弹出通知,无法实现静默效果
  • iOS端还需要确保App开启了“后台刷新”权限,否则静默通知无法触发后台处理
  • Android端如果App被完全杀死,可能无法接收静默通知,这取决于系统的后台限制策略

内容的提问来源于stack exchange,提问作者Tufan Çağkan Söymen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 09:50:45