Public 成员函数 | |
---|---|
virtual | ~IChannelEventHandler () |
virtual void | onJoinSuccess () |
virtual void | onJoinFailure (JOIN_CHANNEL_ERR errorCode) |
virtual void | onLeave (LEAVE_CHANNEL_ERR errorCode) |
virtual void | onMessageReceived (const char *userId, const IMessage *message) |
virtual void | onSendMessageResult (long long messageId, CHANNEL_MESSAGE_ERR_CODE state) |
virtual void | onMemberJoined (IChannelMember *member) |
virtual void | onMemberLeft (IChannelMember *member) |
virtual void | onGetMembers (IChannelMember **members, int userCount, GET_MEMBERS_ERR errorCode) |
virtual void | onAttributesUpdated (const IRtmChannelAttribute *attributes[], int numberOfAttributes) |
virtual void | onMemberCountUpdated (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。 |