HMRStateListener

onStateCallback

typedef void(*HMRStateCallback)(void *context, bool isInitial, HMRState oldState, HMRState newState);

Hummer SDK 状态变更回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
isInitial请求HMRAddStateListener时会立即触发一次回调,该次回调的isInitial值为true,后续收到实际变更时,其值为false
oldState变更前状态,详见 HMRState
newState当前状态,详见 HMRState

onTokenInvalidCallback

typedef void(*HMRTokenInvalidCallback)(void *context, HMRTokenInvalidCode code, const char *desc, int descsize);

废弃

注意:

该方法已弃用,请改用 onPreviousTokenExpiredCallback

鉴权 Token 无效通知

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
code无效类型,详见 HMRTokenInvalidCode
desc无效原因
descsize无效原因字符串长度

onPreviousTokenExpiredCallback

typedef void(*HMRPreviousTokenExpired)(void *context);

鉴权 Token 无效通知

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context

HMRPeerListener

onP2PMessageReceived

void (*onP2PMessageReceived)(void* context, uint32_t userId, HMRBaseMessage* message);

通道广播消息通知。

当通道内收到广播消息时,会收到该通知回调,由 HMRSendP2PMessage 触发。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
userId发送消息的用户
message通用消息结构,详见 HMRBaseMessage

HMRHummerListener

onConnectionStateChanged

typedef void(*HMRConnectionStateChanged)(void *context, HMRConnectionState fromState, HMRConnectionState toState, const char* reason,int reasonsize);

SDK与服务器连接状态变更通知。

当因网络断开、Token过期等导致SDK和服务器的连接状态变化均会触发该回调,告知用户变更前状态、当前状态和状态变化原因。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
fromState旧的连接状态,详见 HMRConnectionState
toState新的连接状态,详见 HMRConnectionState
reason变更理由
reasonsize变更理由 (reason)的长度

onTokenWillExpire

typedef void(*HMRTokenWillExpire)(void *context);

Token 即将过期通知。

当Token还有约30s过期时,会触发该回调。收到该通知后,请调用 HMRRefreshToken1 刷新Token。

注意:

该方法请与最新的HMROpen配合使用。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context

onForceoutOffline

typedef void(*HMRForceoutOffline)(void* context,HMRCode code,const char* reason);

账号被踢的通知,当业务收到该通知后,当前账户已被踢下线,业务可自定义账号被踢后的处理逻辑,例如弹框提示、跳出主界面等。

注意:

该通知触发策略,根据服务后台互踢策略配置而决定。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
code错误码
reason被踢原因

HMRChatRoomListener

onBasicInfoChanged

void(*onBasicInfoChanged)(void *context, uint32_t chatroom, uint64_t operatorUser, const HMRKvArray *info);

废弃

注意:

该方法已弃用,请改用 onRoomInfoAddedOrUpdated

当聊天室基础信息发生变化时的回调

注意:

该方法通过调用 HMRChatRoomChangeBasicInfo 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
operatorUser修改聊天室信息的管理员
info变化的键值对,详见 HMRKvArray ,其中key值参见枚举详见 HMRChatRoomBasicInfoType

onRoomInfoAddedOrUpdated

void(*onRoomInfoAddedOrUpdated)(void *context, uint32_t chatroom, uint64_t operatorUser, const HMRKvArray *info);

聊天室属性变更的回调通知

废弃

注意:

该方法已弃用,请改用 onRoomExtraAttributesUpdated

注意:

该方法通过调用 HMRChatRoomChangeBasicInfo 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
operatorUser修改聊天室信息的管理员
info变化的键值对,详见 HMRKvArray,其中key值参见枚举详见:HMRChatRoomBasicInfoType

onRoomExtraAttributesSet

 void (*onRoomExtraAttributesSet)(void *context,uint32_t roomId, uint64_t userId,const HMRKvArray *attributes, uint64_t updateTimestamp);

房间扩展属性被设置通知。

