- (void)didUpdateStateFrom:(HMRHummerState)oldState toState:(HMRHummerState)newState;
Hummer SDK 状态变更回调
参数 | 描述 |
---|---|
oldState | 变更前状态,详见 HMRHummerState |
newState | 当前状态,详见 HMRHummerState |
- (void)didHummerTokenInvalid:(HMRTokenInvalidCode)code withDescription:(NSString *)desc;
废弃
注意事项
该方法已弃用,请改用 didHummerPreviousTokenExpired。
鉴权 Token 无效通知
参数 | 描述 |
---|---|
code | 无效类型,详见 HMRTokenInvalidCode |
desc | 无效原因 |
- (void)didHummerPreviousTokenExpired;
Token 过期时候的通知,仅在断线重连时触发,收到该通知后,请调用 refreshToken1 接口更新Token
- (void)didChangeChannelStateFrom:(HMRChannelState)fromState
toState:(HMRChannelState)toState;
SDK 连接状态变更通知
注意事项 该方法已弃用,请改用 didConnectionStateChanged。
参数 | 描述 |
---|---|
fromState | 变更前状态,详见 HMRChannelState |
toState | 当前状态,详见 HMRChannelState |
- (void)didConnectionStateChanged:(HMRConnectionState)fromState toState:(HMRConnectionState)toState withReason:(NSString *)reason;
SDK与服务器连接状态变更通知。
当因网络断开、Token过期等导致SDK和服务器的连接状态变化均会触发该回调,告知用户变更前状态、当前状态和状态变化原因。
参数 | 描述 |
---|---|
fromState | 变更前状态,详见 HMRConnectionState |
toState | 当前状态,详见 HMRConnectionState |
reason | 变化的原因 |
- (void)didHummerTokenWillExpire;
Token 即将过期的通知。
当Token还有30s过期时,会触发该回调。收到该通知后,请调用 refreshToken1 刷新Token。
- (void)didForceoutOffline:(NSInteger)code withReason:(NSString *)reason;
账号被踢的通知,当业务收到该通知后,当前账户已被踢下线,业务可自定义账号被踢后的处理逻辑,例如弹框提示、跳出主界面等。
注意事项
该通知触发策略,根据服务后台互踢策略配置而决定。
参数 | 描述 |
---|---|
code | 被踢错误码,详见 HMRErrorCode |
reason | 被踢原因 |
- (void)didP2PTextMessageReceived:(HMRTextMessage *)message fromUser:(HMRUser *)user;
点对点消息回调。
当收到点对点(P2P)消息时,会收到该通知回调,由 sendP2PMessage 触发。
参数 | 描述 |
---|---|
message | 接收到的消息,详见 HMRTextMessage |
user | 该消息的发送者,详见 HMRUser |
- (void)chatRoom:(HMRChatRoom *)chatRoom didDismissByOperator:(HMRUser *)operatorUser;
当聊天室被解散时发生的回调通知,成员会自动离开聊天室
注意事项
该方法通过调用 dismissChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
operatorUser | 解散聊天室的管理员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didChangeBasicInfo:(NSDictionary<NSNumber *, NSString *> *)propInfo byOperator:(HMRUser *)operatorUser;
当聊天室基础信息发生变化时的回调
注意事项
该方法通过调用 changeBasicInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
propInfo | 变化的键值对,其中key值参见枚举详见:HMRChatRoomBasicInfoType |
operatorUser | 修改聊天室信息的管理员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didRoomBasicAttributesUpdated:(NSDictionary<NSString *, NSString *> *)attributes
byOperator:(HMRUser *)operatorUser
atTime:(NSTimeInterval)latestUpdateTs;
当更新聊天室基础信息时的回调,通过调用 updateRoomBasicAttributes 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
attributes | 变化的键值对,其中key值参见枚举详见:kHMRChatRoomBasicInfoTypeName kHMRChatRoomBasicInfoTypeDescription kHMRChatRoomBasicInfoTypeBulletin |
operatorUser | 修改聊天室信息的管理员 |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didRoomInfoAddedOrUpdated:(NSDictionary<NSString *, NSString *> *)propInfo
byOperator:(HMRUser *)operatorUser;
当聊天室信息新增或更新时发生的回调
说明
该通知从
v2.14.0
开始已废弃删除
注意:
该方法通过调用 addOrUpdateChatRoomInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
propInfo | 变化的键值对 |
operatorUser | 修改聊天室信息的管理员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didRoomExtraAttributesSet:(NSDictionary<NSString *, NSString *> *)attributes
byOperator:(HMRUser *)operatorUser
atTime:(NSTimeInterval)latestUpdateTs;
房间扩展属性被设置通知。
该回调通知由 setRoomExtraAttributes 触发,房间内用户均会收到该回调通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 HMRChatRoom |
attributes | 对应的属性值 |
operatorUser | 最后一次操作的用户,详见 HMRUser |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didRoomExtraAttributesUpdated:(NSDictionary<NSString *, NSString *> *)attributes
byOperator:(HMRUser *)operatorUser
atTime:(NSTimeInterval)latestUpdateTs;
房间扩展属性被更新通知。
该回调通知由 updateRoomExtraAttributes 触发,聊天室内用户均会收到该回调通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 HMRChatRoom |
attributes | 对应的属性值 |
operatorUser | 最后一次操作的用户,详见 HMRUser |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didRoomExtraAttributesDeleted:(NSDictionary<NSString *, NSString *> *)attributes
byOperator:(HMRUser *)operatorUser
atTime:(NSTimeInterval)latestUpdateTs;
房间扩展属性被删除通知。
该回调通知由 deleteRoomExtraAttributes 触发,聊天室内用户均会收到该回调通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 HMRChatRoom |
attributes | 对应的属性值 |
operatorUser | 最后一次操作的用户,详见 HMRUser |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didRoomExtraAttributesCleared:(NSDictionary<NSString *, NSString *> *)attributes
byOperator:(HMRUser *)operatorUser
atTime:(NSTimeInterval)latestUpdateTs;
房间扩展属性被清空通知。
该回调通知由 clearRoomExtraAttributes 触发,聊天室内用户均会收到该回调通知。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识,详见 HMRChatRoom |
attributes | 对应的属性值 |
operatorUser | 最后一次操作的用户,详见 HMRUser |
latestUpdateTs | 最后一次操作的时间戳,单位:毫秒 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didJoinMembers:(NSSet<HMRUser *> *)members;
当有成员进入聊天室时的回调
注意事项
该方法通过调用 joinChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 进入聊天室的成员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didLeaveMembers:(NSSet<HMRUser *> *)members
reason:(NSString *)reason
leavingType:(NSInteger)type;
当有成员离开聊天室时的回调
注意事项
- 该方法已弃用,请改用 或 didChatRoomMemberLeave:ofChatRoom:
- 该方法通过调用 leaveChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 离开聊天室的成员 |
reason | 离开聊天室的原因 |
type | 离开聊天室的操作类型: 0:LEAVING 1:DISCONNECTED |
- (void)didChatRoomMemberOffline:(HMRChatRoom *)chatRoom;
当前用户因为断网超时离开聊天室时的回调
注意事项
该方法仅在当前用户本地断网超时发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
- (void)didChatRoomMemberLeave:(NSSet<HMRUser *> *)members
ofChatRoom:(HMRChatRoom *)chatRoom;
当有成员离开聊天室时的回调
注意事项
该方法通过调用 leaveChatRoom 发生回调。
参数 | 描述 |
---|---|
members | 离开聊天室的成员 |
chatRoom | 聊天室的标识 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didChangeMemberCount:(NSUInteger)count;
当聊天室成员数量发生变化时的回调
注意事项
该方法通过调用 joinChatRoom 以及 leaveChatRoom 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
count | 变化后的数量 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didKickMembers:(NSSet<HMRUser *> *)members
byOperator:(HMRUser *)operatorUser
reason:(NSString *)reason;
当聊天室成员被踢出聊天室时的回调。
注意事项
- 该方法已弃用,请改用 chatRoom:didKickMembers:byOperator:reason:kickOffType: 。
- 该方法通过调用 kickMember 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 被踢出聊天室的成员 |
operatorUser | 执行踢出操作的管理员 |
reason | 被踢出聊天室的原因 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didKickMembers:(NSSet<HMRUser *> *)members
byOperator:(HMRUser *)operatorUser
reason:(NSString *)reason
kickOffType:(NSInteger)type;
当聊天室成员被踢出聊天室时的回调
说明
- 该通知从
v2.15.0
开始已废弃,被踢者接收通知请改用 didUserKicked
注意事项
该方法通过调用 kickMember 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 被踢出聊天室的成员 |
operatorUser | 执行踢出操作的管理员 |
reason | 被踢出聊天室的原因 |
type | 被踢出聊天室的类型:0: KICK_OFF 1: BAN_ID 2: BAN_IP 3: BAN_PC |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didUserKicked:(HMRChatRoomKickOutReason)reason
extraInfo:(NSDictionary<NSString *, NSString *> *)extraInfo
byOperator:(HMRUser *)operatorUser;
当聊天室成员被踢出聊天室时,被踢者收到的通知
注意事项
该方法通过调用 kickUser 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
reason | 被踢出聊天室的标准定义原因,枚举值详见 HMRChatRoomKickOutReason |
extraInfo | 执行踢人操作时的额外信息,包含自定义 reason,操作者可不填 |
operatorUser | 执行踢出操作的管理员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didAddRole:(NSString *)role
forMember:(HMRUser *)member
byOperator:(HMRUser *)operatorUser;
当聊天室成员被赋予角色时的回调,该方法通过调用 addRole 发生回调。
说明
- 该通知从
v2.15.0
开始已废弃,请使用 didUserRoleSet 代替
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
role | 被赋予的角色 |
member | 被赋予角色的成员 |
operatorUser | 赋予角色的管理员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didUserRoleSet:(NSString *)role
forUser:(HMRUser *)user
byOperator:(HMRUser *)operatorUser;
当聊天室成员被赋予角色时的回调,该方法通过调用 setUserRole 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
role | 被赋予的角色 |
user | 被赋予角色的用户 |
operatorUser | 赋予角色的管理员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didRemoveRole:(NSString *)role
forMember:(HMRUser *)member
byOperator:(HMRUser *)operatorUser;
当聊天室成员被移除角色时的回调,该方法通过调用 removeRole 发生回调。
说明
- 该通知从 v2.15.0 开始已废弃,请使用 deleteUserRole代替
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
role | 被移除的角色 |
member | 被移除角色的成员 |
operatorUser | 移除角色的管理员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didUserRoleDeleted:(NSString *)role
forUser:(HMRUser *)user
byOperator:(HMRUser *)operatorUser;
当聊天室成员被移除角色时的回调,该方法通过调用 deleteUserRole 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
role | 被移除的角色 |
user | 被移除角色的成员 |
operatorUser | 移除角色的管理员 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didMuteMembers:(NSSet<HMRUser *> *)members
byOperator:(HMRUser *)operatorUser
reason:(NSString *)reason;
当聊天室成员被禁言时的回调
注意事项
该方法通过调用 muteMember 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 被禁言的成员 |
operatorUser | 禁言的管理员 |
reason | 禁言原因 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didUnmuteMembers:(NSSet<HMRUser *> *)members
byOperator:(HMRUser *)operatorUser
reason:(NSString *)reason;
当聊天室成员被解除禁言时的回调
注意事项
该方法通过调用 unmuteMember 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
members | 被解除禁言的成员 |
operatorUser | 解除禁言的管理员 |
reason | 原因 |
- (void)chatRoom:(HMRChatRoom *)chatRoom
didUserInfoSet:(HMRUser *)user
infos:(NSDictionary<NSString *, NSString *> *)infos;
当聊天室成员信息被设置时的回调
注意事项
该方法通过调用 setUserInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
user | 信息变更的成员 |
infos | 设置后的用户信息 |
- (void) chatRoom:(HMRChatRoom *)chatRoom
didUserInfoDeleted:(HMRUser *)user
infos:(NSDictionary<NSString *, NSString *> *)infos;
当聊天室成员信息被删除时的回调
注意事项
该方法通过调用 deleteUserInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
user | 信息变更的成员 |
infos | 被删除的用户信息 |
- (void)chatRoom:(HMRChatRoom *)chatRoom didUserInfoAddedOrUpdated:(HMRUser *)user
infos:(NSDictionary<NSString *, NSString *> *)infos;
当添加或更新聊天室成员信息时的回调
注意事项
该方法通过调用 addOrUpdateUserInfo 发生回调。
参数 | 描述 |
---|---|
chatRoom | 聊天室的标识 |
user | 信息变更的成员 |
infos | 被删除的用户信息 |
- (void)didP2CTextMessageReceived:(HMRChannelId *)channelId
message:(HMRTextMessage *)message
fromUser:(HMRUser *)user;
通道广播消息通知。
当通道内收到广播消息时,会收到该通知回调,由 sendP2CMessage 触发。
参数 | 描述 |
---|---|
channelId | 消息通道ID,详见 HMRChannelId |
message | 消息对象,仅支持文本消息,详见 HMRTextMessage |
user | 该消息的发送者,详见 HMRUser |
- (void)willSendMessage:(HMRMessage *)message;
即将发送聊天消息前会收到该事件的回调通知
注意事项
- 它一般用于在发送消息前将其添加到会话渲染界面,或者是消息入库等
- 该方法通过调用 sendMessage 发生回调。
参数 | 描述 |
---|---|
message | 发送的消息 |
- (void)didSendMessage:(HMRMessage *)message;
发送完成聊天消息完成后会收到该事件的回调通知(无论发送消息成功或失败)
注意事项
该方法通过调用 sendMessage 发生回调。
参数 | 描述 |
---|---|
message | 发送的消息 |
- (void)willReceiveMessage:(HMRMessage *)message;
在消息接收、处理前,会执行该回调。
参数 | 描述 |
---|---|
message | 接收的消息 |
- (void)didReceiveMessage:(HMRMessage *)message;
当接收到新的消息时,会通过该方法进行回调。
参数 | 描述 |
---|---|
message | 接收的消息 |