类型定义 | |
| typedef void(* | TIMRecvNewMsgCallback) (const char *json_msg_array, const void *user_data) |
| typedef void(* | TIMMsgElemUploadProgressCallback) (const char *json_msg, uint32_t index, uint32_t cur_size, uint32_t total_size, const void *user_data) |
| typedef void(* | TIMMsgGroupMessageReadMemberListCallback) (const char *json_group_member_array, uint64_t next_seq, bool is_finished, const void *user_data) |
| typedef void(* | TIMMsgReadedReceiptCallback) (const char *json_msg_read_receipt_array, const void *user_data) |
| typedef void(* | TIMMsgRevokeCallback) (const char *json_msg_revoke_info_array, const void *user_data) |
| typedef void(* | TIMMsgUpdateCallback) (const char *json_msg_array, const void *user_data) |
| typedef void(* | TIMMsgExtensionsChangedCallback) (const char *message_id, const char *message_extension_array, const void *user_data) |
| typedef void(* | TIMMsgExtensionsDeletedCallback) (const char *message_id, const char *message_extension_key_array, const void *user_data) |
| typedef void(* | TIMMsgReactionsChangedCallback) (const char *message_reaction_change_info_array, const void *user_data) |
| typedef void(* | TIMMsgAllMessageReceiveOptionCallback) (const char *json_receive_message_option_info, const void *user_data) |
| typedef void(* | TIMMsgGroupPinnedMessageChangedCallback) (const char *group_id, const char *json_msg, bool is_pinned, const char *op_user, const void *user_data) |
函数 | |
| TIM_API void | TIMAddRecvNewMsgCallback (TIMRecvNewMsgCallback cb, const void *user_data) |
| TIM_API void | TIMRemoveRecvNewMsgCallback (TIMRecvNewMsgCallback cb) |
| TIM_API void | TIMSetMsgElemUploadProgressCallback (TIMMsgElemUploadProgressCallback cb, const void *user_data) |
| TIM_API void | TIMSetMsgReadedReceiptCallback (TIMMsgReadedReceiptCallback cb, const void *user_data) |
| TIM_API void | TIMSetMsgRevokeCallback (TIMMsgRevokeCallback cb, const void *user_data) |
| TIM_API void | TIMSetMsgUpdateCallback (TIMMsgUpdateCallback cb, const void *user_data) |
| TIM_API void | TIMSetMsgExtensionsChangedCallback (TIMMsgExtensionsChangedCallback cb, const void *user_data) |
| TIM_API void | TIMSetMsgExtensionsDeletedCallback (TIMMsgExtensionsDeletedCallback cb, const void *user_data) |
| TIM_API void | TIMSetMsgReactionsChangedCallback (TIMMsgReactionsChangedCallback cb, const void *user_data) |
| TIM_API void | TIMSetMsgAllMessageReceiveOptionCallback (TIMMsgAllMessageReceiveOptionCallback cb, const void *user_data) |
| TIM_API void | TIMSetMsgGroupPinnedMessageChangedCallback (TIMMsgGroupPinnedMessageChangedCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSendMessage (const char *conv_id, enum TIMConvType conv_type, const char *json_msg_param, char *message_id_buffer, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgCancelSend (const char *conv_id, enum TIMConvType conv_type, const char *message_id, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgBatchSend (const char *json_batch_send_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgDownloadElemToPath (const char *json_download_elem_param, const char *path, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgDownloadMergerMessage (const char *json_single_msg, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSetLocalCustomData (const char *json_msg_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSetC2CReceiveMessageOpt (const char *json_identifier_array, enum TIMReceiveMessageOpt opt, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgGetC2CReceiveMessageOpt (const char *json_identifier_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSetGroupReceiveMessageOpt (const char *group_id, enum TIMReceiveMessageOpt opt, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSetAllReceiveMessageOpt (enum TIMReceiveMessageOpt opt, int32_t start_hour, int32_t start_minute, int32_t start_second, uint32_t duration, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSetAllReceiveMessageOpt2 (enum TIMReceiveMessageOpt opt, uint32_t start_time_stamp, uint32_t duration, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgGetAllReceiveMessageOpt (TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgGetMsgList (const char *conv_id, enum TIMConvType conv_type, const char *json_get_msg_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgRevoke (const char *conv_id, enum TIMConvType conv_type, const char *json_msg_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgModifyMessage (const char *json_msg_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgDelete (const char *conv_id, enum TIMConvType conv_type, const char *json_msgdel_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgListDelete (const char *conv_id, enum TIMConvType conv_type, const char *json_msg_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgClearHistoryMessage (const char *conv_id, enum TIMConvType conv_type, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSaveMsg (const char *conv_id, enum TIMConvType conv_type, const char *json_msg_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgImportMsgList (const char *conv_id, enum TIMConvType conv_type, const char *json_msg_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgFindMessages (const char *json_message_id_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgFindByMsgLocatorList (const char *conv_id, enum TIMConvType conv_type, const char *json_msg_Locator_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSearchLocalMessages (const char *json_search_message_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSearchCloudMessages (const char *json_search_message_param, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSendMessageReadReceipts (const char *json_msg_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgGetMessageReadReceipts (const char *json_msg_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgGetGroupMessageReadMemberList (const char *json_msg, enum TIMGroupMessageReadMembersFilter filter, uint64_t next_seq, uint32_t count, TIMMsgGroupMessageReadMemberListCallback cb, const void *user_data) |
| TIM_API int | TIMMsgSetMessageExtensions (const char *json_msg, const char *json_extension_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgGetMessageExtensions (const char *json_msg, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgDeleteMessageExtensions (const char *json_msg, const char *json_extension_key_array, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgAddMessageReaction (const char *json_msg, const char *reaction_id, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgRemoveMessageReaction (const char *json_msg, const char *reaction_id, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgGetMessageReactions (const char *json_msg_array, uint32_t max_user_count_per_reaction, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgGetAllUserListOfMessageReaction (const char *json_msg, const char *reaction_id, uint32_t next_seq, uint32_t count, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgTranslateText (const char *json_source_text_array, const char *source_language, const char *target_language, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMMsgConvertVoiceToText (const char *url, const char *language, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMPinGroupMessage (const char *group_id, const char *json_msg, bool is_pinned, TIMCommCallback cb, const void *user_data) |
| TIM_API int | TIMGetPinnedGroupMessageList (const char *group_id, TIMCommCallback cb, const void *user_data) |
| typedef void(* TIMRecvNewMsgCallback) (const char *json_msg_array, const void *user_data) |
1.1 新消息回调
| json_msg_array | 新消息数组, Json Key 请参考 Message |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
消息数组解析示例
返回一个文本消息的Json示例 (Json Key 请参考 Message、 TextElem)
返回一个群通知消息的Json示例 (Json Key 请参考 Message、 GroupReportElem)
返回一个群提示消息的Json示例 (Json Key 请参考 Message、 GroupTipsElem)
| typedef void(* TIMMsgElemUploadProgressCallback) (const char *json_msg, uint32_t index, uint32_t cur_size, uint32_t total_size, const void *user_data) |
1.2 消息内元素相关文件上传进度回调
| json_msg | 新消息, Json Key 请参考 Message |
| index | 上传的富媒体消息元素在 json_msg 消息的下标 |
| cur_size | 上传当前大小 |
| total_size | 上传总大小 |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
示例
| typedef void(* TIMMsgGroupMessageReadMemberListCallback) (const char *json_group_member_array, uint64_t next_seq, bool is_finished, const void *user_data) |
1.3 获取群消息已读群成员列表
| json_group_member_array | 群消息已读群成员列表, Json Key 请参考 GroupMemberInfo |
| next_seq | 下一次分页拉取的游标 |
| is_finished | 群消息已读群成员列表是否已经拉取完毕 |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
示例
| typedef void(* TIMMsgReadedReceiptCallback) (const char *json_msg_read_receipt_array, const void *user_data) |
1.4 收到消息已读回执
| json_msg_read_receipt_array | 消息已读回执数组, Json Key 请参考 MessageReceipt |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
示例
| typedef void(* TIMMsgRevokeCallback) (const char *json_msg_revoke_info_array, const void *user_data) |
1.5 接收的消息被撤回回调
| json_msg_revoke_info_array | 撤回信息数组, Json Key 请参考 Message, MsgLocator |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
示例
| typedef void(* TIMMsgUpdateCallback) (const char *json_msg_array, const void *user_data) |
1.6 消息更新回调
| json_msg_array | 更新的消息数组, Json Key 请参考 Message |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
| typedef void(* TIMMsgExtensionsChangedCallback) (const char *message_id, const char *message_extension_array, const void *user_data) |
1.7 消息扩展信息更新回调
| message_id | 消息 ID |
| message_extension_array | 扩展信息列表, Json Key 请参考 MessageExtension |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
返回的扩展信息列表 json 示例
| typedef void(* TIMMsgExtensionsDeletedCallback) (const char *message_id, const char *message_extension_key_array, const void *user_data) |
1.8 消息扩展信息删除回调
| message_id | 消息 ID |
| message_extension_key_array | 扩展信息的关键字列表, Json Key 请参考 MessageExtension |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
返回的扩展信息的关键字列表 json 示例
| typedef void(* TIMMsgReactionsChangedCallback) (const char *message_reaction_change_info_array, const void *user_data) |
1.9 消息回应信息更新回调
| message_reaction_change_info_array | 回应信息变更列表, Json Key 请参考 MessageReactionChangeInfo |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
返回的回应信息列表 json 示例
| typedef void(* TIMMsgAllMessageReceiveOptionCallback) (const char *json_receive_message_option_info, const void *user_data) |
1.10 登录用户全局消息接收选项变更通知
| json_receive_message_option_info | 当前用户全局消息接收选项,请参考 TIMReceiveMessageOptInfo |
| user_data | ImSDK负责透传的用户自定义数据,未做任何处理 |
| typedef void(* TIMMsgGroupPinnedMessageChangedCallback) (const char *group_id, const char *json_msg, bool is_pinned, const char *op_user, const void *user_data) |
1.11 群置顶消息更新的回调
| group_id | 群组 ID |
| json_msg | 变更的置顶消息 |
| is_pinned | 变更类型 |
| op_user | 操作人信息 |
| TIM_API void TIMAddRecvNewMsgCallback | ( | TIMRecvNewMsgCallback | cb, |
| const void * | user_data | ||
| ) |
2.1 添加接收新消息回调
| cb | 新消息回调函数,请参考 TIMRecvNewMsgCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMRemoveRecvNewMsgCallback | ( | TIMRecvNewMsgCallback | cb | ) |
2.2 删除接收新消息回调
| cb | 新消息回调函数,请参考 TIMRecvNewMsgCallback |
| TIM_API void TIMSetMsgElemUploadProgressCallback | ( | TIMMsgElemUploadProgressCallback | cb, |
| const void * | user_data | ||
| ) |
2.3 设置消息内元素相关文件上传进度回调
| cb | 文件上传进度回调,请参考 TIMMsgElemUploadProgressCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMSetMsgReadedReceiptCallback | ( | TIMMsgReadedReceiptCallback | cb, |
| const void * | user_data | ||
| ) |
2.4 设置消息已读回执回调
| cb | 消息已读回执回调,请参考 TIMMsgReadedReceiptCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMSetMsgRevokeCallback | ( | TIMMsgRevokeCallback | cb, |
| const void * | user_data | ||
| ) |
2.5 设置接收的消息被撤回回调
| cb | 消息撤回通知回调,请参考 TIMMsgRevokeCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMSetMsgUpdateCallback | ( | TIMMsgUpdateCallback | cb, |
| const void * | user_data | ||
| ) |
2.6 设置消息更新的回调
| cb | 消息更新回调,请参考 TIMMsgUpdateCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMSetMsgExtensionsChangedCallback | ( | TIMMsgExtensionsChangedCallback | cb, |
| const void * | user_data | ||
| ) |
2.7 设置消息扩展信息更新的回调
| cb | 消息扩展信息更新回调,请参考 TIMMsgExtensionsChangedCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMSetMsgExtensionsDeletedCallback | ( | TIMMsgExtensionsDeletedCallback | cb, |
| const void * | user_data | ||
| ) |
2.8 设置消息扩展信息删除的回调
| cb | 消息扩展信息删除回调,请参考 TIMMsgExtensionsDeletedCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMSetMsgReactionsChangedCallback | ( | TIMMsgReactionsChangedCallback | cb, |
| const void * | user_data | ||
| ) |
2.9 设置消息回应信息更新的回调
| cb | 消息回应信息更新回调,请参考 TIMMsgReactionsChangedCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMSetMsgAllMessageReceiveOptionCallback | ( | TIMMsgAllMessageReceiveOptionCallback | cb, |
| const void * | user_data | ||
| ) |
2.10 设置全局消息接收选项的回调
| cb | 消息更新回调,请参考 TIMMsgAllMessageReceiveOptionCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API void TIMSetMsgGroupPinnedMessageChangedCallback | ( | TIMMsgGroupPinnedMessageChangedCallback | cb, |
| const void * | user_data | ||
| ) |
2.11 设置置顶消息变更的回调
| cb | 群组置顶消息变更回调,请参考 TIMMsgGroupPinnedMessageChangedCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API int TIMMsgSendMessage | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | json_msg_param, | ||
| char * | message_id_buffer, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
3.1 发送新消息
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| json_msg_param | 消息 json 字符串, Json Key 请参考 Message |
| message_id_buffer | 消息 ID ,分配内存大小不能低于 128 字节,如果不需要,可传入 nullptr,调用接口后,可以读取到以 '\0' 结尾的字符串 |
| cb | 发送新消息成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数 cb,不做任何处理 |
示例
| TIM_API int TIMMsgCancelSend | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | message_id, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
3.2 根据消息 messageID 取消发送中的消息
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| message_id | 消息 ID |
| cb | 取消结果的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgBatchSend | ( | const char * | json_batch_send_param, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
3.3 群发消息,该接口不支持向群组发送消息。
| json_batch_send_param | 群发消息 json 字符串, Json Key 请参考 Message |
| cb | 群发消息成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgDownloadElemToPath | ( | const char * | json_download_elem_param, |
| const char * | path, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
3.4 下载消息内元素到指定文件路径(图片、视频、音频、文件)
| json_download_elem_param | 下载的参数 Json 字符串, Json Key 请参考 DownloadElemParam |
| path | 下载文件保存路径 |
| cb | 下载成功与否的回调以及下载进度回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgDownloadMergerMessage | ( | const char * | json_single_msg, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
3.5 下载合并消息
| json_single_msg | 单条消息的 JSON 字符串,接收消息、查找消息或查询历史消息时获取到的消息, Json Key 请参考 Message |
| cb | 下载成功与否的回调以及下载进度回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgSetLocalCustomData | ( | const char * | json_msg_param, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
3.6 设置消息自定义数据(本地保存,不会发送到对端,程序卸载重装后失效)
| json_msg_param | 消息 json 字符串, Json Key 请参考 Message |
| cb | 保存自定义消息成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgSetC2CReceiveMessageOpt | ( | const char * | json_identifier_array, |
| enum TIMReceiveMessageOpt | opt, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
4.1 设置针对某个用户的 C2C 消息接收选项(支持批量设置)
| json_identifier_array | 用户 ID 列表 |
| opt | 消息接收选项,请参考 TIMReceiveMessageOpt |
| cb | 设置成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgGetC2CReceiveMessageOpt | ( | const char * | json_identifier_array, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
4.2 查询针对某个用户的 C2C 消息接收选项
| json_identifier_array | 用户 ID 列表 |
| cb | 查询结果的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
回调的 json_param 示例 (Json Key 请参考 GetC2CRecvMsgOptResult)
| TIM_API int TIMMsgSetGroupReceiveMessageOpt | ( | const char * | group_id, |
| enum TIMReceiveMessageOpt | opt, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
4.3 设置群消息的接收选项
| group_id | 群 ID |
| opt | 消息接收选项,请参考 TIMReceiveMessageOpt |
| cb | 设置成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgSetAllReceiveMessageOpt | ( | enum TIMReceiveMessageOpt | opt, |
| int32_t | start_hour, | ||
| int32_t | start_minute, | ||
| int32_t | start_second, | ||
| uint32_t | duration, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
4.4 设置登录用户全局消息接收选项,从 7.4 版本开始支持
| opt | 全局消息接收选项设置,请参考 TIMReceiveMessageOpt |
| start_hour | (0 - 23) 免打扰开始时间:小时,取值范围[0 - 23] |
| start_minute | (0 - 59) 免打扰开始时间:分钟,取值范围[0 - 59] |
| start_second | (0 - 59) 免打扰开始时间:秒,取值范围[0 - 59] |
| duration | 免打扰持续时长:单位:秒,取值范围 [0 - 24*60*60]. |
| cb | 设置成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgSetAllReceiveMessageOpt2 | ( | enum TIMReceiveMessageOpt | opt, |
| uint32_t | start_time_stamp, | ||
| uint32_t | duration, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
4.5 设置登录用户全局消息接收选项,从 7.4 版本开始支持
| opt | 全局消息接收选项设置,请参考 TIMReceiveMessageOpt |
| start_time_stamp | 免打扰开始时间,UTC 时间戳,单位:秒 |
| duration | 免打扰持续时长:单位:秒 |
| cb | 设置成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgGetAllReceiveMessageOpt | ( | TIMCommCallback | cb, |
| const void * | user_data | ||
| ) |
4.6 获取登录用户全局消息接收选项,从 7.4 版本开始支持
| cb | 查询结果的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
回调的 json_param 示例 (Json Key 请参考 TIMReceiveMessageOptInfo)
| TIM_API int TIMMsgGetMsgList | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | json_get_msg_param, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.1 获取指定会话的历史消息
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| json_get_msg_param | 消息获取参数,Json Key 定义请参考 MsgGetMsgListParam |
| cb | 获取指定会话的消息列表成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
拉取 kTIMConv_C2C 消息时,只能使用 kTIMMsgGetMsgListParamLastMsg 作为消息的拉取起点;如果没有指定 kTIMMsgGetMsgListParamLastMsg,默认使用会话的最新消息作为拉取起点 拉取 kTIMConv_Group 消息时,除了可以使用 kTIMMsgGetMsgListParamLastMsg 作为消息的拉取起点外,也可以使用 kTIMMsgGetMsgListParamLastMsgSeq 来指定消息的拉取起点,二者的区别在于:
在拉取 kTIMConv_Group 消息时
请注意以下特殊逻辑:
获取 C2C 会话 Windows-02 消息列表示例
| TIM_API int TIMMsgRevoke | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | json_msg_param, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.2 消息撤回
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| json_msg_param | 消息 json 字符串, Json Key 请参考 Message |
| cb | 消息撤回成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgModifyMessage | ( | const char * | json_msg_param, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.3 消息变更
| json_msg_param | 消息 json 字符串, Json Key 请参考 Message |
| cb | 修改消息内容成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgDelete | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | json_msgdel_param, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.4 删除指定会话的消息
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| json_msgdel_param | 删除消息的参数, Json Key 请参考 MsgDeleteParam |
| cb | 删除指定会话的消息成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgListDelete | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | json_msg_array, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.5 删除指定会话的本地及漫游消息列表
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| json_msg_array | 消息数组, 消息的 Json Key 请参考 Message |
| cb | 删除消息成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgClearHistoryMessage | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.6 清空指定会话的消息
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| cb | 清空成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgSaveMsg | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | json_msg_param, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.7 保存自定义消息
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| json_msg_param | 消息 json 字符串, 消息的 Json Key 请参考 Message |
| cb | 保存自定义消息成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API int TIMMsgImportMsgList | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | json_msg_array, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.8 导入消息列表到指定会话
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| json_msg_array | 消息数组, 消息的 Json Key 请参考 Message |
| cb | 导入消息列表到指定会话成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgFindMessages | ( | const char * | json_message_id_array, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.9 根据消息 messageID 查询本地的消息列表,包括状态 kTIMMsgStatus 为 kTIMMsg_Revoked(已撤回)和 kTIMMsg_Deleted(已删除))的消息
| json_message_id_array | 消息 ID 列表 |
| cb | 根据消息 messageID 查询本地的消息列表成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
| TIM_API int TIMMsgFindByMsgLocatorList | ( | const char * | conv_id, |
| enum TIMConvType | conv_type, | ||
| const char * | json_msg_Locator_array, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.10 根据消息定位精准查找指定会话的消息,包括状态 kTIMMsgStatus 为 kTIMMsg_Revoked(已撤回)和 kTIMMsg_Deleted(已删除)
| conv_id | 会话的ID |
| conv_type | 会话类型,请参考 TIMConvType |
| json_msg_Locator_array | 消息定位符数组, Json Key 请参考 MsgLocator |
| cb | 根据消息定位精准查找指定会话的消息成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例
| TIM_API int TIMMsgSearchLocalMessages | ( | const char * | json_search_message_param, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.11 搜索本地消息(5.4.666 及以上版本支持,需要您购买旗舰版套餐)
| json_search_message_param | 消息搜索参数, Json Key 请参考 MessageSearchParam |
| cb | 搜索成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
搜索本地消息示例
| TIM_API int TIMMsgSearchCloudMessages | ( | const char * | json_search_message_param, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.12 搜索云端消息(7.3 及以上版本支持,需要您购买旗舰版套餐)
| json_search_message_param | 消息搜索参数, Json Key 请参考 MessageSearchParam |
| cb | 搜索成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
搜索云端消息示例
| TIM_API int TIMMsgSendMessageReadReceipts | ( | const char * | json_msg_array, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.13 发送消息已读回执 (6.1 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg_array | 消息列表, 消息的 Json Key 请参考 Message |
| cb | 成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
发送消息已读回执示例
| TIM_API int TIMMsgGetMessageReadReceipts | ( | const char * | json_msg_array, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.14 获取消息已读回执(6.1 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg_array | 消息列表, 消息的 Json Key 请参考 Message |
| cb | 成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
获取消息已读回执示例
| TIM_API int TIMMsgGetGroupMessageReadMemberList | ( | const char * | json_msg, |
| enum TIMGroupMessageReadMembersFilter | filter, | ||
| uint64_t | next_seq, | ||
| uint32_t | count, | ||
| TIMMsgGroupMessageReadMemberListCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.15 获取群消息已读群成员列表(6.1 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg | 单条群消息, Json Key 请参考 Message |
| filter | 指定拉取已读或未读群成员列表。 |
| next_seq | 分页拉取的游标,第一次默认取传 0,后续分页拉取时,传上一次分页拉取成功回调里的 next_seq |
| count | 分页拉取的个数,最大支持 100 个。 |
| cb | 成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
发送群消息已读回执示例
| TIM_API int TIMMsgSetMessageExtensions | ( | const char * | json_msg, |
| const char * | json_extension_array, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.16 设置消息扩展 (6.7 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg | 消息 json 字符串, Json Key 请参考 Message。消息需满足三个条件:1、消息发送前需设置 kTIMMsgSupportMessageExtension 为 true,2、消息必须是发送成功的状态,3、消息不能是直播群(AVChatRoom)消息。 |
| json_extension_array | 消息扩展信息 json 字符串, Json Key 请参考 MessageExtension。如果扩展的 key 已经存在,则修改扩展的 value 信息,否则新增扩展 |
| cb | 成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
设置消息扩展示例
| TIM_API int TIMMsgGetMessageExtensions | ( | const char * | json_msg, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.17 获取消息扩展(6.7 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg | 消息 json 字符串, Json Key 请参考 Message |
| cb | 成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
获取消息扩展示例
| TIM_API int TIMMsgDeleteMessageExtensions | ( | const char * | json_msg, |
| const char * | json_extension_key_array, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.18 删除消息扩展(6.7 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg | 消息 json 字符串, Json Key 请参考 Message |
| json_extension_key_array | 扩展信息 key 列表,单次最大支持删除 20 个消息扩展,如果设置为空,表示删除消息所有扩展 |
| cb | 成功与否的回调。回调函数定义请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
删除消息扩展示例
| TIM_API int TIMMsgAddMessageReaction | ( | const char * | json_msg, |
| const char * | reaction_id, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.19 添加消息回应(可以用于实现表情回应,7.4 及其以上版本支持,需要您购买旗舰版套餐)
表情回应功能是指对某条消息通过表情符号进行互动回应,我们可以看到每种表情的回应人数和回应人列表。
目前常见的消息回应展示方式会有如下两种风格:
风格一:
-------------------------—
| lucy, happy birthday! |
-------------------------—
| 😄 1 💐 2 👍🏻 10 |
-------------------------—
风格二:
---------------------------------------------—
| lucy, happy birthday! |
---------------------------------------------—
| 😁 bob 💐olivia 🎂david |
| 👍🏻 denny、james、lucy、linda、thomas 等10人 |
---------------------------------------------—
当用户点击某个表情后,会跳转到表情回应详情界面:
| 😄 | 💐 | 👍🏻 |
| bob | olivia | lucy |
| ... | ... | denny |
| ... | ... | ... |
用户可以根据某个表情分页拉取使用该表情的用户信息。
您可以基于 SDK API 实现表情回应能力:
1、调用 TIMMsgAddMessageReaction 接口为一条消息添加一个 emoji,添加成功后,emoji 下就会存储当前操作用户。
2、调用 TIMMsgRemoveMessageReaction 接口删除已经添加的 emoji,删除成功后,emoji 下就不再存储当前操作用户。
3、调用 TIMMsgGetMessageReactions 接口批量拉取多条消息的 emoji 列表,其中每个 emoji 都包含了当前使用者总人数以及前 N(默认 10)个使用者用户资料。
4、调用 TIMMsgGetAllUserListOfMessageReaction 接口分页拉取消息 emoji 的全量使用者用户资料。
5、监听 TIMMsgReactionsChangedCallback 回调,感知 emoji 的使用者信息变更,该回调会携带 emoji 最新的使用者信息(包含使用者总人数以及前 N 个使用者用户资料)。
| json_msg | 消息 json 字符串, Json Key 请参考 Message |
| reaction_id | 消息回应 ID,在表情回应场景,reaction_id 为表情 ID,单条消息最大支持 10 个 Reaction,单个 Reaction 最大支持 100 个用户。 |
添加消息回应示例
| TIM_API int TIMMsgRemoveMessageReaction | ( | const char * | json_msg, |
| const char * | reaction_id, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.20 删除消息回应(7.4 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg | 消息 json 字符串, Json Key 请参考 Message |
| reaction_id | 消息回应 ID,在表情回复场景,reaction_id 为表情 ID。 |
删除消息回应示例
| TIM_API int TIMMsgGetMessageReactions | ( | const char * | json_msg_array, |
| uint32_t | max_user_count_per_reaction, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.21 批量拉取多条消息回应信息(7.4 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg_array | 消息列表, Json Key 请参考 Message。一次最大支持 20 条消息,消息必须属于同一个会话。 |
| max_user_count_per_reaction | 取值范围 [0,10],每个 Reaction 最多只返回前 10 个用户信息,如需更多用户信息,可以按需调用 TIMMsgGetMessageReactionUserList 接口分页拉取。 |
批量拉取消息回应列表示例
| TIM_API int TIMMsgGetAllUserListOfMessageReaction | ( | const char * | json_msg, |
| const char * | reaction_id, | ||
| uint32_t | next_seq, | ||
| uint32_t | count, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.22 分页拉取使用指定消息回应用户信息(7.4 及其以上版本支持,需要您购买旗舰版套餐)
| json_msg | 消息 json 字符串, Json Key 请参考 Message |
| reaction_id | 消息回应 ID,在表情回复场景,reaction_id 为表情 ID。 |
| next_seq | 分页拉取的游标,第一次传 0,后续分页传 succ 返回的 nextSeq。 |
| count | 一次分页最大拉取个数,最大支持 100 个。 |
拉取消息回应用户列表示例
| TIM_API int TIMMsgTranslateText | ( | const char * | json_source_text_array, |
| const char * | source_language, | ||
| const char * | target_language, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.23 翻译文本消息
| json_source_text_array | 待翻译文本数组。 |
| source_language | 源语言。可以设置为特定语言或 ”auto“。“auto“ 表示自动识别源语言。传空默认为 ”auto“。 |
| target_language | 目标语言。支持的目标语言有多种,例如:英语-“en“,简体中文-”zh“,法语-”fr“,德语-”de“等。详情请参考文档 文本翻译语言支持。 |
| cb | 翻译结果的回调。回调函数定义和参数解析请参考 TIMCommCallback。 |
示例
| TIM_API int TIMMsgConvertVoiceToText | ( | const char * | url, |
| const char * | language, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.24 识别语音消息,将语音转换成文字(7.4 及以上版本支持)
| url | 语音消息下载 url,可在消息对象中获取到。 |
| language | 识别的语言。 |
| cb | 识别结果的回调。回调函数定义和参数解析请参考 TIMCommCallback。 |
示例
| TIM_API int TIMPinGroupMessage | ( | const char * | group_id, |
| const char * | json_msg, | ||
| bool | is_pinned, | ||
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.25 设置群消息置顶(7.9 及以上版本支持,需要您购买旗舰版套餐)
| group_id | 群 ID |
| is_pinned | 是否置顶 |
| json_msg | 消息 json 字符串, Json Key 请参考 Message |
| cb | 根据消息 messageID 查询本地的消息列表成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
添加消息回应示例
| TIM_API int TIMGetPinnedGroupMessageList | ( | const char * | group_id, |
| TIMCommCallback | cb, | ||
| const void * | user_data | ||
| ) |
5.26 获取已置顶的群消息列表(7.9 及以上版本支持,需要您购买旗舰版套餐)
| group_id | 群 ID |
| cb | 根据消息 messageID 查询本地的消息列表成功与否的回调。回调函数定义和参数解析请参考 TIMCommCallback |
| user_data | 用户自定义数据,ImSDK只负责传回给回调函数cb,不做任何处理 |
示例