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

使用FCM Admin .NET SDK发送推送,如何替换状态栏图标?

解决PWA FCM通知状态栏图标显示铃铛的问题

你当前的核心问题是误用了原生Android应用的FCM配置项,而PWA属于Web Push范畴,需要调整消息结构和manifest配置:

1. 为什么现有配置无效?

你设置的Android.Notification.Icon是给原生Android App用的,它要求值是本地资源的名称(比如@drawable/ic_notification),而非网络URL,所以在PWA中这个配置完全不生效,系统会 fallback 到默认的铃铛图标。

2. 正确的配置方案

步骤一:完善manifest.json的图标配置

状态栏通知图标需要小尺寸、符合maskable规范(避免被系统裁剪),在manifest中添加适配尺寸的图标:

"icons": [
  {
    "src": "img/icons/icon-48.png",
    "sizes": "48x48",
    "type": "image/png",
    "purpose": "maskable",
    "background_color": "#ffb100"
  },
  {
    "src": "img/icons/icon-192.png",
    "sizes": "192x192",
    "type": "image/png",
    "purpose": "any maskable",
    "background_color": "#ffb100"
  },
  {
    "src": "img/icons/icon-512.png",
    "sizes": "512x512",
    "type": "image/png",
    "purpose": "any maskable",
    "background_color": "#ffb100"
  }
]
  • 48x48是状态栏图标的最优尺寸,确保图标内容在圆形安全区域内(符合maskable规范)
  • 重新部署后,需要重新订阅FCM(清除PWA缓存或重新安装)让新manifest生效

步骤二:修改FCM消息结构(使用Webpush配置)

去掉无效的Android配置,改用Webpush配置项来指定PWA的通知图标:

var firebaseMessage = new Message()
{
    Token = token,
    Notification = new Notification()
    {
        Title = title,
        Body = message,
        ImageUrl = $"{_appConfig.BasePath}/img/icons/icon-192.png"
    },
    Webpush = new WebpushConfig()
    {
        Notification = new WebpushNotification()
        {
            Icon = $"{_appConfig.BasePath}/img/icons/icon-48.png", // 状态栏通知图标
            Image = $"{_appConfig.BasePath}/img/icons/icon-192.png", // 通知展开后的大图
            Badge = $"{_appConfig.BasePath}/img/icons/badge.png" // 应用图标上的徽章图标(可选)
        }
    }
};
  • WebpushNotification.Icon:对应状态栏显示的通知图标,推荐用48x48的maskable图标
  • Badge是应用图标右上角的小圆点图标(比如显示未读数量时的背景),和状态栏图标不是同一个东西

3. 额外注意事项

  • 图标必须是透明背景的PNG,如果有不透明背景可能会被系统强制替换成默认图标
  • 确保图标URL是公开可访问的(HTTPS,因为PWA要求HTTPS环境)
  • 测试前清除浏览器缓存,重新注册PWA服务 worker,避免旧配置残留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 11:09:55