wildfirechat / im-server

即时通讯(IM)系统
http://docs.wildfirechat.cn
Other
7.83k stars 1.78k forks source link

没找到解决方案询问:主动推送语音消息给用户【一款学习英语类APP】 #615

Closed huazaihuola closed 1 year ago

huazaihuola commented 1 year ago

目前: SDK中只有推送文本消息的案例,没有推送其他类型的(比如:推送图片,推送语音)测试案例;找到了一个推送语音的方案,就是先上传文件到媒体服务,然后类型设置为2,同时将媒体文件的url 路径设置一下,然后发送给用户,但是,问题如下。

问题:

  1. 目前本人IM使用的是本地内存方式存储的文件,文件如何上传到IM的本地服务器,有接口吗?目前在API 列表中没有发现。
  2. 是否还有其他的解决方案,有没有具体的案例example, 能够实验一下这个功能。
heavyrain2012 commented 1 year ago

在服务器和协议栈,传输的只有一种数据结构:消息负载,在客户端的SDK层来负责消息负责和消息内容的转换。如果server api想要发送任何类型的消息内容,比如文本或者图片,需要跟客户端确认一下对应消息的消息负载格式。关于消息负载和消息内容的关系,请参考 https://docs.wildfirechat.cn/base_knowledge/message_payload.html

另外消息负载中不包含媒体数据,比如图片或者文件,只包含媒体数据的连接,因此server api发送媒体类负载的时候需要先上传得到一个链接,再发送。关于上传请自己处理文件服务器,野火没有对应的server api接口。

huazaihuola commented 1 year ago

Thank you @heavyrain2012