tencent cloud

文档反馈

事件回调接口

最后更新时间:2023-08-24 15:28:49

    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 就会通过此回调通知您。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持