类型定义 | |
typedef void(* | TIMConvEventCallback) (enum TIMConvEvent conv_event, const char *json_conv_array, const void *user_data) |
typedef void(* | TIMConvTotalUnreadMessageCountChangedCallback) (int total_unread_count, const void *user_data) |
typedef void(* | TIMConvTotalUnreadMessageCountChangedByFilterCallback) (const char *filter, int total_unread_count, const void *user_data) |
typedef void(* | TIMConvConversationGroupCreatedCallback) (const char *group_name, const char *conversation_array, const void *user_data) |
typedef void(* | TIMConvConversationGroupDeletedCallback) (const char *group_name, const void *user_data) |
typedef void(* | TIMConvConversationGroupNameChangedCallback) (const char *old_name, const char *new_name, const void *user_data) |
typedef void(* | TIMConvConversationsAddedToGroupCallback) (const char *group_name, const char *conversation_array, const void *user_data) |
typedef void(* | TIMConvConversationsDeletedFromGroupCallback) (const char *group_name, const char *conversation_array, uint32_t reason, const void *user_data) |
函数 | |
TIM_API void | TIMSetConvEventCallback (TIMConvEventCallback cb, const void *user_data) |
TIM_API void | TIMSetConvTotalUnreadMessageCountChangedCallback (TIMConvTotalUnreadMessageCountChangedCallback cb, const void *user_data) |
TIM_API void | TIMSetConvUnreadMessageCountChangedByFilterCallback (TIMConvTotalUnreadMessageCountChangedByFilterCallback cb, const void *user_data) |
TIM_API void | TIMSetConvConversationGroupCreatedCallback (TIMConvConversationGroupCreatedCallback cb, const void *user_data) |
TIM_API void | TIMSetConvConversationGroupDeletedCallback (TIMConvConversationGroupDeletedCallback cb, const void *user_data) |
TIM_API void | TIMSetConvConversationGroupNameChangedCallback (TIMConvConversationGroupNameChangedCallback cb, const void *user_data) |
TIM_API void | TIMSetConvConversationsAddedToGroupCallback (TIMConvConversationsAddedToGroupCallback cb, const void *user_data) |
TIM_API void | TIMSetConvConversationsDeletedFromGroupCallback (TIMConvConversationsDeletedFromGroupCallback cb, const void *user_data) |
TIM_API int | TIMConvGetConvList (TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvGetConvInfo (const char *json_get_conv_list_param, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvGetConversationListByFilter (const char *filter, uint64_t next_seq, uint32_t count, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvDelete (const char *conv_id, enum TIMConvType conv_type, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvDeleteConversationList (const char *conversation_id_array, bool clear_message, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvSetDraft (const char *conv_id, enum TIMConvType conv_type, const char *json_draft_param) |
TIM_API int | TIMConvCancelDraft (const char *conv_id, enum TIMConvType conv_type) |
TIM_API int | TIMConvSetConversationCustomData (const char *conversation_id_array, const char *custom_data, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvPinConversation (const char *conv_id, enum TIMConvType conv_type, bool is_pinned, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvMarkConversation (const char *conversation_id_array, uint64_t mark_type, bool enable_mark, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvGetTotalUnreadMessageCount (TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvGetUnreadMessageCountByFilter (const char *filter, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvSubscribeUnreadMessageCountByFilter (const char *filter) |
TIM_API int | TIMConvUnsubscribeUnreadMessageCountByFilter (const char *filter) |
TIM_API int | TIMConvCleanConversationUnreadMessageCount (const char *conversation_id, uint64_t clean_timestamp, uint64_t clean_sequence, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvCreateConversationGroup (const char *group_name, const char *conversation_id_array, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvGetConversationGroupList (TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvDeleteConversationGroup (const char *group_name, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvRenameConversationGroup (const char *old_name, const char *new_name, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvAddConversationsToGroup (const char *group_name, const char *conversation_id_array, TIMCommCallback cb, const void *user_data) |
TIM_API int | TIMConvDeleteConversationsFromGroup (const char *group_name, const char *conversation_id_array, TIMCommCallback cb, const void *user_data) |
typedef void(* TIMConvEventCallback) (enum TIMConvEvent conv_event, const char *json_conv_array, const void *user_data) |
1.1 会话事件回调
conv_event | 会话事件类型, 请参考 TIMConvEvent |
json_conv_array | 会话信息列表 |
user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
会话事件回调数据解析示例
json_conv_array 示例 (Json Key 请参考 ConvInfo)
typedef void(* TIMConvTotalUnreadMessageCountChangedCallback) (int total_unread_count, const void *user_data) |
1.2 会话未读消息总数变化
total_unread_count | 未读的消息总数 |
user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
typedef void(* TIMConvTotalUnreadMessageCountChangedByFilterCallback) (const char *filter, int total_unread_count, const void *user_data) |
1.3 按会话 filter 过滤的未读消息总数变化
filter | 获取未读总数的 filter, Json Key 请参考 TIMConversationListFilter |
total_unread_count | 未读的消息总数 |
user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
typedef void(* TIMConvConversationGroupCreatedCallback) (const char *group_name, const char *conversation_array, const void *user_data) |
2.1 会话分组被创建
group_name | 分组名 |
conversation_array | 会话列表 |
user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
typedef void(* TIMConvConversationGroupDeletedCallback) (const char *group_name, const void *user_data) |
2.2 会话分组被删除
group_name | 分组名 |
user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
typedef void(* TIMConvConversationGroupNameChangedCallback) (const char *old_name, const char *new_name, const void *user_data) |
2.3 会话分组名变更
old_name | 分组名 |
new_name | 分组名 |
user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
typedef void(* TIMConvConversationsAddedToGroupCallback) (const char *group_name, const char *conversation_array, const void *user_data) |
2.4 会话分组新增会话
group_name | 分组名 |
conversation_array | 会话列表 |
user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
typedef void(* TIMConvConversationsDeletedFromGroupCallback) (const char *group_name, const char *conversation_array, uint32_t reason, const void *user_data) |
2.5 会话分组删除会话
group_name | 分组名 |
conversation_array | 会话列表 |
user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
TIM_API void TIMSetConvEventCallback | ( | TIMConvEventCallback | cb, |
const void * | user_data | ||
) |
3.1 设置会话事件回调
cb | 会话事件回调,请参考 TIMConvEventCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API void TIMSetConvTotalUnreadMessageCountChangedCallback | ( | TIMConvTotalUnreadMessageCountChangedCallback | cb, |
const void * | user_data | ||
) |
3.2 设置全部会话未读消息总数变更的回调
cb | 会话未读消息总数变更的回调,请参考 TIMConvTotalUnreadMessageCountChangedCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API void TIMSetConvUnreadMessageCountChangedByFilterCallback | ( | TIMConvTotalUnreadMessageCountChangedByFilterCallback | cb, |
const void * | user_data | ||
) |
3.3 设置按会话 filter 过滤的未读消息总数变更的回调
cb | 按会话 filter 过滤的未读消息总数变更的回调,请参考 TIMConvTotalUnreadMessageCountChangedByFilterCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API void TIMSetConvConversationGroupCreatedCallback | ( | TIMConvConversationGroupCreatedCallback | cb, |
const void * | user_data | ||
) |
4.1 设置会话分组被创建回调
cb | 会话未读消息总数变更的回调,请参考 TIMConvConversationGroupCreatedCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API void TIMSetConvConversationGroupDeletedCallback | ( | TIMConvConversationGroupDeletedCallback | cb, |
const void * | user_data | ||
) |
4.2 设置会话分组被删除的回调
cb | 会话分组被删除的回调,请参考 TIMConvConversationGroupDeletedCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API void TIMSetConvConversationGroupNameChangedCallback | ( | TIMConvConversationGroupNameChangedCallback | cb, |
const void * | user_data | ||
) |
4.3 设置会话分组命名变更回调
cb | 会话分组命名变更回调,请参考 TIMConvConversationGroupNameChangedCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API void TIMSetConvConversationsAddedToGroupCallback | ( | TIMConvConversationsAddedToGroupCallback | cb, |
const void * | user_data | ||
) |
4.4 设置会话分组新增会话的回调
cb | 会话分组新增会话的回调,请参考 TIMConvConversationsAddedToGroupCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API void TIMSetConvConversationsDeletedFromGroupCallback | ( | TIMConvConversationsDeletedFromGroupCallback | cb, |
const void * | user_data | ||
) |
4.5 设置会话分组删除会话的回调
cb | 会话分组删除会话的回调,请参考 TIMConvConversationsDeletedFromGroupCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API int TIMConvGetConvList | ( | TIMCommCallback | cb, |
const void * | user_data | ||
) |
5.1 获取会话列表
cb | 获取会话列表的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API int TIMConvGetConvInfo | ( | const char * | json_get_conv_list_param, |
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.2 查询一组会话列表
json_get_conv_list_param | 会话 ID 和会话类型的列表, Json Key 请参考 GetConversationListParam |
cb | 会话列表的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
回调中的 json_param 示例 (Json Key 请参考 ConvInfo)
TIM_API int TIMConvGetConversationListByFilter | ( | const char * | filter, |
uint64_t | next_seq, | ||
uint32_t | count, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.3 获取会话列表高级接口(从 6.5 版本开始支持)
filter | 获取会话列表高级接口的 filter, Json Key 请参考 TIMConversationListFilter |
next_seq | 分页拉取的游标 |
count | 分页拉取的个数 |
cb | 获取会话列表高级接口的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
TIM_API int TIMConvDelete | ( | const char * | conv_id, |
enum TIMConvType | conv_type, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.4 删除会话以及该会话中的历史消息
conv_id | 会话的ID |
conv_type | 会话类型,请参考 TIMConvType |
cb | 删除会话成功与否的回调。回调函数定义请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
TIM_API int TIMConvDeleteConversationList | ( | const char * | conversation_id_array, |
bool | clear_message, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.5 删除会话列表(从 7.1 版本开始支持)
conversation_id_array | 会话 ID 列表 |
clear_message | 是否删除会话中的消息;设置为 false 时,保留会话消息;设置为 true 时,本地和服务器的消息会一起删除,并且不可恢复 |
cb | 删除会话列表的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK 只负责传回给回调函数 cb,不做任何处理 |
示例(回调结果中 json_param 使用的 Json Key 请参考 TIMConversationOperationResult)
TIM_API int TIMConvSetDraft | ( | const char * | conv_id, |
enum TIMConvType | conv_type, | ||
const char * | json_draft_param | ||
) |
5.6 设置指定会话的草稿
conv_id | 会话的ID |
conv_type | 会话类型,请参考 TIMConvType |
json_draft_param | 被设置的草稿 Json 字符串, Json Key 请参考 Draft |
示例
TIM_API int TIMConvCancelDraft | ( | const char * | conv_id, |
enum TIMConvType | conv_type | ||
) |
5.7 删除指定会话的草稿
conv_id | 会话的ID |
conv_type | 会话类型,请参考 TIMConvType |
TIM_API int TIMConvSetConversationCustomData | ( | const char * | conversation_id_array, |
const char * | custom_data, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.8 设置会话自定义数据(从 6.5 版本开始支持)
conversation_id_array | 会话 ID 列表 |
custom_data | 自定义数据,最大支持 256 bytes |
cb | 设置会话自定义字段的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例(回调结果中 json_param 使用的 Json Key 请参考 TIMConversationOperationResult)
TIM_API int TIMConvPinConversation | ( | const char * | conv_id, |
enum TIMConvType | conv_type, | ||
bool | is_pinned, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.9 设置会话置顶
conv_id | 会话 ID |
conv_type | 会话类型,请参考 TIMConvType |
is_pinned | 是否置顶会话 |
cb | 设置会话置顶回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
TIM_API int TIMConvMarkConversation | ( | const char * | conversation_id_array, |
uint64_t | mark_type, | ||
bool | enable_mark, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.10 标记会话(从 6.5 版本开始支持,需要您购买旗舰版套餐)
conversation_id_array | 会话 ID 列表 |
mark_type | 会话标记类型,取值详见 TIMConversationMarkType |
enable_mark | true:设置标记 false:取消标记 |
cb | 标记会话的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
如果已有标记不能满足您的需求,您可以自定义扩展标记,扩展标记需要满足以下两个条件: 1、扩展标记值不能和 TIMConversationMarkType 已有的标记值冲突 2、扩展标记值必须是 0x1LL << n 的位移值(32 <= n < 64,即 n 必须大于等于 32 并且小于 64),比如扩展标记值 0x1LL << 32 表示 "Windows 在线"
示例(回调结果中 json_param 使用的 Json Key 请参考 TIMConversationOperationResult)
TIM_API int TIMConvGetTotalUnreadMessageCount | ( | TIMCommCallback | cb, |
const void * | user_data | ||
) |
5.11 获取所有会话总的未读消息数
cb | 获取所有会话总的未读消息数回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例 (回调结果中 json_param 使用的 Json Key 请参考 GetTotalUnreadNumberResult)
TIM_API int TIMConvGetUnreadMessageCountByFilter | ( | const char * | filter, |
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.12 根据 filter 获取未读总数(7.0 及以上版本支持)
filter | 会话 filter, Json Key 请参考 TIMConversationListFilter |
cb | 获取未读总数的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例 (回调结果中 json_param 使用的 Json Key 请参考 GetTotalUnreadNumberResult)
TIM_API int TIMConvSubscribeUnreadMessageCountByFilter | ( | const char * | filter | ) |
5.13 注册监听指定 filter 的会话未读总数变化(7.0 及以上版本支持)
filter | 会话 filter, Json Key 请参考 TIMConversationListFilter |
示例
TIM_API int TIMConvUnsubscribeUnreadMessageCountByFilter | ( | const char * | filter | ) |
5.14 取消监听指定 filter 的会话未读总数变化(7.0 及以上版本支持)
filter | 会话 filter, Json Key 请参考 TIMConversationListFilter |
示例
TIM_API int TIMConvCleanConversationUnreadMessageCount | ( | const char * | conversation_id, |
uint64_t | clean_timestamp, | ||
uint64_t | clean_sequence, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
5.15 清理会话的未读消息计数(7.1 及以上版本支持)
conversation_id | 会话唯一 ID, C2C 单聊组成方式:"c2c_" + userID;群聊组成方式为 "group_" + groupID |
clean_timestamp | 清理时间戳,单位为秒,仅对单聊会话生效,指定清理哪一个 timestamp 之前的未读消息计数;当传入为 0 时,对应会话所有的未读消息将被清理,会话的未读数会清 0; |
clean_sequence | 清理时 sequence,仅对群聊会话生效,指定清理哪一个 sequence 之前的未读消息计数;当传入为 0 时,对应会话所有的未读消息将被清理,会话的未读数会清 0; |
cb | 创建会话分组的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
TIM_API int TIMConvCreateConversationGroup | ( | const char * | group_name, |
const char * | conversation_id_array, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
6.1 创建会话分组(从 6.5 版本开始支持,需要您购买旗舰版套餐)
group_name | 分组名(必填参数,长度要 > 0,最大支持 32 bytes) |
conversation_id_array | 会话 ID 列表(必填参数,不能为空) |
cb | 创建会话分组的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
TIM_API int TIMConvGetConversationGroupList | ( | TIMCommCallback | cb, |
const void * | user_data | ||
) |
6.2 获取会话分组列表(从 6.5 版本开始支持,需要您购买旗舰版套餐)
cb | 获取会话分组列表的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
TIM_API int TIMConvDeleteConversationGroup | ( | const char * | group_name, |
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
6.3 删除会话分组(从 6.5 版本开始支持,需要您购买旗舰版套餐)
group_name | 分组名(必填参数,长度要 > 0,最大支持 32 bytes) |
cb | 删除会话分组的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
TIM_API int TIMConvRenameConversationGroup | ( | const char * | old_name, |
const char * | new_name, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
6.4 重命名会话分组(从 6.5 版本开始支持,需要您购买旗舰版套餐)
old_name | 分组名(必填参数,长度要 > 0,最大支持 32 bytes) |
new_name | 分组名(必填参数,长度要 > 0,最大支持 32 bytes) |
cb | 重命名会话分组的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
TIM_API int TIMConvAddConversationsToGroup | ( | const char * | group_name, |
const char * | conversation_id_array, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
6.5 添加会话到一个会话分组(从 6.5 版本开始支持,需要您购买旗舰版套餐)
group_name | 分组名(必填参数,长度要 > 0,最大支持 32 bytes) |
conversation_id_array | 会话 ID 列表(必填参数,不能为空) |
cb | 添加会话到一个会话分组的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例 (回调结果中 json_param 使用的 Json Key 请参考 TIMConversationOperationResult)
TIM_API int TIMConvDeleteConversationsFromGroup | ( | const char * | group_name, |
const char * | conversation_id_array, | ||
TIMCommCallback | cb, | ||
const void * | user_data | ||
) |
6.6 从会话分组中删除多个会话(从 6.5 版本开始支持,需要您购买旗舰版套餐)
group_name | 分组名(必填参数,长度要 > 0,最大支持 32 bytes) |
conversation_id_array | 会话 ID 列表(必填参数,不能为空) |
cb | 从会话分组中删除多个会话的回调。回调函数定义和参数解析请参考 TIMCommCallback |
user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例 (回调结果中 json_param 使用的 Json Key 请参考 TIMConversationOperationResult)