文档捉虫大赛:大数据专题> HOT

TIMAddRecvNewMsgCallback

增加接收新消息回调。
原型
TIM_DECL void TIMAddRecvNewMsgCallback(TIMRecvNewMsgCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMRecvNewMsgCallback
新消息回调函数,请参考 TIMRecvNewMsgCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
如果用户是登录状态,IM SDK 收到新消息会通过此接口设置的回调抛出,另外需要注意,抛出的消息不一定是未读的消息,只是本地曾经没有过的消息(例如在另外一个终端已读,拉取最近联系人消息时可以获取会话最后一条消息,如果本地没有,会通过此方法抛出)。在用户登录之后,IM SDK 会拉取离线消息,为了不漏掉消息通知,需要在登录之前注册新消息通知。

TIMRemoveRecvNewMsgCallback

删除接收新消息回调。
原型
TIM_DECL void TIMRemoveRecvNewMsgCallback(TIMRecvNewMsgCallback cb);
参数
参数
类型
含义
cb
TIMRecvNewMsgCallback
新消息回调函数,请参考 TIMRecvNewMsgCallback
说明
参数 cb 需要跟 TIMAddRecvNewMsgCallback 传入的 cb 一致,否则删除回调失败。

TIMSetMsgReadedReceiptCallback

设置消息已读回执回调。
原型
TIM_DECL void TIMSetMsgReadedReceiptCallback(TIMMsgReadedReceiptCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMMsgReadedReceiptCallback
消息已读回执回调,请参考 TIMMsgReadedReceiptCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
发送方发送消息,接收方调用接口 TIMMsgReportReaded 上报该消息已读,或者调用 TIMMsgSendMessageReadReceipts 发送群消息已读回执,发送方 IM SDK 会通过此接口设置的回调抛出。

TIMSetMsgRevokeCallback

设置接收的消息被撤回回调。
原型
TIM_DECL void TIMSetMsgRevokeCallback(TIMMsgRevokeCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMMsgRevokeCallback
消息撤回通知回调,请参考 TIMMsgRevokeCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
发送方发送消息,接收方收到消息。此时发送方调用接口 TIMMsgRevoke 撤回该消息,接收方的 IM SDK 会通过此接口设置的回调抛出。

TIMSetMsgExtensionsChangedCallback

设置消息扩展信息更新的回调。
原型
TIM_DECL void TIMSetMsgExtensionsChangedCallback(TIMMsgExtensionsChangedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMMsgExtensionsChangedCallback
设置消息扩展信息更新的回调,请参考 TIMMsgExtensionsChangedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理

TIMSetMsgExtensionsDeletedCallback

设置消息扩展信息删除的回调
原型
TIM_DECL void TIMSetMsgExtensionsDeletedCallback(TIMMsgExtensionsDeletedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMMsgExtensionsDeletedCallback
设置消息扩展信息删除的回调,请参考 TIMMsgExtensionsDeletedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理

TIMSetMsgReactionsChangedCallback

设置消息回应信息更新的回调
原型
TIM_DECL void TIMSetMsgReactionsChangedCallback(TIMMsgReactionsChangedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMMsgReactionsChangedCallback
消息回应信息更新的回调,请参考 TIMMsgReactionsChangedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理

TIMSetMsgElemUploadProgressCallback

设置消息内元素相关文件上传进度回调。
原型
TIM_DECL void TIMSetMsgElemUploadProgressCallback(TIMMsgElemUploadProgressCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMMsgElemUploadProgressCallback
文件上传进度回调,请参考 TIMMsgElemUploadProgressCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
设置消息元素上传进度回调。当消息内包含图片、声音、文件、视频元素时,IM SDK 会上传这些文件,并触发此接口设置的回调,用户可以根据回调感知上传的进度。

TIMSetGroupAttributeChangedCallback

设置群组属性变更回调。
原型
TIM_DECL void TIMSetGroupAttributeChangedCallback(TIMGroupAttributeChangedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMGroupAttributeChangedCallback
设置群组属性变更回调,请参考 TIMGroupAttributeChangedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
某个已加入的群的属性被修改了,会返回所在群组的所有属性(该群所有的成员都能收到)。

TIMSetGroupCounterChangedCallback

设置群计数器变更回调。
原型
TIM_DECL void TIMSetGroupCounterChangedCallback(TIMGroupCounterChangedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMGroupCounterChangedCallback
设置群计数器变更回调,请参考 TIMGroupCounterChangedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
某个已加入的群的计数器被修改了,会返回当前变更的群计数器(该群所有的成员都能收到)。

TIMSetGroupTipsEventCallback

设置群组系统消息回调。
原型
TIM_DECL void TIMSetGroupTipsEventCallback(TIMGroupTipsEventCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMGroupTipsEventCallback
群消息回调,请参考 TIMGroupTipsEventCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
群组系统消息事件包括加入群、退出群、踢出群、设置管理员、取消管理员、群资料变更、群成员资料变更。此消息是针对所有群组成员下发的。

TIMSetConvEventCallback

设置会话事件回调。
原型
TIM_DECL void TIMSetConvEventCallback(TIMConvEventCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMConvEventCallback
会话事件回调,请参考 TIMConvEventCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
会话事件包括:
会话新增。
会话删除。
会话更新。
任何产生一个新会话的操作都会触发会话新增事件,例如调用接口 TIMConvCreate 创建会话,接收到未知会话的第一条消息等。任何已有会话变化的操作都会触发会话更新事件,例如收到会话新消息,消息撤回,已读上报等。调用接口 TIMConvDelete 删除会话成功时会触发会话删除事件。

TIMSetConvTotalUnreadMessageCountChangedCallback

设置全部会话未读消息总数变更的回调。
原型
TIM_DECL void TIMSetConvTotalUnreadMessageCountChangedCallback(TIMConvTotalUnreadMessageCountChangedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMConvTotalUnreadMessageCountChangedCallback
会话未读消息总数变更的回调,请参考TIMConvTotalUnreadMessageCountChangedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
当您调用 TIMConvGetTotalUnreadMessageCount 获取全部会话未读总数以后,任意会话的未读数发生变化时,SDK 都会通过该回调把最新的未读总数通知给您。
未读总数会减去设置为免打扰的会话的未读数,即消息接收选项设置为 kTIMRecvMsgOpt_Not_Receive 或 kTIMRecvMsgOpt_Not_Notify 的会话。

TIMSetConvUnreadMessageCountChangedByFilterCallback

设置按会话 filter 过滤的未读消息总数变更的回调。
原型
TIM_DECL void TIMSetConvUnreadMessageCountChangedByFilterCallback(TIMConvTotalUnreadMessageCountChangedByFilterCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMConvTotalUnreadMessageCountChangedByFilterCallback
按会话 filter 过滤的未读消息总数变更的回调,请参考TIMConvTotalUnreadMessageCountChangedByFilterCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
您可以调用 subscribeUnreadMessageCountByFilter 注册监听指定 filter 下的未读总数变化,SDK 通过这个回调把最新的未读总数通知给您。
您可以注册监听多个不同 filter 下的未读总数变更,这个回调的 filter 参数就是注册监听时指定的 filter,该 filter 携带了 kTIMConversationListFilterConvType、kTIMConversationListFilterMarkType、kTIMConversationListFilterGroupName 三个字段,通过判断这三字段是不是都相同,来区分出不同的 filter。
未读总数会减去设置为免打扰的会话的未读数,即消息接收选项设置为 kTIMRecvMsgOpt_Not_Receive 或 kTIMRecvMsgOpt_Not_Notify 的会话。

TIMSetNetworkStatusListenerCallback

设置网络连接状态监听回调。
原型
TIM_DECL void TIMSetNetworkStatusListenerCallback(TIMNetworkStatusListenerCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMNetworkStatusListenerCallback
连接事件回调,请参考 TIMNetworkStatusListenerCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
当调用接口 TIMInit 时,IM SDK 会去连接云后台。此接口设置的回调用于监听网络连接的状态。
网络连接状态包含四个:正在连接、连接失败、连接成功、已连接。这里的网络事件不表示用户本地网络状态,仅指明 IM SDK 是否与即时通信 IM 云 Server 连接状态。
可选设置,如果要用户感知是否已经连接服务器,需要设置此回调,用于通知调用者跟通讯后台链接的连接和断开事件,另外,如果断开网络,等网络恢复后会自动重连,自动拉取消息通知用户,用户无需关心网络状态,仅作通知之用。
只要用户处于登录状态,IM SDK 内部会进行断网重连,用户无需关心。

TIMSetKickedOfflineCallback

设置被踢下线通知回调。
原型
TIM_DECL void TIMSetKickedOfflineCallback(TIMKickedOfflineCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMKickedOfflineCallback
踢下线回调,请参考 TIMKickedOfflineCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
用户如果在其他终端登录,会被踢下线,这时会收到用户被踢下线的通知,出现这种情况常规的做法是提示用户进行操作(退出,或者再次把对方踢下线)。
用户如果在离线状态下被踢,下次登录将会失败,可以给用户一个非常强的提醒(登录错误码 ERR_IMSDK_KICKED_BY_OTHERS:6208),开发者也可以选择忽略这次错误,再次登录即可。
用户在线情况下的互踢情况:用户在设备1登录,保持在线状态下,该用户又在设备2登录,这时用户会在设备1上强制下线,收到TIMKickedOfflineCallback回调。用户在设备1上收到回调后,提示用户,可继续调用 login 上线,强制设备2下线。这里是在线情况下互踢过程。
用户离线状态互踢:用户在设备1登录,没有进行 logout 情况下进程退出。该用户在设备2登录,此时由于用户不在线,无法感知此事件,为了提醒用户,避免无感知的互踢,用户在设备1重新登录时,会返回(ERR_IMSDK_KICKED_BY_OTHERS:6208)错误码,表明之前被踢,是否需要把对方踢下线。如果需要,则再次调用 login 强制上线,设备2的登录的实例将会收到TIMKickedOfflineCallback回调。

TIMSetUserSigExpiredCallback

设置票据过期回调。
原型
TIM_DECL void TIMSetUserSigExpiredCallback(TIMUserSigExpiredCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMUserSigExpiredCallback
票据过期回调,请参考 TIMUserSigExpiredCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
用户票据可能会存在过期的情况,如果用户票据过期,此接口设置的回调会调用。TIMLogin 也将会返回70001错误码。开发者可根据错误码或者票据过期回调进行票据更换。

TIMSetOnAddFriendCallback

设置添加好友的回调。
原型
TIM_DECL void TIMSetOnAddFriendCallback(TIMOnAddFriendCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMOnAddFriendCallback
添加好友回调,请参考 TIMOnAddFriendCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
此回调为了多终端同步。例如 A 设备、B 设备都登录了同一账号的 IM SDK,A 设备添加了好友,B 设备 IM SDK 会收到添加好友的推送,IM SDK 通过此回调告知开发者。

TIMSetOnDeleteFriendCallback

设置删除好友的回调。
原型
TIM_DECL void TIMSetOnDeleteFriendCallback(TIMOnDeleteFriendCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMOnDeleteFriendCallback
删除好友回调,请参考 TIMOnDeleteFriendCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
此回调为了多终端同步。例如 A 设备、B 设备都登录了同一账号的 IM SDK,A 设备删除了好友,B 设备 IM SDK 会收到删除好友的推送,IM SDK 通过此回调告知开发者。

TIMSetUpdateFriendProfileCallback

设置更新好友资料的回调。
原型
TIM_DECL void TIMSetUpdateFriendProfileCallback(TIMUpdateFriendProfileCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMUpdateFriendProfileCallback
更新好友资料回调,请参考 TIMUpdateFriendProfileCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
此回调为了多终端同步。例如 A 设备、B 设备都登录了同一账号的 IM SDK,A 设备更新了好友资料,B 设备 IM SDK 会收到更新好友资料的推送,IM SDK 通过此回调告知开发者。

TIMSetFriendAddRequestCallback

设置好友添加请求的回调。
原型
TIM_DECL void TIMSetFriendAddRequestCallback(TIMFriendAddRequestCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMFriendAddRequestCallback
好友添加请求回调,请参考 TIMFriendAddRequestCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
当前登入用户设置添加好友需要确认时,如果有用户请求加当前登入用户为好友,会收到好友添加请求的回调,IM SDK 通过此回调告知开发者。如果多终端登入同一账号,每个终端都会收到这个回调。

TIMSetFriendApplicationListDeletedCallback

设置好友申请被删除的回调。
原型
TIM_DECL void TIMSetFriendApplicationListDeletedCallback(TIMFriendApplicationListDeletedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMFriendApplicationListDeletedCallback
好友申请删除回调,请参考 TIMFriendApplicationListDeletedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
主动删除好友申请。
拒绝好友申请。
同意好友申请。
申请加别人好友被拒绝。

TIMSetFriendApplicationListReadCallback

设置好友申请已读的回调。
原型
TIM_DECL void TIMSetFriendApplicationListReadCallback(TIMFriendApplicationListReadCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMFriendApplicationListReadCallback
设置好友申请已读的回调,请参考 TIMFriendApplicationListReadCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
如果调用 setFriendApplicationRead 设置好友申请列表已读,会收到这个回调(主要用于多端同步)。

TIMSetFriendBlackListAddedCallback

设置黑名单新增的回调。
原型
TIM_DECL void TIMSetFriendBlackListAddedCallback(TIMFriendBlackListAddedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMFriendBlackListAddedCallback
设置黑名单新增的回调,请参考 TIMFriendBlackListAddedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理

TIMSetFriendBlackListDeletedCallback

设置黑名单删除的回调。
原型
TIM_DECL void TIMSetFriendBlackListDeletedCallback(TIMFriendBlackListDeletedCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMFriendBlackListDeletedCallback
设置黑名单删除的回调,请参考 TIMFriendBlackListDeletedCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理

TIMSetLogCallback

设置日志回调。
原型
TIM_DECL void TIMSetLogCallback(TIMLogCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMLogCallback
日志回调,请参考 TIMLogCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
设置日志监听的回调之后,IM SDK 内部的日志会回传到此接口设置的回调。开发者可以通过接口 TIMSetConfig 配置哪些日志级别的日志回传到回调函数。

TIMSetMsgUpdateCallback

设置消息在云端被修改后回传回来的消息更新通知回调。
原型
TIM_DECL void TIMSetMsgUpdateCallback(TIMMsgUpdateCallback cb, const void* user_data);
参数
参数
类型
含义
cb
TIMMsgUpdateCallback
消息更新回调,请参考 TIMMsgUpdateCallback
user_data
const void*
用户自定义数据,IM SDK 只负责传回给回调函数 cb,不做任何处理
说明
当您发送的消息在服务端被修改后,IM SDK 会通过该回调通知给您。
您可以在您自己的服务器上拦截所有即时通信 IM 消息 发单聊消息之前回调
设置成功之后,即时通信 IM 服务器会将您的用户发送的每条消息都同步地通知给您的业务服务器。
您的业务服务器可以对该条消息进行修改(例如过滤敏感词),如果您的服务器对消息进行了修改,IM SDK 就会通过此回调通知您。