TUIKit 中的 TUISearch 实现了本地搜索,支持搜索本地存储的聊天记录、联系人、群聊等。搜索可以帮助用户从纷繁的信息中快速找到目标,也可作为运营工具,增加相关内容的引导,简洁高效。
功能展示
接入指引
以下步骤将向您演示如何接入 TUISearch 组件。
购买套餐包
集成 TUISearch
在
APP
的 build.gradle
文件中添加对 tuisearch
的依赖:api project(':tuisearch')
登录 TUIKit
您需要调用
TUICore
的 TUILogin
登录 TUIKit。登录接口内部会默认初始化,不需要额外调用初始化。TUILogin.login(this, SDKAPPID, userID, userSig, new TUICallback() {@Overridepublic void onError(final int code, final String desc) {// 登录失败}@Overridepublic void onSuccess() {// 登录成功}});
启动搜索界面
如果您集成了 TUIConversation 和 TUISearch 组件,此时不需要额外处理,searchBar 默认展示在会话列表的上方。
如果您仅集成 TUISearch,此时需要添加自己的搜索视图,然后点击启动 SearchMainActivity 即可。
常见问题
如何搜索自定义消息?
您需要使用接口 createCustomMessage (byte[] data, String description, byte[] extension) 来创建并发送自定义消息,把需要搜索的文本放到
description
参数中。如果您使用接口 createCustomMessage (byte[] data) 创建自定义消息,本地保存的是二进制数据流,无法被搜索到。
如果您配置了离线推送功能,参数
description
设置后,自定义消息也会有离线推送且通知栏展示该参数内容。如果不需要离线推送可以用发消息接口 sendMessage 的参数 V2TIMOfflinePushInfo 中的 disablePush 来控制。
如果推送的通知栏内容不想展示为被搜索的文本,可以用参数 V2TIMOfflinePushInfo 中的 setDesc 来另外设置推送内容。
如何搜索富媒体消息?
富媒体消息包含文件、图片、语音、视频消息。
对于文件消息,界面通常显示文件名,因此创建时可以设置
fileName
参数,作为被搜索的内容,如果 fileName
不设置则会从 filePath
提取文件名,并且都会保存到本地和服务器。而对于图片、语音、视频消息,界面通常显示缩略图或时长,可以指定消息类型做分类搜索,但不能通过关键字搜索。