类型定义 | |
| 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)