Skip to content
能力中心
产品中心
应用市场
WebOffice
开发者后台

会话管理

协作中台 SDK 提供了专门用于会话管理的接口。

创建单聊会话

用于一对一的单人聊天。

接口定义

kotlin
fun createP2PChat(userId: String, callback: callback: KIMResultCallback1<KIMCreateChatInfo>)

参数说明

参数类型说明
userIdStringSDK内部使用的用户Id。如果开发者只知道自身的账号体系下的用户Id,可以通过传入thirdUnionId调用获取用户方法 getUserInfosByThirdIds(thirdUninIds: Array<String>, onCompletion : ((users: Array<KIMUser>?, error: KIMError) -> Unit))得到SDK内部使用的用户Id。
callbackKIMResultCallback1<KIMCreateChatInfo>结果
onSuccess回调:
chatInfo:创建成功后的会话信息。
onFailed回调:
error: 错误信息

代码示例

kotlin
KIM.chatModule.createP2PChat(userId, object : KIMResultCallback1<KIMCreateChatInfo> {
    override fun onSuccess(data: KIMCreateChatInfo) {
        WLog.debugLog("创建单聊成功, data = $data")
        val args =
            KIMMessageListFragment.defaultArguments(data.chatId, "")
        KIM.getService().goPage(
            KIMMessageListFragment::class.java.getPageName(),
            this@ChatTestActivity,
            args
        )
    }

    override fun onFailed(error: KIMError) {
        WLog.debugLog("创建单聊失败, error = $error")
    }
})

创建群聊会话

用于多人聊天,可以是一个或多个人。

接口定义

kotlin
fun createGroupChat(chatName: String?, userIds: List<String>, callback: KIMResultCallback1<KIMCreateChatInfo>)

参数说明

参数类型说明
chatNameString?不传默认为群成员名称组合如: "name1、name2、name3"
userIdsList<String>群成员列表, userId为SDK内部使用的用户Id。如果开发者只知道自身的账号体系下的用户Id,可以通过传入thirdUnionId调用获取用户方法 getUserInfosByThirdIds(thirdUninIds: Array<String>, onCompletion : ((users: Array<KIMUser>?, error: KIMError) -> Unit)) 得到SDK内部使用的用户Id。
callbackKIMResultCallback1<KIMCreateChatInfo>结果回调
onSuccess回调:
chatInfo:创建成功后的会话信息。
onFailed回调:
error: 错误信息

代码示例

kotlin
KIM.chatModule.createGroupChat(getChatName(),contactUsers?.map { it.userId.toString() }?.toList() ?: emptyList(), object : KIMResultCallback1<KIMCreateChatInfo> {
    override fun onSuccess(data: KIMCreateChatInfo) {
        WLog.debugLog("创建群聊成功, data = $data")
        KIM.getService().goPage(
            KIMChatListFragment::class.java.getPageName(),
            this@ChatTestActivity,
            Bundle()
        )
    }

    override fun onFailed(error: KIMError) {
        WLog.debugLog("创建群聊失败, error = $error")
    }
})

查询指定群成员信息

接口定义

kotlin
fun getChatMemberInfo(chatId: String, userId: String): LiveData<KIMChatMemberInfo>

参数说明

参数类型说明
chatIdString会话 id
userIdStringSDK内部使用的用户Id。如果开发者只知道自身的账号体系下的用户Id,可以通过传入thirdUnionId调用获取用户方法 getUserInfosByThirdIds(thirdUninIds: Array<String>, onCompletion : ((users: Array<KIMUser>?, error: KIMError) -> Unit)) 得到SDK内部使用的用户Id。

该方法返回值为 LiveData<KIMChatMemberInfo> 对象,可通过对LiveData添加监听获取最新的KIMChatMemberInfo数据

KIMChatMemberInfo 说明:

属性类型说明
nameString用户名称
markNameString备注
groupNameString群昵称
avatarString群成员头像

代码示例

kotlin
KIM.chatModule.getChatMemberInfo(chatId, userId).observe(this) {
    WLog.debugLog("获取聊天成员信息成功, data = $it")
})