单群聊 UIKit 通用特性

大约 4 分钟

单群聊 UIKit 通用特性

本文介绍单群聊 UIKit 通用特性,包括会话列表、聊天、群组和联系人等相关功能。

会话列表

会话列表呈现了用户所有正在进行的对话,帮助用户快速找到所需联系人并查看消息进展。

聊天

聊天是即时通讯的核心功能之一,它允许用户与其他用户进行实时文字交流。聊天通常以会话的形式进行,每个会话由两个或多个用户组成。

创建会话

创建会话是即时通讯的核心功能之一,它允许用户启动与一个或多个其他用户交流。

img

创建群组

群组是允许多个用户加入的聊天会话。用户可以邀请其他用户加入群组,并对群组进行管理。

img

群组管理员

群组管理员拥有对群组的所有权限,包括:添加或删除群成员,修改群组名称、描述和头像,禁言或踢出群成员等。

img

用户列表

用户列表显示了用户的所有联系人,包括联系人列表,群成员列表和黑名单等。用户可以通过用户列表快速找到需要联系的人。

文件共享

文件共享允许用户通过即时通讯应用发送和接收文件。文件共享可以用于分享文档、图片、视频等文件。

img

未读消息数

未读消息数是指用户收到的但尚未查看的消息数量。

img

已发送回执

已发送回执用于告知消息发送者,其发送的消息已经成功发送到服务器、接收方以及发送失败。

img

已读回执

已读回执用于告知消息发送者,接收者已经阅读了其发送的消息。

img

联系人名片

联系人名片指包含联系人详细信息的电子卡片,通常包括头像和昵称等信息。通过联系人名片,用户可以快速添加联系人或开始会话。

img

语音消息

语音消息指以语音形式发送和接收的消息,可替代文字交流。

img

消息审核

消息审核对用户发送的消息内容进行审查,判断其是否符合平台的社区准则、服务条款和相关法律法规。

本地搜索

本地搜索功能允许用户快速根据类型搜索,包括搜索联系人(带有或无选择框)、会话、历史消息和黑名单,支持关键词匹配。该功能帮助用户高效找到所需信息,提高工作效率和信息管理的便捷性。

UIKit 提供封装的 ChatUIKitSearchActivity 搜索页面,用户根据 ChatUIKitSearchType 和输入关键词后,将根据 ChatUIKitSearchType 类型搜索数据展示搜索结果。

同时,UIKit 也提供搜索基类 ChatUIKitBaseSearchFragment,用户可以更好地继承扩展实现。ChatUIKitBaseSearchFragment 中的 initAdapter() 抽象方法实现自己的 adapter,进行数据处理和展示。

例如,以下为搜索消息的页面。

img

如何使用

跳转 ChatUIKitSearchActivity 页面,根据自己需要搜索的类型(ChatUIKitSearchType:USER、SELECT_USER、CONVERSATION、MESSAGE、BLOCK_USER)传入需要的参数,将匹配关键词并展示搜索结果。

例如,搜索黑名单的示例代码如下 :

    
    private val returnSearchClickResult: ActivityResultLauncher<Intent> = registerForActivityResult(
        ActivityResultContracts.StartActivityForResult()
    ) { result -> onClickResult(result) }

    returnSearchClickResult.launch(
        ChatUIKitSearchActivity.createIntent(
            context = mContext,
            searchType = ChatUIKitSearchType.BLOCK_USER
        )
    )
    private fun onClickResult(result: ActivityResult) {
        if (result.resultCode == Activity.RESULT_OK) {
            result.data?.getSerializableExtra("user")?.let {
                if (it is ChatUIKitUser) {
                    // it 为搜索结果 
                }
            }
        }
    }

群组 @ 提及

群组 @ 提及功能使用户能在群聊中通过 @ 符号直接提及特定成员,被提及者将收到特别通知。该功能便于高效传递重要信息,确保关键消息得到及时关注和回应。

如何使用

群组 @ 提及特性默认开启。要关闭该特性,则需将 enableMention 设置为 false

示例代码如下:

    ChatUIKitClient.getConfig()?.chatConfig?.enableMention == false