cordova-plugin-fcm通知图标自定义问题:图标放置后不生效求助
解决Cordova 8.0.0中cordova-plugin-fcm通知图标不显示的问题
我帮你梳理几个可能导致图标不生效的关键点,按顺序排查应该能解决:
1. 确认图标文件的放置路径是否正确
Cordova项目中,跨平台根目录的res文件夹不一定能被Android插件正确识别,正确的做法是把生成的drawable-xxx文件夹(比如drawable-mdpi、drawable-hdpi等)直接放到Android平台的原生资源目录:[cordova_project_dir]/platforms/android/app/src/main/res/
很多新手容易把资源放在项目根目录的
res下,但Cordova的插件资源映射需要对应到Android原生项目的路径才会生效。
2. 检查图标文件名与规范是否匹配
- 务必保证所有分辨率文件夹里的图标文件名完全是
fcm_push_icon.png,Android系统对文件名大小写敏感,不能出现拼写错误。 - 图标必须是透明背景的PNG格式,且只有白色(Android通知图标会自动处理为单色,带其他颜色的图标可能显示异常)。同时要确认各分辨率的尺寸对应正确:
- mdpi: 24x24
- hdpi: 36x36
- xhdpi: 48x48
- xxhdpi: 72x72
- xxxhdpi: 96x96
3. 清理构建缓存并重新编译
旧的构建缓存很可能导致资源不更新,执行以下命令彻底清理后重新构建:
cordova clean android cordova build android
4. 手动在config.xml中配置资源映射
如果插件没有自动识别你的图标资源,可以在config.xml中手动添加资源映射规则,确保插件打包时能把图标复制到正确位置:
<platform name="android"> <resource-file src="res/drawable-mdpi/fcm_push_icon.png" target="app/src/main/res/drawable-mdpi/fcm_push_icon.png" /> <resource-file src="res/drawable-hdpi/fcm_push_icon.png" target="app/src/main/res/drawable-hdpi/fcm_push_icon.png" /> <resource-file src="res/drawable-xhdpi/fcm_push_icon.png" target="app/src/main/res/drawable-xhdpi/fcm_push_icon.png" /> <!-- 其他分辨率的配置依此类推 --> </platform>
5. 测试时的注意事项
- 尽量用真实Android设备测试,部分模拟器对通知图标的渲染存在兼容性问题。
- 检查发送的通知payload,不要包含自定义的
icon字段,否则会覆盖插件默认的fcm_push_icon设置。
按照上面的步骤逐一排查,应该能解决你的图标不显示问题。
内容的提问来源于stack exchange,提问作者ajith
相关产品推荐
相关产品推荐

