插入提示消息

更新时间: 2025/11/25 17:25:18

网易云信 IM UIKit 提供了在聊天界面插入提示消息的功能,帮助开发者在适当时机向用户展示重要提醒信息。例如 UIKIt 中自带的 对方把你拉黑,发送消息失败非好友暂不支持音视频通话 等提示。

效果展示

您可以在 UIKit 中体验插入提示消息功能,体验效果如下:

实现步骤

  1. 插入本地提示消息。

    在触发您的消息提醒相关逻辑时,可以直接使用 UIKit 提供插入本地消息的功能来实现。

    swiftlet tip = MessageUtils.tipMessage(text: text)
    ChatRepo.shared.insertMessageToLocal(message: tip,
                                    conversationId: cid,
                                    senderId: senderId) { [weak self] _, error in
    

    如果当前是在消息详情页面,您还可以直接调用 viewmodel 的方法插入。

    swiftviewModel.insertTipMessage("aaabbb")
    
  2. 提示消息展示。

    当您成功插入本地消息后:

    • 如果在当前页面,使用 viewModel.insertTipMessage("aaabbb") 之后,UIKit 会通过消息回调自动刷新 UI,展示提示消息。
    • 如果不在当前页面,当您再次进入该会话页面也可看到插入的消息。

    insertTipMessage 的内部具体实现逻辑,外部需要也可以单独实现。

    swiftopen func insertTipMessage(_ text: String,
                                _ conversationId: String? = nil,
                                _ senderId: String? = nil) {
        NEALog.infoLog(ModuleName + " " + className(), desc: #function + ", text:\(text)")
    
        let cid = conversationId ?? ChatRepo.conversationId
        let tip = MessageUtils.tipMessage(text: text)
        chatRepo.insertMessageToLocal(message: tip,
                                    conversationId: cid,
                                    senderId: senderId) { [weak self] _, error in
        // 当前聊天页面插入的提示消息
        if cid == ChatRepo.conversationId {
            self?.modelFromMessage(message: tip) { model in
            if let index = self?.insertToMessages(model) {
                self?.delegate?.sending(tip, IndexPath(row: index, section: 0))
            }
            }
        }
        }
    }
    
此文档是否对你有帮助?
有帮助
去反馈
  • 效果展示
  • 实现步骤