Expo iOS开发:本地通知显示图片及推送服务相关问题咨询
Expo SDK44 下 expo-notifications iOS端相关问题解答
本地通知是否支持展示图片
支持。
SDK44版本的expo-notifications已经兼容iOS端本地通知的图片附件展示能力,调用通知调度接口时在content里加attachments配置项就能实现。
- 实际使用注意点:
- 附件只识别本地路径,不管是bundle内置资源还是沙盒内存储的文件都可以,直接传远程HTTP链接不会生效,要展示网络图需要先提前下载到本地再传入路径
- 受iOS系统限制,单张图片附件大小不要超过10MB,支持PNG、JPEG、GIF格式,动图也可正常展示
- 最小实现代码参考:
// 提前将目标图片存储到本地沙盒后再调用 await Notifications.scheduleNotificationAsync({ content: { title: "通知标题", body: "通知正文内容", attachments: [{ identifier: 'cover', url: `${FileSystem.documentDirectory}notice_cover.jpg` }] }, trigger: { seconds: 1 } })
是否支持通过Expo推送服务发送iOS端data-only仅数据消息
不支持。
Expo官方推送服务下发的所有消息都会被iOS系统识别为可见通知,payload会默认携带通知展示相关字段,没有提供纯数据透传的配置入口,无法实现静默接收不弹提醒的data-only效果。
如果要实现iOS端的静默data-only推送,SDK44版本下不能走Expo的推送通道,需要自行对接原生APNs,下发payload时设置content-available: 1,同时不要携带alert、sound、badge三个展示相关字段才可以。另外要注意这类静默消息受iOS系统后台策略管控,送达率没有保障,不要用它承载核心业务逻辑的触达。
内容的提问来源于stack exchange,提问作者newplayer
相关产品推荐
相关产品推荐

