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

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"
      }
    ]
  ]
}

解决方案:

  1. 修复配置语法错误
    你的color字段值末尾多了一个多余的单引号:"#000000'",这会导致配置解析异常,修正为"#000000"。

  2. 遵循Android推送图标规范
    Android对推送图标有强制要求:

    • 必须是透明背景的纯白色图形(其他颜色会被系统自动转为白/灰色)
    • 最小尺寸为48x48px,建议提供多分辨率适配版本(如对应mipmap各尺寸文件夹)
    • 避免复杂形状,保证小尺寸下辨识度
  3. 验证图标路径有效性
    确认./assets/safe.png文件确实存在于项目根目录的assets文件夹中,路径大小写要和实际文件一致(部分系统区分大小写)。

  4. 重新构建应用
    Expo通知插件的配置修改无法通过热更新生效,必须重新构建:

    • 使用EAS Build:执行eas build -p android重新编译
    • 本地构建:先运行expo prebuild生成原生代码,再进行本地编译
  5. iOS端额外检查(若涉及)
    iOS推送图标要求:

    • 1024x1024px的PNG图片,无需圆角(系统自动添加)
    • 可单独配置iosIcon字段指定iOS专属图标,确保符合苹果规范

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:09:22