会话盒子
会话盒子介绍
会话盒子指拥有共同性质的一类会话的合集,由会话设置属性boxType
确定,可将相同类型的会话聚合为一类列表,减少主列表消息干扰。
获取会话盒子列表
接口定义
kotlin
fun getBoxList(callback: IResultCallback<List<KIMCoreBox>>)
参数说明
参数 | 类型 | 返回值 | 说明 |
---|---|---|---|
callback | IResultCallback<List<KIMCoreBox>> | 回调 |
下表列出了 KIMCoreBox
中提供的主要方法
方法名 | 返回值 | 说明 |
---|---|---|
getBoxType | int | 盒子类型 Constant.BOX_TYPE |
getAvatar | string | 盒子头像 |
getName | string | 盒子名称 |
isStickied | bool | 是否置顶 |
getLastTime | long | 最后消息更新时间,单位ns |
getLastReadTime | long | 上次读取消息时间,单位ns |
getUnReadCount | int | 未读数 |
代码示例
kotlin
KIMCore.instance().getBoxList(object :IResultCallback<List<KIMCoreBox>>{
override fun onSuccess(result: List<KIMCoreBox>?) {
TODO()
}
override fun onError(errorCode: ErrorCode) {
TODO()
}
})
获取指定盒子类型的会话列表
接口定义
kotlin
fun getChatListByType(chatTypes: List<Int>, callback: IResultCallback<List<KIMCoreChat>>)
代码示例
kotlin
KIMCore.instance().getChatListByBoxType(listOf(Constant.BOX_TYPE.ASSISTANT_BOX),
object : IResultCallback<Map<Int, List<KIMCoreChat>>> {
override fun onSuccess(result: Map<Int, List<KIMCoreChat>>?) {
TODO()
}
override fun onError(errorCode: ErrorCode) {
TODO()
}
})
获取指定类型会话盒子未读数
接口定义
kotlin
fun boxUnreadTotalCount(boxType: Int): LiveData<Int>
代码示例
kotlin
KIMCore.instance().boxUnreadTotalCount(boxType).observe()
操作会话盒子
接口定义
kotlin
fun setBoxProps(action: String, boxType: Int, callback: IResultCallback<Boolean>?)
参数说明
参数 | 类型 | 说明 |
---|---|---|
action | String | 操作类型 Constant.BOX_PROP |
boxType | int | 盒子类型 Constant.BOX_TYPE |
callback | IResultCallback<Boolean> | 回调 |
Constant.BOX_TYPE
值枚举:
类型 | 值 | 说明 |
---|---|---|
BOX_PROP.STICKY | sticky | 置顶 |
BOX_PROP.UN_STICKY | unsticky | 取消置顶 |
BOX_PROP.READ | read | 已读 |
代码示例
kotlin
KIMCore.instance().setBoxProps(action,boxType,object :IResultCallback<Boolean>{
override fun onSuccess(result: Boolean?) {
TODO()
}
override fun onError(errorCode: ErrorCode) {
TODO()
}
})
监听会话盒子变化
接口定义
kotlin
//添加监听器
fun addBoxPropsListener(owner: LifecycleOwner?, listener: KIMBoxPropsListener)
//移除监听器
fun removeBoxPropsListener(listener: KIMBoxPropsListener)
参数说明
参数 | 类型 | 说明 |
---|---|---|
listener | KIMBoxPropsListener | 监听器 |
KIMBoxPropsListener
方法 | 参数 | 返回值 | 说明 |
---|---|---|---|
change | int boxType 变更状态的 boxType String prop 具体变化类型 Constant.BOX_PROP long seq 当 prop为 Constant.BOX_PROP#READ ,表示已读的时间戳。 | 回调方法 |
代码示例
kotlin
KIMCore.instance().addBoxPropsListener(owner, object : KIMBoxPropsListener {
override fun change(boxType: Int, prop: String, seq: Long) {
TODO()
}
})
kotlin
KIMCore.instance().removeBoxPropsListener(listener)