Expo推送通知自定义图标不显示问题求助
问题:Expo推送通知自定义图标无法显示
我已经按照Expo官方文档配置了推送通知,但自定义图标仍然无法显示。以下是我的app.json配置代码:
{ "expo": { ...... "android": { "package": "com.moohub.safenaija", "googleServicesFile": "./google-services.json", "adaptiveIcon": { "foregroundImage": "./assets/adaptive-icon.png", "backgroundColor": "#FFFFFF" } }, "web": { "favicon": "./assets/favicon.png" }, "extra": { "eas": { "projectId": "......." } } }, "plugins": [ [ "expo-notifications", { "icon": "./assets/safe.png", "color": "#000000'", "iosDisplayInForeground": true, "androidMode": "default", "androidCollapsedTitle": "Updates from SafeNaija" } ] ] }
解决方案:
修复配置语法错误
你的color字段值末尾多了一个多余的单引号:"#000000'",这会导致配置解析异常,修正为"#000000"。遵循Android推送图标规范
Android对推送图标有强制要求:- 必须是透明背景的纯白色图形(其他颜色会被系统自动转为白/灰色)
- 最小尺寸为48x48px,建议提供多分辨率适配版本(如对应mipmap各尺寸文件夹)
- 避免复杂形状,保证小尺寸下辨识度
验证图标路径有效性
确认./assets/safe.png文件确实存在于项目根目录的assets文件夹中,路径大小写要和实际文件一致(部分系统区分大小写)。重新构建应用
Expo通知插件的配置修改无法通过热更新生效,必须重新构建:- 使用EAS Build:执行
eas build -p android重新编译 - 本地构建:先运行
expo prebuild生成原生代码,再进行本地编译
- 使用EAS Build:执行
iOS端额外检查(若涉及)
iOS推送图标要求:- 1024x1024px的PNG图片,无需圆角(系统自动添加)
- 可单独配置
iosIcon字段指定iOS专属图标,确保符合苹果规范
内容的提问来源于stack exchange,提问作者Preye
相关产品推荐
相关产品推荐

