自定义消息类型
在WuKongIM 中所有的消息类型都是自定义消息。下面我们以gif消息举例
第一步 定义消息
定义消息对象并继承WKMessageContent 并在构造方法中指定消息类型
-
SDK 内置消息类型可通过
WkMessageContentType查看 继承WKMessageContent和定义 gif 消息的正文结构
第二步 编码解码
- 解码和编码消息时无需将
type字段考虑其中,sdk 内部会自动处理
第三步 注册消息
WKMsg中的type为3就表示该消息是名片消息,其中messageContent则为自定义的GifContent,这时可将messageContent强转为GifContent并渲染到UI上
完整代码如下:
自定义附件消息
我们在发送消息的时候有时需发送带附件的消息。WuKongIM 也提供自定义附件消息,自定义附件消息和普通消息区别不大。下面我们位置消息举例第一步 定义消息
值得注意的是自定义附件消息需继承WKMediaMessageContent而不是WKMessageContent
第二步 编码解码
第三步 注册消息
消息扩展
随着业务的发展应用在聊天中的功能也日益增多,为了满足绝大部分的需求 WuKongIM 中增加了消息扩展功能。消息扩展分本地扩展和远程扩展,本地扩展只针对 app 本地使用卸载 app 后将丢失,远程扩展是服务器保存卸载重装后数据将恢复
本地扩展
本地扩展就是消息对象WKMsg中的localExtraMap字段
- 更新成功后 sdk 会触发刷新消息回调
远程扩展
远程扩展就是消息对象WKMsg中的wkMsgExtra字段
消息已读未读
消息的已读未读又称消息回执。消息回执功能可通过 setting 进行设置发送回执消息
WKIM.shared.messageManager.saveRemoteExtraMsg(List<WKSyncExtraMsg> list)方法保存到 sdk 中
消息回复
在聊天中如果消息过多,发送消息回复就会显得消息很乱无章可循。这时就需要对某条消息进行特定的回复,即消息回复。 如以下效果
WKMessageContent中的WKReply对象赋值就能对达到消息回复效果
发送回复消息
消息回应(点赞)
当自己或者别人对消息回应(点赞)时,都会触发 cmd(命令)消息通知到应用。应用在收到同步消息回应的cmd时获取可调用服务器同步接口将获取的回应数据更新到sdk- 同一个用户对同一条消息只能做出一条回应。重复进行消息不同 emoji 的回应会做为修改回应,重复进行相同 emoji 的回应则做为删除回应 sdk 更新消息回应后会触发消息刷新的事件。app 需监听消息刷新事件并对 UI 进行刷新

