IChannelEventHandler

最近更新时间:2022-09-20 05:17:40

Public 成员函数
virtual~IChannelEventHandler ()
virtual voidonJoinSuccess ()
virtual voidonJoinFailure (JOIN_CHANNEL_ERR errorCode)
virtual voidonLeave (LEAVE_CHANNEL_ERR errorCode)
virtual voidonMessageReceived (const char *userId, const IMessage *message)
virtual voidonSendMessageResult (long long messageId, CHANNEL_MESSAGE_ERR_CODE state)
virtual voidonMemberJoined (IChannelMember *member)
virtual voidonMemberLeft (IChannelMember *member)
virtual voidonGetMembers (IChannelMember **members, int userCount, GET_MEMBERS_ERR errorCode)
virtual voidonAttributesUpdated (const IRtmChannelAttribute *attributes[], int numberOfAttributes)
virtual voidonMemberCountUpdated (int memberCount)

构造及析构函数说明

~IChannelEventHandler

virtual ~IChannelEventHandler()

成员函数说明

onAttributesUpdated

virtual void onAttributesUpdated(const IRtmChannelAttribute* attributes[], int numberOfAttributes)

频道属性更新回调。报告所在频道的所有属性

参数

参数描述
attributes当前频道的所有属性。
numberOfAttributes频道属性的条数。

注意事项

只有当频道属性更新者将 enableNotificationToChannelMembers 设为 true 后,该回调才会被触发。请注意:该标志位为一次性标志位,仅对当前频道属性操作有效。

onGetMembers

virtual void onGetMembers(IChannelMember **members, int userCount, GET_MEMBERS_ERR errorCode)

报告 getMembers 方法的调用结果

getMembers 方法调用成功时,SDK 会返回 IChannelMember 频道成员列表。

参数

参数说明
members频道成员列表。详见 IChannelMember
userCount频道成员数量。
errorCode错误代码。详见 GET_MEMBERS_ERR

注意事项

该方法的调用频率上限为每 2 秒 5 次。

onJoinFailure

virtual void onJoinFailure(JOIN_CHANNEL_ERR errorCode)

加入频道失败回调。

SDK 会在用户 join 方法失败后触发此回调。错误码详见 JOIN_CHANNEL_ERR

onJoinSuccess

virtual void onJoinSuccess()

加入频道成功回调。

本地用户调用 join 方法成功加入频道后:

  • SDK 触发此回调;
  • 频道内所有远端用户收到 onMemberJoined 回调。

onLeave

virtual void onLeave(LEAVE_CHANNEL_ERR errorCode)

离开频道回调。

报告 leave 方法的调用结果。 错误码详见 LEAVE_CHANNEL_ERR

onMemberCountUpdated

virtual void onMemberCountUpdated(int memberCount)

频道成员人数更新回调。报告最新频道成员人数。

参数

参数说明
memberCount最新频道成员人数。

注意事项

SDK 会在频道成员人数更新时返回该回调:

  • 频道成员人数 ≤ 512 时,最高触发频率为每秒 1 次。
  • 频道成员人数超过 512 时,最高触发频率为每 3 秒 1 次。
  • 用户在成功加入频道时会收到该回调。你可以通过监听该回调获取加入频道时的频道成员人数和后继人数更新。

onMemberJoined

virtual void onMemberJoined(IChannelMember *member)

远端用户加入频道回调。

当有远端用户调用 join 方法加入频道并收到 onJoinSuccess 回调时,在相同频道的本地用户会收到此回调。

参数

参数说明
member加入频道的远端用户。详见 IChannelMember

注意事项

频道人数超过 512 人时后台会关闭上下线通知。

onMemberLeft

virtual void onMemberLeft(IChannelMember *member)

频道成员离开频道回调。

当有频道成员调用 leave 方法离开频道并收到 onLeave LEAVE_CHANNEL_ERR_OK 回调时,在相同频道的本地用户会

参数

参数说明
member离开频道的频道成员。详见 IChannelMember

注意事项

频道人数超过 512 人时后台会关闭上下线通知。

onMessageReceived

virtual void onMessageReceived(const char *userId, const IMessage *message)

收到频道消息回调。

当远端用户调用 sendMessage 方法成功发送频道消息后,在相同频道的本地用户会收到此回调。

参数

参数说明
userId消息发送者的用户 ID。
message接收到的频道消息内容。详见 IMessage

onSendMessageResult

virtual void onSendMessageResult(long long messageId, CHANNEL_MESSAGE_ERR_CODE state)

报告 sendMessage 方法的调用结果。

本地用户调用 sendMessage 方法成功发送频道消息后:

  • SDK 触发此回调;
  • 频道内所有远端用户收到 onMessageReceived 回调。

参数

参数说明
messageId频道消息的 ID。
state错误码。详见 CHANNEL_MESSAGE_ERR_CODE