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

如何在Flutter中实现Android和iOS静默推送并禁用后台空通知

解决Flutter FirebaseMessaging后台显示空通知的问题

问题出在你发送FCM消息的Python配置上:你显式创建了空的AndroidNotification和Aps实例并传入配置,这会让Android和iOS的推送服务自动生成并展示空通知,哪怕你没有设置notification字段。

修复步骤:

  • 移除AndroidConfig中的notification参数,只保留必要的优先级配置
  • 移除APNSConfig里的空Aps配置(如果不需要APNS特定设置,甚至可以直接去掉整个apns参数)
  • 确保发送的消息仅包含data和目标设备令牌,不携带任何触发系统通知的配置项

修改后的Python代码:

app = init_firebase()

# 仅保留Android优先级配置,去掉空的notification
androidConfig = messaging.AndroidConfig(priority="high")

message = messaging.MulticastMessage(
    data=data,
    tokens=arr_tokens,
    android=androidConfig
    # 去掉空的apns配置,避免触发iOS空通知
)

response = messaging.send_multicast(message, app=app)

补充说明:

当你发送纯data类型的FCM消息时,无论应用处于前台还是后台,系统都不会自动展示通知。后台状态下,消息会被缓存,直到用户打开应用,你可以通过FirebaseMessaging.onMessageOpenedApp或FirebaseMessaging.getInitialMessage来获取并处理这些数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:25:00