该回调通知由 HMRSetRoomExtraAttributes 触发,房间内用户均会收到该回调通知。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
roomId聊天室的标识
userId修改聊天室信息的管理员
attributes变化的键值对,详见 HMRKvArray,其中key值参见枚举详见:HMRChatRoomBasicInfoType
updateTimestamp最后操作的时间戳

onRoomExtraAttributesUpdated

 void (*onRoomExtraAttributesUpdated)(void *context,uint32_t roomId, uint64_t userId,const HMRKvArray *attributes, uint64_t updateTimestamp);

房间扩展属性被更新通知。

该回调通知由 HMRUpdateRoomExtraAttributes 触发,房间内用户均会收到该回调通知。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
roomId聊天室的标识
userId修改聊天室信息的管理员
attributes变化的键值对,详见 HMRKvArray,其中key值参见枚举详见:HMRChatRoomBasicInfoType
updateTimestamp最后操作的时间戳

onRoomExtraAttributesDeleted

 void (*onRoomExtraAttributesDeleted)(void *context,uint32_t roomId, uint64_t userId,const HMRKvArray *attributes, uint64_t updateTimestamp);

房间扩展属性被删除通知。

该回调通知由 HMRDeleteRoomExtraAttributes 触发,房间内用户均会收到该回调通知。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
roomId聊天室的标识
userId修改聊天室信息的管理员
attributes变化的键值对,详见 HMRKvArray,其中key值参见枚举详见:HMRChatRoomBasicInfoType
updateTimestamp最后操作的时间戳

onRoomExtraAttributesCleared

 void (*onRoomExtraAttributesCleared)(void *context,uint32_t roomId, uint64_t userId,const HMRKvArray *attributes, uint64_t updateTimestamp);

房间扩展属性被删除通知。

该回调通知由 HMRClearRoomExtraAttributes 触发,房间内用户均会收到该回调通知。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
roomId聊天室的标识
userId修改聊天室信息的管理员
attributes变化的键值对,详见 HMRKvArray,其中key值参见枚举详见:HMRChatRoomBasicInfoType
updateTimestamp最后操作的时间戳,单位:毫秒

onRoomBasicAttributesUpdated

void (*onRoomBasicAttributesUpdated)(void* context, uint32_t roomId, uint64_t userId,const HMRKvArray* attributes, uint64_t updateTimestamp);

房间基础属性设置通知。

该回调通知由 HMRUpdateRoomBasicAttributes 触发,房间内用户均会收到该回调通知。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
roomId聊天室的标识
userId修改聊天室信息的管理员
attributes变化的键值对,详见 HMRKvArray,其中key值参见枚举详见:HMRChatRoomBasicInfoType
updateTimestamp最后操作的时间戳,单位:毫秒

HMRChatRoomMemberListener

onMemberJoined

void(*onMemberJoined)(void *context, uint32_t chatroom, const uint64_t *users, uint16_t usersize);

当有成员进入聊天室时的回调。

注意:

该方法通过调用 HMRJoinChatRoom 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
users进入聊天室的成员
usersize成员数量

onMemberLeaved

void(*onMemberLeaved)(void *context, uint32_t chatroom, const uint64_t *users, uint16_t usersize);

当有成员离开聊天室时的回调。

注意:

  • 该方法通过调用 HMRLeaveChatRoom 发生回调。
  • 对于断线超时的用户,会触发离开聊天室的动作,并收到该成员离开聊天室的回调
参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
users离开聊天室的成员
usersize成员数量

onMemberCountChanged

void(*onMemberCountChanged)(void *context, uint32_t chatroom, uint32_t count);

当聊天室成员数量发生变化时的回调。

注意:

该方法通过调用 HMRJoinChatRoom 以及 HMRLeaveChatRoom 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
count变化后的数量

onMemberKicked

void(*onMemberKicked)(void *context, uint32_t chatroom, uint64_t admin, const uint64_t *member, uint16_t membersize, const char *reason);

当聊天室成员被踢出聊天室时的回调。

废弃

注意:

该方法已弃用,请改用 onUserKicked

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
admin执行踢出操作的管理员
member被踢出聊天室的成员
membersize成员数量
reason被踢出聊天室的原因

