void onUpdateHummerState(State fromState, State toState)
Hummer SDK 状态变更回调。
参数 | 描述 |
---|---|
fromState | 变更前状态,详见 State |
toState | 当前状态,详见 State |
void onHummerTokenInvalid(TokenInvalidCode code, String desc)
鉴权 Token 无效通知
注意: 该方法已弃用,请改用 onHummerPreviousTokenExpired。
参数 | 描述 |
---|---|
code | 无效类型,详见 TokenInvalidCode |
desc | 无效原因 |
void onHummerPreviousTokenExpired()
Token 过期回调,用于告知App当前使用的Token已失效,同时系统会主动断开SDK与服务器的连接。
该回调仅在断线重连时触发,并触发 onConnectionStateChanged(SDK连接状态变更事件通知),收到该通知后需调用 refreshToken1 更新Token。
void onConnectionStateChanged(ConnectionState fromState, ConnectionState toState, String reason);
SDK与服务器连接状态变更通知。
当因网络断开、Token过期等导致SDK和服务器的连接状态变化均会触发该回调,告知用户变更前状态、当前状态和状态变化原因。
参数 | 描述 |
---|---|
fromState | 变更前状态,详见 ConnectionState |
toState | 当前状态,详见 ConnectionState |
reason | 变化的原因 |
void onHummerTokenWillExpired()
Token 即将过期通知。
当Token还有约30s过期时,会触发该回调。收到该通知后,请调用 refreshToken1 刷新Token。
void onForceoutOffline(int code, String reason);
账号被踢的通知,当业务收到该通知后,当前账户已被踢下线,业务可自定义账号被踢后的处理逻辑,例如弹框提示、跳出主界面等。
注意:
该通知触发策略,根据服务后台互踢策略配置而决定。
参数 | 描述 |
---|---|
code | 被踢错误码,详见 Code |
reason | 被踢原因 |
void onP2PTextMessageReceived(User sender, TextMessage message);
点对点消息回调。
当收到点对点(P2P)消息时,会收到该通知回调,由 sendP2PMessage 触发。
参数 | 描述 |
---|---|
message | 接收到的文本消息,详见 TextMessage |
user | 该消息的发送者,详见 User |
void onHmrLogWithLevel(HMRLogLevel level, String msg);
日志输出回调。
参数 | 描述 | 含义 |
---|---|---|
level | HMRLogLevel | 日志级别 |
msg | String | 日志内容 |
void onUpdateChannelState(ChannelState fromState, ChannelState toState);
SDK 连接状态变更通知
注意: 该方法已弃用,请改用 onConnectionStateChanged。
参数 | 描述 |
---|---|
fromState | 变更前状态,详见 ChannelState |
toState | 当前状态 |
void onChatRoomDismissed(@NonNull ChatRoom chatRoom, @NonNull User member);
当聊天室被解散时发生的回调通知
注意:
该方法通过调用 dismissChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
member | 解散聊天室的管理员 |
void onBasicInfoChanged(@NonNull ChatRoom chatRoom,
@NonNull Map<ChatRoomInfo.BasicInfoType, String> propInfo);
当聊天室基础信息发生变化时的回调
注意:
该方法通过调用 changeBasicInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
propInfo | 变化的键值对,其中key值参见枚举详见:BasicInfoType |
void onRoomBasicAttributesUpdated(@NonNull ChatRoom chatRoom,
@NonNull Map<String, String> attributes,
@NonNull User operator,
long latestUpdateTs);
聊天室基础信息被更新回调,通过调用 updateRoomBasicAttributes 触发。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
attributes | 属性值 key值参见枚举为:Name、Description、Bulletin |
operator | 操作者 |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
void onRoomInfoAddedOrUpdated(@NonNull ChatRoom chatRoom,
@NonNull User operator,
@NonNull Map<String, String> propInfo);
当聊天室信息新增或更新时发生的回调。
说明
该通知从
v2.14.0
开始已废弃删除。
注意:
该方法通过调用 addOrUpdateChatRoomInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
operator | 修改聊天室信息的管理员 |
propInfo | 变化的键值对 |
void onRoomExtraAttributesSet(@NonNull ChatRoom chatRoom,
@NonNull Map<String, String> attributes,
@NonNull User operator,
long latestUpdateTs);
房间扩展属性被设置通知。
该回调通知由 setRoomExtraAttributes 触发,房间内用户均会收到该回调通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
attributes | 对应的属性值 |
operatorUser | 最后一次操作的用户,详见 User |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
void onRoomExtraAttributesUpdated(@NonNull ChatRoom chatRoom,
@NonNull Map<String, String> attributes,
@NonNull User operator,
long latestUpdateTs);
房间扩展属性被更新通知。
该回调通知由 updateRoomExtraAttributes 触发,房间内所有用户均会收到该回调通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
attributes | 对应的属性值 |
operatorUser | 最后一次操作的用户,详见 User |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
void onRoomExtraAttributesDeleted(@NonNull ChatRoom chatRoom,
@NonNull Map<String, String> attributes,
@NonNull User operator,
long latestUpdateTs);
房间扩展属性被删除通知。
该回调通知由 deleteRoomExtraAttributes 触发,房间内所有用户均会收到该回调通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
attributes | 对应的属性值 |
operatorUser | 最后一次操作的用户,详见 User |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
void onRoomExtraAttributesCleared(@NonNull ChatRoom chatRoom,
@NonNull Map<String, String> attributes,
@NonNull User operator,
long latestUpdateTs);
房间扩展属性被清空通知。
该回调通知由 clearRoomExtraAttributes 触发,房间内所有用户均会收到该回调通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
attributes | 对应的属性值 |
operatorUser | 最后一次操作的用户,详见 User |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
void onMemberJoined(@NonNull ChatRoom chatRoom, @NonNull List<User> members);
当有成员进入聊天室时的回调
注意:
该方法通过调用 joinChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 进入聊天室的成员 |
void onMemberLeaved(@NonNull ChatRoom chatRoom,
@NonNull List<User> members,
int type,
@NonNull String reason);
废弃
注意:
该方法已弃用,请改用 onChatRoomMemberOffline 或 onChatRoomMemberLeave
当有成员离开聊天室时的回调
注意:
该方法通过调用 leaveChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 离开聊天室的成员 |
type | 离开聊天室的操作类型 0:LEAVING,1:DISCONNECTED |
reason | 离开聊天室的原因 |
void onChatRoomMemberOffline(@NonNull ChatRoom chatRoom);
当前用户因为断网超时离开聊天室时的回调
注意:
该方法仅在当前用户本地断网超时发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
void onChatRoomMemberLeave(@NonNull ChatRoom chatRoom, @NonNull List<User> members);
当有成员离开聊天室时的回调
注意:
该方法通过调用 leaveChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 离开聊天室的成员 |
void onMemberCountChanged(@NonNull ChatRoom chatRoom, int count);
当聊天室成员数量发生变化时的回调
注意:
该方法通过调用 joinChatRoom 以及 leaveChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
count | 变化后的数量 |
void onMemberKicked(@NonNull ChatRoom chatRoom,
@NonNull User admin,
@NonNull List<User> members,
@NonNull String reason);
废弃
注意:
该方法已弃用,请改用新的 onMemberKicked 。
当聊天室成员被踢出聊天室时的回调
注意:
该方法通过调用 kick 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
admin | 执行踢出操作的管理员 |
members | 被踢出聊天室的成员 |
reason | 被踢出聊天室的原因 |
void onMemberKicked(@NonNull ChatRoom chatRoom,
@NonNull User admin,
@NonNull List<User> members,
@NonNull KickOff kickOff);
当聊天室成员被踢出聊天室时的回调
说明
- 该通知从
v2.15.0
开始已废弃,被踢者接收通知请改用 onUserKicked
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
admin | 执行踢出操作的管理员 |
members | 被踢出聊天室的成员 |
kickOff | 被踢出聊天室的原因,详见 KickOff |
void onUserKicked(@NonNull ChatRoom chatRoom,
@NonNull User operator,
@NonNull KickOutType type,
@NonNull Map<String, String> infos);
成员被踢出聊天室通知。
当调用 kickUser 将聊天室成员踢出聊天室时,被踢者会收到的通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
operator | 执行踢出操作的管理员,详见 User |
type | 被踢原因,详见 KickOutType |
infos | 执行踢人操作时的额外信息,包含自定义 reason,操作者可不填 |
void onRoleAdded(@NonNull ChatRoom chatRoom,
@NonNull String role,
@NonNull User admin,
@NonNull User fellow);
当聊天室成员被赋予角色时的回调。
说明
该通知从
v2.15.0
开始已废弃,请使用 onUserRoleSet 代替。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
role | 被赋予的角色 |
admin | 赋予角色的管理员,详见 User |
fellow | 被赋予角色的成员,详见 User |
void onUserRoleSet(@NonNull ChatRoom chatRoom,
@NonNull String role,
@NonNull User user,
@NonNull User operator);
当聊天室成员被赋予角色时的回调,该方法通过调用 setUserRole 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
role | 被赋予的角色 |
user | 被赋予角色的用户,详见 User |
operator | 赋予角色的管理员,详见 User |
void onRoleRemoved(@NonNull ChatRoom chatRoom,
@NonNull String role,
@NonNull User admin,
@NonNull User fellow);
当聊天室成员被移除角色时的回调。
说明
- 该通知从
v2.15.0
开始已废弃,请使用 onUserRoleDelete 代替。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
role | 被移除的角色 |
admin | 移除角色的管理员 |
fellow | 被移除角色的成员 |
void onUserRoleDeleted(@NonNull ChatRoom chatRoom,
@NonNull String role,
@NonNull User user,
@NonNull User operator);
当聊天室成员被移除角色时的回调,该方法通过调用 deleteUserRole 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
role | 被移除的角色 |
user | 被移除角色的成员,详见 User |
operator | 移除角色的管理员,详见 User |
void onMemberMuted(@NonNull ChatRoom chatRoom,
@NonNull User operator,
@NonNull Set<User> members,
@Nullable String reason);
当聊天室成员被禁言时的回调
注意:
该方法通过调用 muteMember 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 ChatRoom |
operator | 禁言的管理员 |
members | 被禁言的成员 |
reason | 禁言原因 |
void onMemberUnmuted(@NonNull ChatRoom chatRoom,
@NonNull User operator,
@NonNull Set<User> members,
@Nullable String reason);
当聊天室成员被解除禁言时的回调
注意:
该方法通过调用 unmuteMember 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
operator | 解除禁言的管理员,详见 User |
members | 被解除禁言的成员,详见 User |
reason | 原因 |
void onUserInfoSet(@NonNull ChatRoom chatRoom,
@NonNull User user,
@NonNull Map<String, String> infoMap);
当聊天室成员信息被设置时的回调
注意:
该方法通过调用 setUserInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
user | 信息变更的成员 |
infoMap | 设置后的用户信息 |
void onUserInfoDeleted(@NonNull ChatRoom chatRoom,
@NonNull User user,
@NonNull Map<String, String> infoMap);
当聊天室成员信息被删除时的回调
注意:
该方法通过调用 deleteUserInfoByKeys 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
user | 信息变更的成员 |
infoMap | 被删除的用户信息 |
void onUserInfoAddedOrUpdated(@NonNull ChatRoom chatRoom,
@NonNull User user,
@NonNull Map<String, String> infoMap);
当添加或更新聊天室成员信息时的回调
注意:
该方法通过调用 addOrUpdateUserInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
user | 信息变更的成员 |
infoMap | 添加或更新的信息 |
void onP2CTextMessageReceived(ChannelId channelId, User sender, TextMessage message);
广播消息通知。
当收到通道 (Channel)内广播消息时,会收到该通知回调,由 sendP2CMessage 触发。
参数 | 描述 |
---|---|
channelId | 目标消息通道ID对象,详见 ChannelId |
message | 接收到的文本消息,详见 TextMessage |
user | 该消息的发送者,详见 User |
参数
- 参数
message
类型详见 TextMessage
void beforeSendingMessage(@NonNull Message message);
该回调发生于用户调用 send 方法进行消息发送前
它一般用于在发送消息前将其添加到会话渲染界面,或者是消息入库等
参数 | 描述 |
---|---|
message | 发送的消息 |
void afterSendingMessage(@NonNull Message message);
该回调发生于用户调用 send 方法进行消息发送完成(无论成功或失败)后。
参数 | 描述 |
---|---|
message | 发送的消息 |
void beforeReceivingMessage(@NonNull Message message);
在消息接收、处理前,会执行该回调。
参数 | 描述 |
---|---|
message | 接收的消息 |
void afterReceivingMessage(@NonNull Message message);
当接收到新的消息时,会通过该方法进行回调。
参数 | 描述 |
---|---|
message | 接收的消息 |