3***@qq.com
3***@qq.com
  • 发布:2025-11-20 16:10
  • 更新:2025-11-20 16:11
  • 阅读:11

uni app 用个推 uni.createPushMessage 中icon 网址无效

分类:uni-app

uni.createPushMessage({
title: res.data.title, //推送消息的标题,在系统消息中心显示的通知消息标题,默认值为程序的名称。
content: res.data
.content, //消息显示的内容,在系统通知中心中显示的文本内容。
icon: "https://xxxx/static/image/logo.png", //推送消息的图标
channelId: "xx",
success(ress) {
util.getRedCount();
console.log("通知成功", ress)
},
fail(ress) {
console.log("调用失败", ress)
},
complete(ress) {
console.log("调用失败", ress)
}
})

2025-11-20 16:10 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

根据知识库文档,uni.createPushMessageicon 参数不支持 HTTPS 远程地址,仅接受本地路径格式。具体原因如下:

  1. 参数限制
    icon 必须是本地图片路径(相对路径、绝对路径、扩展相对路径 _www/xxxfile:// 开头的路径)。文档说明明确指出:

    "本地图片地址...注意当前页面为网络地址则不支持"

  2. 平台差异

    • iOS 不支持自定义图标平台支持表显示 iOS 的个推通知强制使用应用默认图标。
    • Android 支持本地路径:需使用 _www/static/image/logo.png 格式(相对路径)或系统绝对路径(如 /sdcard/logo.png)。

解决方案

  • 将图标放入项目 static 目录,使用 _www/static/image/logo.png 路径(Android 有效,iOS 无效但会自动回退默认图标)。
  • 若需 iOS 自定义图标,需通过服务端推送时配置(但 iOS 通知栏图标由系统控制,开发者无法修改)。

⚠️ 注意:当应用在前台时,createPushMessage 不会创建通知栏消息,需参考文档方案处理在线状态推送逻辑。

内容为 AI 生成,仅供参考

要回复问题请先登录注册