onUserInfoSet

void(*onUserInfoSet)(void *context, uint32_t chatroom, uint64_t user, const HMRKvArray *infos);

当聊天室成员信息被设置时的回调。

注意:

该方法通过调用 HMRChatRoomSetUserInfo 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
user信息变更的成员
infos设置后的用户信息,详见 HMRKvArray

onMemberOffline

void(*onMemberOffline)(void *context, uint32_t chatroom, const uint64_t *users, uint16_t usersize);

断网超时离线回调。

注意:

该方法会在断网超时离线发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
user信息变更的成员
uint16_t离线用户数

onUserInfoAddedOrUpdated

void(*onUserInfoAddedOrUpdated)(void *context, uint32_t chatroom, const uint64_t *users, const HMRKvArray *infos);

用户属性变更的回调通知。

注意:

该方法通过调用 HMRChatRoomAddOrUpdateUserInfo 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
user信息变更的成员
infos设置后的用户信息,详见 HMRKvArray

onUserInfoDeleted

void(*onUserInfoAddedOrUpdated)(void *context, uint32_t chatroom, const uint64_t *users, const HMRKvArray *infos);

成员属性删除通知。

注意:

该方法通过调用 HMRChatRoomDeleteUserInfo 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
user信息变更的成员
infos设置后的用户信息,详见 HMRKvArray

onUserInfoDeleted

void(*onUserInfoAddedOrUpdated)(void *context, uint32_t chatroom, const uint64_t *users, const HMRKvArray *infos);

成员属性删除通知。

该方法通过调用 HMRChatRoomDeleteUserInfo 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
user信息变更的成员
infos设置后的用户信息,详见 HMRKvArray

onUserKicked

void (*onUserKicked)(void* context, uint32_t chatRoom, uint64_t  operdatorId,HMRKickOutType type, const HMRKvArray *infos);

用户被踢出聊天室的通知。

该方法通过调用 HMRKickUser 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
chatroom聊天室的标识
operdatorId执行踢出操作的管理员
type被踢类型,详见 HMRKickOutType
infos设置后的用户信息,详见 HMRKvArray

onUserRoleSet

void (*onUserRoleSet)(void* context,uint32_t roomId,const char* role,uint32_t size,uint64_t userId,uint64_t operatorId);

设置用户角色通知。

该方法通过调用 HMRSetUserRole 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
roomId聊天室的标识
role设置的角色
size字符长度
userId被赋予角色的用户
operatorId操作者

onUserRoleDeleted

void (*onUserRoleDeleted)(void* context,uint32_t roomId,const char* role,uint32_t size,uint64_t userId,uint64_t operatorId);

删除用户角色通知。

该方法通过调用 HMRDeleteUserRole 发生回调。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
roomId聊天室的标识
role设置的角色
size字符长度
userId被赋予角色的用户
operatorId操作者

MessageService

beforeSending

typedef void (*HMRMessageCallback)(void *context, HMRMessage *message);

消息发送前回调

该回调发生于用户调用 HMRSendMessasge 方法进行消息发送前。

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
message待发送消息,详见 HMRMessage

afterSending

typedef void (*HMRMessageCallback)(void *context, HMRMessage *message);

消息发送后回调

该回调发生于用户调用 HMRSendMessasge 方法进行消息发送完成(无论成功或失败)后

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
message发送的消息,详见 HMRMessage

onReceive

typedef void (*HMRMessageCallback)(void *context, HMRMessage *message);

收到消息回调

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
message收到的消息,详见 HMRMessage

HMRChannelListener

onP2CMessageReceived

void (*onP2CMessageReceived)(void* context, HMRChannelId channelId, uint64_t peerId, HMRBaseMessage* message);

收到通道消息通知

参数
参数描述
context请求上下文对象,透传自回调执行时,从listener取出的context
channelId通道ID
peerId发送消息的用户
message通用消息结构,详见 HMRBaseMessage

文档是否有解决您的问题?

有帮助 没帮助
提交成功,非常感谢您的反馈!

反馈

TOP