即时通讯
当前页

Class

2026-06-25
ZIMZIMEventHandler

ZIM

详情

ZIM SDK 主类。

Declared in ZIM.h

方法

getVersion

static
getVersion
static std::string getVersion()
获取 SDK 版本号。
Declared in ZIM.h

获取 SDK 版本号。

  • 业务场景:1. SDK 在运行过程中,当开发者发现与预期情况不符时,可将问题与相关日志提交给 ZEGO 技术人员定位,ZEGO 技术人员可能需要 SDK 的版本的信息来辅助定位问题。
  1. 开发者也可以收集此信息作为 App 所使用的 SDK 的版本信息,以便统计线上各版本 App 对应的各版本 SDK。
  • 调用时机:在任意时刻均可调用。
  • 支持版本:1.1.0 及以上。

create

static
create
static ZIM * create(const ZIMAppConfig& appConfig)
初始化 ZIM SDK
Declared in ZIM.h

参数

名称类型描述
appConfigconst ZIMAppConfig&ZIMAppConfig

详情

创建 ZIM 实例,用于后续调用其他成员函数。

  • 调用时机:在调用其他成员函数之前,必须先调用此 API 创建出 ZIM 示例。
  • 影响范围:不调用此函数将导致其他成员函数无法调用。
  • 平台差异:Android 平台下在调用此函数时,除了传入 AppID 之外,还必须将 Application 类对象传入。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当前仅支持创建一个实例,重复调用将返回 [null]。
  • 注意事项:1、目前 [create] 函数最多只能创建一个实例,若多次调用,则只有第一次返回有效实例,其余都为 [null]。开发者应自行保存 ZIM 实例,并且在使用 ZIM 业务功能的过程中确保实例的生命周期处于可用状态;或者也可以在调用了 [create] 之后使用 [getInstance] 获取其单例对象调用其他成员函数。 2、若使用此函数创建实例,必须同时传入 AppID 与 AppSign(Web 平台除外)。

getInstance

static
getInstance
static ZIM * getInstance()
获取 ZIM 单例对象。
Declared in ZIM.h

获取 ZIM 单例对象,用于后续调用其他成员函数。

  • 调用时机:必须在调用 [create] 创建实例之后,才能调用此函数获取到单例对象,否则将返回 [null]。
  • 相关接口:[create]。
  • 支持版本:2.3.0 及以上。

setAdvancedConfig

static
setAdvancedConfig
static void setAdvancedConfig(const std::string& key, const std::string& value)
设置 ZIM 进阶配置。
Declared in ZIM.h

参数

名称类型描述
keyconst std::string&配置 Key
valueconst std::string&配置值

详情

如需自定义进阶配置,需调用此函数。

  • 调用时机:需在调用 [create] 之前设置才生效,在 [create] 之后设置将在下次 [create] 时生效。

setGeofencingConfig

static
setGeofencingConfig
static bool setGeofencingConfig(const std::vector<int>& areaList, ZIMGeofencingType type)
设置地理围栏相关配置。
Declared in ZIM.h

参数

名称类型描述
areaListconst std::vector<int>&地理围栏区域列表
typeZIMGeofencingType地理围栏类型
  • 业务场景:地理围栏指将即时通信数据传输限定在某一区域,用以满足地区数据隐私安全相关法规,即限定访问某一特定区域的通信服务。
  • 调用时机:[setGeofencingConfig] 接口需要在 [create] 接口之前调用。
  • 支持版本:2.12.0及以上。
  • 使用限制:如果需要使用地理围栏功能,请联系 ZEGO 技术支持。
  • 注意事项:如需更新地理围栏信息,请调用 [destroy] 接口销毁当前 ZIM 实例,再调用本接口。

setLogConfig

static
setLogConfig
static void setLogConfig(const ZIMLogConfig& config)
设置日志相关配置。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMLogConfig&自定义日志配置

详情

设置日志相关配置,包括日志路径与日志大小。由于 SDK 内部有默认的日志路径,因此除非开发者有强烈需要自定义日志路径的需求,否则一般情况下不建议客户自行设置。

  • 默认值
  • Android:/storage/Android/data/[packageName]/files/ZIMLogs
  • iOS:~/Library/Caches/ZIMLogs
  • macOS:(沙箱)~/Library/Containers/[Bundle ID]/Data/Library/Caches/ZIMLogs / ;(非沙箱)~/Library/Caches/ZIMLogs
  • Windows:C:/Users/[Your UserName]/AppData/[App Name]ZEGO.SDK/ZIMLogs
  • 调用时机:必须在 [create] 之前调用。
  • 生命周期:调用 [create] 之前设置,调用 [create] 时生效。若开发者在下一次 [create] 时没有再设置新的日志配置,则上一次配置依然生效。
  • 平台差异:不同平台的默认路径不一样,请参考默认值。
  • 相关参考:详细内容请参考 https://doc-zh.zego.im/faq/IM_sdkLog?product=IM&platform=all。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若开发者在 [create] 之后调用,SDK 则保存此配置,直至等到下一次 [create] 时生效。

setCacheConfig

static
setCacheConfig
static void setCacheConfig(const ZIMCacheConfig& config)
设置缓存相关配置。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMCacheConfig&自定义缓存配置

详情

设置 SDK 缓存文件路径。由于 SDK 内部有默认的路径,因此除非开发者有强烈需要自定义路径的需求,否则一般情况下不建议客户自行设置。

  • 默认值
  • Android:/storage/Android/data/[packageName]/files/ZIMCaches
  • iOS:~/Library/Caches/ZIMCaches
  • macOS:(沙箱)~/Library/Containers/[Bundle ID]/Data/Library/Caches/ZIMCaches / (非沙箱)~/Library/Caches/ZIMCaches。
  • Windows:C:/Users/[Your UserName]/AppData/[App Name]ZEGO.SDK/ZIMCaches。
  • 调用时机:必须在 [create] 之前调用。
  • 生命周期:调用 [create] 之前设置,调用 [create] 时生效。若开发者在下一次 [create] 时没有再设置新的缓存配置,则上一次配置依然生效。
  • 平台差异:不同平台的默认路径不一样,请参考默认值。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若开发者在 [create] 之后调用,SDK 则保存此配置,直至等到下一次 [create] 时生效。

setAndroidEnv

static
setAndroidEnv
static void setAndroidEnv(void * jvm, void * context)
设置 Android 环境。
Declared in ZIM.h

参数

名称类型描述
jvmvoid *
contextvoid *

详情

设置 Android 的 JVM 和 Context 环境,仅 C++ 平台 Android 端有效。

setPushID

static
setPushID
static void setPushID(const std::string& pushID)
设置推送 ID。
Declared in ZIM.h

参数

名称类型描述
pushIDconst std::string&

详情

设置推送 ID,仅 C++ 平台有效。

destroy

destroy
virtual void destroy() = 0
销毁 ZIM 实例。
Declared in ZIM.h

释放 ZIM 实例使用的资源,在不再需要使用 ZIM 的时候必须调用此函数释放占用的内存资源,否则可能将发生内存泄漏的情况。

  • 调用时机:在不需要再使用 ZIM 的时候调用,一般可以在对 ZIM 对象置空之前调用。
  • 支持版本:1.1.0 及以上版本。
  • 注意事项:在调用此函数之后,ZIM 内部功能将不可再使用,且所有回调通知都将不再触发。若需要继续使用 ZIM 功能,则请开发者重新调用 [create] 创建新的实例。

setEventHandler

setEventHandler
virtual void setEventHandler(std::shared_ptr<ZIMEventHandler> handler) = 0
设置事件通知回调,传 [null] 则清空已设置的回调。
Declared in ZIM.h

参数

名称类型描述
handlerstd::shared_ptr<ZIMEventHandler>事件通知回调对象

详情

设置事件通知回调,传 [null] 则清空已设置的回调。

  • 调用时机:必须在调用 [create] 创建实例之后,通过该实例来调用此函数。
  • 生命周期:在调用 [create] 之后设置此函数,能正常接收到 ZIM 相关的事件通知;在调用 [destroy] 之后,将不能再收到任何事件通知。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若开发者多次调用此函数将 覆盖 上一次调用此函数设置的回调。

uploadLog

uploadLog
virtual void uploadLog(const ZIMLogUploadedCallback& callback) = 0
上传日志,设置日志路径和创建实例后调用。
Declared in ZIM.h

参数

名称类型描述
callbackconst ZIMLogUploadedCallback&开发者可以通过设置该回调来接收日志上传的结果。

详情

默认情况下,SDK 会在 App 默认目录创建日志文件并打印,每个日志文件默认最大 5MB,三个日志文件循环覆盖写入。当调用此函数时 SDK 会自动将日志文件打包并上传到 ZEGO 服务器。

  • 业务场景:开发者可在 App 提供业务上的“反馈”渠道,当用户反馈的问题属于 ZEGO SDK 时,可调用此函数将 SDK 的本地日志信息上传,并联系 ZEGO 技术支持协助定位用户问题。
  • 调用时机:在 [create] 后。
  • 相关回调:开发者可以通过 callback 参数获取上传结果。
  • 支持版本:1.2.0 及以上。
  • 使用限制:10分钟内如果反复调用此接口,只有最后一次调用生效。
  • 注意事项:在调用本接口上传日志后,如果过快的调用 [destroy] 或 退出 App,则可能存在失败的情况。建议等待几秒,等收到上传成功回调后,再调用 [destroy] 或 退出 App。

login

login
virtual void login(const std::string& userID, const ZIMLoginConfig& config, const ZIMLoggedInCallback& callback) = 0
登录,在使用所有功能之前必须先登录。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&用于标识用户的信息,用户的唯一 ID。
configconst ZIMLoginConfig&用于特定登录行为的各项参数。
callbackconst ZIMLoggedInCallback&开发者可以通过设置该回调来接收登录的状态。

详情

登录 ZIM 服务。[login] 为 ZIM 功能最重要的一个步骤,在使用任何其他功能之前,都需要先进行登录。

  • 调用时机:必须在调用 [create] 创建实例之后,调用其他实例函数之前调用此函数。
  • 隐私保护声明:提醒用户尽量不要在 userID 参数里传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 相关回调:开发者除了能在 callback 参数中得到登录结果之外,在登录请求中和登录成功/失败后,还将收到 [onConnectionStateChanged] 回调,用于判断当前用户的登录状态。
  • 常见问题解答:与 ZEGO 的 RTC 登录有什么不同?RTC 的登录指的是登录到房间、ZIM 的登录为登录到账户。
  • 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617
  • 支持版本:2.13.0 及以上。
  • 注意事项:在使用 ZIM 的单聊、房间、收发消息等功能之前,必须先调用此函数进行登录,通过登录结果可向用户展示 UI。

logout

logout
virtual void logout() = 0
登出 ZIM 服务。
Declared in ZIM.h

登出 ZIM 服务。

  • 调用时机:必须在调用 [create] 创建实例之后,通过该实例来调用此函数。
  • 相关回调:开发者在登出后,将收到 [onConnectionStateChanged] 回调,此时登录状态为 [Disconnected]。
  • 支持版本:1.1.0 及以上。
  • 注意事项:在调用 [logout] 之后,将无法继续使用 ZIM 的单聊、房间、收发消息等功能。若开发者需要再次使用 ZIM 服务,必须先调用 [login] 再次登录。

renewToken

renewToken
virtual void renewToken(const std::string& token, const ZIMTokenRenewedCallback& callback) = 0
更新鉴权 Token。
Declared in ZIM.h

参数

名称类型描述
tokenconst std::string&由开发者业务服务器下发的 Token,用以保证安全性。生成规则详见 ZEGO 官网文档。
callbackconst ZIMTokenRenewedCallback&更新 Token 的结果的回调。

详情

更新鉴权 Token,使鉴权 Token 在过期之后能够及时更新,以继续正常使用 ZIM 的功能。

  • 调用时机:必须在调用 [create] 创建实例之后,通过该实例来调用此函数。
  • 业务场景:当 Token 过期时,需要及时更新,以继续使用 ZIM 功能。
  • 生命周期:该函数的生命周期依赖鉴权 Token 的有效期,由开发者业务方自行决定。
  • 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617
  • 支持版本:1.1.0 及以上。
  • 注意事项:开发者在收到 [onTokenWillExpire] 回调后,开发者需要及时向自己的鉴权服务器请求重新生成一个 Token。

callExperimentalAPI

callExperimentalAPI
virtual void callExperimentalAPI(const std::string& params, const ZIMExperimentalAPICalledCallback& callback) = 0
调用实验性 API。
Declared in ZIM.h

参数

名称类型描述
paramsconst std::string&传入的参数,格式为 JSON 字符串,具体可咨询 ZEGO 技术支持。
callbackconst ZIMExperimentalAPICalledCallback&调用实验性 API 的结果返回回调
  • ZEGO 通过此 API 提供 ZIM 业务中的部分技术预览或特别定制功能,需要获取功能的使用或详情其详情可咨询 ZEGO 技术支持。

updateUserName

updateUserName
virtual void updateUserName(const std::string& userName, const ZIMUserNameUpdatedCallback& callback) = 0
更新用户的用户名。
Declared in ZIM.h

参数

名称类型描述
userNameconst std::string&需要设置的用户名称支持最大 256 字节的字符串。
callbackconst ZIMUserNameUpdatedCallback&修改用户名的回调函数。

详情

在用户登录后,调用该接口可以更新用户自身的用户名。

  • 调用时机:用户登录后。
  • 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 相关回调:[ZIMUserNameUpdatedCallback]。
  • 相关接口:[updateUserExtendedData] 与 [queryUsersInfo]。
  • 支持版本:2.2.0 及以上。
  • 注意事项:该接口不支持修改房间内用户名。

updateUserAvatarUrl

updateUserAvatarUrl
virtual void updateUserAvatarUrl(const std::string& userAvatarUrl, const ZIMUserAvatarUrlUpdatedCallback& callback) = 0
更新用户的用户头像URL。
Declared in ZIM.h

参数

名称类型描述
userAvatarUrlconst std::string&准备修改为的用户头像 URL。
callbackconst ZIMUserAvatarUrlUpdatedCallback&更新用户头像结果的回调。

详情

在用户登录后,调用该接口可以设置或者更新用户自身的用户头像 URL。

  • 调用时机:用户登录后。
  • 相关回调:[ZIMUserAvatarUrlUpdatedCallback]。
  • 相关接口:[queryUsersInfo]。
  • 支持版本:2.3.0 及以上。
  • 注意事项:用户头像本身需要开发者自行存储,ZIM 只作为透传 URL 保存其用户信息。
  • 使用限制:无特殊字符限制,最大 500 字节。

updateUserExtendedData

updateUserExtendedData
virtual void updateUserExtendedData(const std::string& extendedData, const ZIMUserExtendedDataUpdatedCallback& callback) = 0
更新用户的用户扩展字段。
Declared in ZIM.h

参数

名称类型描述
extendedDataconst std::string&准备修改为的用户扩展字段。
callbackconst ZIMUserExtendedDataUpdatedCallback&修改用户扩展字段的回调函数。

详情

在用户登录后,调用该接口可以更新用户自身的用户扩展字段。

  • 调用时机:用户登录后。
  • 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 相关回调:[ZIMUserExtendedDataUpdatedCallback]。
  • 相关接口:[updateUserName] 与 [queryUsersInfo]。
  • 支持版本:2.2.0 及以上。

updateUserOfflinePushRule

updateUserOfflinePushRule
virtual void updateUserOfflinePushRule(const ZIMUserOfflinePushRule& offlinePushRule, const ZIMUserOfflinePushRuleUpdatedCallback& callback) = 0
修改离线推送的自定规则。
Declared in ZIM.h

参数

名称类型描述
offlinePushRuleconst ZIMUserOfflinePushRule&用户离线推送规则信息,每次调用接口将会使用入参对象的成员属性全量更新。
callbackconst ZIMUserOfflinePushRuleUpdatedCallback&修改离线推送自定规则的结果回调。

详情

通过该接口修改离线推送的自定规则,作用范围为当前用户。

  • 业务场景:比如多端登录场景下,开发者希望桌面端在线时,移动端不希望收到离线推送,这种场景可以通过调用该接口来实现此功能。
  • 调用时机:登录后且网络状态良好的情况下可以调用。
  • 影响范围:接口调用成功后,所有端将会收到 onUserRuleUpdate 通知用户规则发生了更新。
  • 相关回调:onUserRuleUpdate、ZIMUserOfflinePushRuleUpdatedCallback
  • 相关接口:querySelfUserInfo
  • 支持版本:2.15.0 以及以后版本。

updateUserCustomStatus

updateUserCustomStatus
virtual void updateUserCustomStatus(const std::string& customStatus, const ZIMUserCustomStatusUpdatedCallback& callback) = 0
用于更新用户自定义状态。
Declared in ZIM.h

参数

名称类型描述
customStatusconst std::string&用户自定义状态。
callbackconst ZIMUserCustomStatusUpdatedCallback&更新用户自定义状态的回调。

详情

根据您业务需要,自行设置定义状态,例如请勿打扰、忙碌等。

  • 业务场景:登录后、类似微信用户设置"干饭"、"闭关"等状态、或者类似 QQ 用户设置"请勿打扰"、"忙碌"等状态时,调用该接口来修改当前用户的自定义状态。
  • 调用时机:在线登录后并且存在连接网络时。
  • 相关回调:接口调用成功更新自定义状态后, 多端登录下的其他设备、通过 subscribeUsersStatus 订阅当前用户状态的用户,将会收到 onUserStatusUpdated 并更新当前用户的自定义状态。
  • 支持版本:2.20.0 以及以后版本。
  • 使用限制:1 次/秒。

updateUserCustomStatus

updateUserCustomStatus
virtual void updateUserCustomStatus(const std::string& customStatus, const ZIMUserCustomStatusUpdateConfig& config, const ZIMUserCustomStatusUpdatedCallback& callback) = 0
更新用户的自定义状态。
Declared in ZIM.h

参数

名称类型描述
customStatusconst std::string&用户自定义状态。
configconst ZIMUserCustomStatusUpdateConfig&用户自定义状态配置。
callbackconst ZIMUserCustomStatusUpdatedCallback&更新用户自定义状态的回调。
  • 业务场景:登录后、类似微信用户设置'干饭'、'闭关'等状态、或者类似 QQ 用户设置'请勿打扰'、'忙碌'等状态时,调用该接口来修改当前用户的自定义状态。
  • 调用时机:在线登录后并且存在连接网络时。
  • 相关回调:接口调用成功更新自定义状态后, 多端登录下的其他设备、通过 subscribeUsersStatus 订阅当前用户状态的用户,将会收到 onUserStatusUpdated 并更新当前用户的自定义状态。

updateUserBadge

updateUserBadge
virtual void updateUserBadge(int badge, const ZIMUserBadgeUpdatedCallback& callback) = 0
更新 iOS 离线通知徽标数量。
Declared in ZIM.h

参数

名称类型描述
badgeint用户期望的 APP 角标值。
callbackconst ZIMUserBadgeUpdatedCallback&更新用户角标值的回调。

详情

通过该接口修改当前用户移动端的 APP 角标值,作用范围为自己在移动端所登录过的设备用户。

  • 业务场景:多端登录场景下,开发者在桌面端或者 web 端清理未读数后(或者未读数发生变更后),希望移动端用户的 APP 角标能够同时感知变化并同步成对应值时,可以调用该接口来实现此功能。
  • 调用时机:登录后且网络状态良好的情况下,且当前若有总未读数变更时可以调用。仅在不支持 ZPNs 的非移动端需要调用(如桌面端和 web 端)。
  • 影响范围:接口调用成功后,所有自己登录过且离线的移动端 APP 角标数会被更新成所设置值。
  • 相关回调:[ZIMUserBadgeUpdatedCallback]。
  • 支持版本:2.28.0 以及以后版本。

queryUsersInfo

queryUsersInfo
virtual void queryUsersInfo(const std::vector<std::string>& userIDs, const ZIMUsersInfoQueryConfig& config, const ZIMUsersInfoQueriedCallback& callback) = 0
查询用户信息。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&userID 数组。
configconst ZIMUsersInfoQueryConfig&查询用户信息配置。
callbackconst ZIMUsersInfoQueriedCallback&查询用户信息的操作回调,返回查询的结果。

详情

通过该接口可以通过 userID 来查询获得对应的 UserInfo。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMUsersInfoQueriedCallback]。
  • 支持版本:2.3.0 及以上。
  • 使用限制:单次调用接口,查询 UserID 不能超过 10 个; 在 10 秒内,多次调用接口,所有查询的 UserID 累计总数不能超过 10 个。

queryUsersStatus

queryUsersStatus
virtual void queryUsersStatus(const std::vector<std::string>& userIDs, const ZIMUsersStatusQueriedCallback& callback) = 0
批量查询其他用户的用户状态。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&需要查询的用户 ID 列表。
callbackconst ZIMUsersStatusQueriedCallback&查询用户状态的回调。

详情

批量查询其他用户的用户状态。

  • 业务场景:当您不需要持续关注某些用户的在线状态,仅需要单次获取时可以通过该接口向后台做一次查询。
  • 调用时机:登录后并且网络条件良好的情况下可以调用。
  • 相关回调:ZIMUsersStatusQueriedCallback 。
  • 支持版本:2.18.0
  • 注意事项:不可以查询未注册的用户。

querySelfUserInfo

querySelfUserInfo
virtual void querySelfUserInfo(const ZIMSelfUserInfoQueriedCallback& callback) = 0
查询自身用户信息、用户规则。
Declared in ZIM.h

参数

名称类型描述
callbackconst ZIMSelfUserInfoQueriedCallback&查询用户信息的操作回调,返回查询的结果。

详情

查询当前用户的信息、用户规则。离线状态下,可以用于查询本地数据。

  • 业务场景:需要展示自身用户信息、规则时可以调用查询,如进入当前用户的个人页时。
  • 调用时机:登录后即可调用。
  • 相关回调:ZIMSelfUserInfoQueriedCallback、userInfoUpdated、userRuleUpdated
  • 支持版本:2.15.0 及以后版本。

subscribeUsersStatus

subscribeUsersStatus
virtual void subscribeUsersStatus(const std::vector<std::string>& userIDs, const ZIMUserStatusSubscribeConfig& config, const ZIMUsersStatusSubscribedCallback& callback) = 0
订阅其他用户的用户状态。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&需要订阅的用户 ID 列表。
configconst ZIMUserStatusSubscribeConfig&订阅用户状态的配置。
callbackconst ZIMUsersStatusSubscribedCallback&订阅用户状态的回调。

详情

通过该接口订阅其他用户的用户状态。

  • 业务场景:进入群组/房间/好友列表,需要了解当前哪些房间/群成员/好友在线时,通过该接口进行订阅,成功之后这些用户的用户状态将通过 onUserStatusUpdated 接口回调。
  • 调用时机:登录成功并且网络条件良好的情况下即可调用。
  • 相关回调:[ZIMUsersStatusSubscribedCallback]、[onUserStatusUpdated]
  • 相关接口:[unsubscribeUsersStatus]
  • 支持版本:2.18.0
  • 使用限制:单次订阅用户上限为 100 人,单个用户默认最多可以订阅 3000 人,当订阅人数达到上限后,新订阅的用户将会覆盖最早订阅的用户。
  • 注意事项:不可以通过该接口订阅当前登录用户,被订阅的用户必须已注册。

unsubscribeUsersStatus

unsubscribeUsersStatus
virtual void unsubscribeUsersStatus(const std::vector<std::string>& userIDs, const ZIMUsersStatusUnsubscribedCallback& callback) = 0
用于批量取消订阅当前用户订阅列表中的目标用户。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&需要取消订阅的用户 ID 列表。
callbackconst ZIMUsersStatusUnsubscribedCallback&取消订阅用户状态的回调。

详情

批量取消订阅当前用户订阅列表中的目标用户。

  • 业务场景:非多端登录场景下,当您离开房间/群组时,如果您短期内不再关注房间/群组成员的用户状态,并且您在进入房间/群组时订阅过房间/群组成员的用户状态,可以通过该接口取消订阅。
  • 调用时机:登录后,并且网络情况良好时调用。
  • 相关回调:ZIMUsersStatusUnsubscribedCallback。
  • 相关接口:subscribeUsersStatus、queryUsersStatus、querySubscribedUserStatusList。
  • 支持版本:2.18.0
  • 使用限制:单次传入的 userID 列表最大为 100 人。
  • 注意事项:不可以取消不在当前用户订阅列表中的用户。

querySubscribedUserStatusList

querySubscribedUserStatusList
virtual void querySubscribedUserStatusList(const ZIMSubscribedUserStatusQueryConfig& config, const ZIMSubscribedUserStatusListQueriedCallback& callback) = 0
用于查询当前用户用户状态订阅列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMSubscribedUserStatusQueryConfig&查询订阅的用户状态列表的配置。
callbackconst ZIMSubscribedUserStatusListQueriedCallback&查询订阅的用户状态列表的回调。

详情

用于查询当前用户用户状态列表。

  • 业务场景:您可以通过该接口获得当前用户的用户订阅列表在本地的缓存,方便您了解当前用户订阅了哪些用户,获取订阅用户的订阅过期时间、以及订阅用户上次变更时的状态数据。
  • 调用时机:登录后即可调用,不受网络状态限制。
  • 相关回调:ZIMSubscribedUserStatusListQueriedCallback、subscribeUsersStatus、unsubscribeUsersStatus。
  • 相关接口:subscribeUsersStatus、unsubscribeUsersStatus。
  • 支持版本:2.18.0
  • 使用限制:非联网查询,没有调用频率限制,获取的数据为 SDK 在本地的缓存,登录后网络条件良好的情况下, SDK 定时向后台同步。

queryConversationList

queryConversationList
virtual void queryConversationList(const ZIMConversationQueryConfig& config, const ZIMConversationListQueriedCallback& callback) = 0
查询会话列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMConversationQueryConfig&会话查询的配置。
callbackconst ZIMConversationListQueriedCallback&会话查询的回调。

详情

该方法可以查询已登录用户的会话列表。

  • 业务场景:登录后需要展示已有的消息会话,这时可以调用该接口来获得数据源。
  • 调用时机:登录后可调用。
  • 相关回调:[ZIMConversationListQueriedCallback]。
  • 相关接口:[deleteConversation] 删除会话;[clearConversationUnreadMessageCount] 清除会话未读数。
  • 支持版本:2.0.0 及以上。
  • 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
  • 注意事项:nextConversation 为查询消息的铆点,首次查询时可以传 [null],后续查询时可以将最早的一条 conversation 做为 nextconversation 来查询更早以前的会话,分页查询时,[ZIMConversationQueryConfig] 中的 count 填每次拉取的会话数量。

queryConversationList

queryConversationList
virtual void queryConversationList(const ZIMConversationQueryConfig& config, const ZIMConversationFilterOption& option, const ZIMConversationListQueriedCallback& callback) = 0
查询会话列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMConversationQueryConfig&会话查询的配置。
optionconst ZIMConversationFilterOption&会话查询的过滤选项。
callbackconst ZIMConversationListQueriedCallback&会话查询的回调。
  • 业务场景:登录后需要展示已有的消息会话,这时可以调用该接口来获得数据源。
  • 调用时机:登录后可调用。
  • 相关回调:ZIMConversationListQueriedCallback。
  • 相关接口:deleteConversation 删除会话;clearConversationUnreadMessageCount 清除会话未读数。

queryConversation

queryConversation
virtual void queryConversation(const std::string& conversationID, ZIMConversationType conversationType, const ZIMConversationQueriedCallback& callback) = 0
查询单个会话。
Declared in ZIM.h

参数

名称类型描述
conversationIDconst std::string&会话ID.
conversationTypeZIMConversationType会话类型。
callbackconst ZIMConversationQueriedCallback&查询会话的回调。

详情

该方法可以查询指定会话。

  • 业务场景:需要得知指定会话的相关信息时,这时可以调用该接口来获得数据源。
  • 调用时机:登录后可调用。
  • 相关回调:[ZIMConversationQueriedCallback]。
  • 支持版本:2.8.0 及以上。
  • 使用限制:没有使用频率的限制,登录后可用,登出后不可用。

queryConversationPinnedList

queryConversationPinnedList
virtual void queryConversationPinnedList(const ZIMConversationQueryConfig& config, const ZIMConversationPinnedListQueriedCallback& callback) = 0
查询置顶会话列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMConversationQueryConfig&会话查询的配置。
callbackconst ZIMConversationPinnedListQueriedCallback&置顶会话列表查询的回调。

详情

该方法可以查询已登录用户的置顶会话列表。

  • 业务场景:登录后需要展示已有的置顶消息会话,这时可以调用该接口来获得数据源。
  • 调用时机:登录后可调用。
  • 支持版本:2.8.0 及以上。
  • 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
  • 注意事项:nextConversation 为查询消息的铆点,首次查询时可以传 [null],后续查询时可以将最早的一条 conversation 做为 nextConversation 来查询更早以前的会话,分页查询时,[ZIMConversationQueryConfig] 中的 count 填每次拉取的会话数量。

updateConversationPinnedState

updateConversationPinnedState
virtual void updateConversationPinnedState(bool isPinned, const std::string& conversationID, ZIMConversationType conversationType, const ZIMConversationPinnedStateUpdatedCallback& callback) = 0
修改会话置顶状态。
Declared in ZIM.h

参数

名称类型描述
isPinnedbool会话是否置顶,[true] 为置顶,[false] 为取消置顶。
conversationIDconst std::string&会话 ID。
conversationTypeZIMConversationType会话类型。
callbackconst ZIMConversationPinnedStateUpdatedCallback&更新会话置顶的回调。

详情

该方法可以修改已登录用户指定会话的置顶状态。

  • 业务场景:需要修改某个会话置顶状态时,可以调用该接口。
  • 调用时机:登录后可调用。
  • 相关回调:[ZIMConversationPinnedStateUpdatedCallback]。
  • 支持版本:2.8.0 及以上。
  • 使用限制:登录后可用,登出后不可用。

deleteConversation

deleteConversation
virtual void deleteConversation(const std::string& conversationID, ZIMConversationType conversationType, const ZIMConversationDeleteConfig& config, const ZIMConversationDeletedCallback& callback) = 0
删除会话。
Declared in ZIM.h

参数

名称类型描述
conversationIDconst std::string&会话ID。
conversationTypeZIMConversationType会话类型。
configconst ZIMConversationDeleteConfig&删除会话的配置。
callbackconst ZIMConversationDeletedCallback&删除会话结果的回调。

详情

需要删除某个会话时,调用此接口,会话内成员均可调用该接口。

  • 业务场景:在会话不再被需要时,若要将整个会话删除,此时可调用该接口实现。
  • 调用时机:需要删除会话时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
  • 影响范围:调用成功会触发 deleteConversation 的 callback 回调。若所删除会话包含未读消息会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
  • 相关回调:[ZIMConversationDeletedCallback]
  • 支持版本:2.0.0 及以上。

deleteAllConversations

deleteAllConversations
virtual void deleteAllConversations(const ZIMConversationDeleteConfig& config, const ZIMConversationsAllDeletedCallback& callback) = 0
删除全部会话。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMConversationDeleteConfig&删除全部会话的配置。
callbackconst ZIMConversationsAllDeletedCallback&删除全部会话的回调。

详情

需要删除会话时,调用此接口,会话内成员均可调用该接口。

  • 业务场景:在所有会话不再被需要时,若要将所有会话删除,此时可调用该接口实现。
  • 调用时机:需要删除会话时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
  • 影响范围:若所删除会话包含未读消息会触发 [onConversationTotalUnreadMessageCountUpdated] 回调,调用成功在多端登录时,其他端会触发 [onConversationsAllDeleted] 回调。
  • 相关回调:[ZIMConversationsAllDeletedCallback]
  • 支持版本:2.12.0 及以上。

clearConversationUnreadMessageCount

clearConversationUnreadMessageCount
virtual void clearConversationUnreadMessageCount(const std::string& conversationID, ZIMConversationType conversationType, const ZIMConversationUnreadMessageCountClearedCallback& callback) = 0
清除会话未读数。
Declared in ZIM.h

参数

名称类型描述
conversationIDconst std::string&会话ID。
conversationTypeZIMConversationType会话类型。
callbackconst ZIMConversationUnreadMessageCountClearedCallback&删除会话未读数的回调。

详情

用于清除当前用户目标会话的未读数。

  • 业务场景:当由会话进入聊天页,此时该会话原先的消息未读数需要清零,可调用该接口。
  • 调用时机:需要清除目标未读数时调用。
  • 影响范围:调用该方法会触发总未读数更新的回调 [conversationTotalUnreadMessageCountUpdated] ,会触发会话更新的回调 [onConversationChanged] 。
  • 相关回调:[ZIMConversationUnreadMessageCountClearedCallback]。
  • 相关接口:[onConversationTotalUnreadMessageCountUpdated]、[onConversationChanged]。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后生效,登出后失效。

clearConversationTotalUnreadMessageCount

clearConversationTotalUnreadMessageCount
virtual void clearConversationTotalUnreadMessageCount(const ZIMConversationTotalUnreadMessageCountClearedCallback& callback) = 0
清除全部会话未读数。
Declared in ZIM.h

参数

名称类型描述
callbackconst ZIMConversationTotalUnreadMessageCountClearedCallback&清除全部会话未读数的回调。

详情

用于清除全部会话的未读数。

  • 业务场景:当需要将全部会话未读数清零时,可调用该接口。
  • 调用时机:需要清除全部会话未读数时调用。
  • 影响范围:调用该方法会触发总未读数更新的回调 [onConversationTotalUnreadMessageCountUpdated] 。
  • 相关回调:[ZIMConversationTotalUnreadMessageCountClearedCallback]。
  • 相关接口:[onConversationTotalUnreadMessageCountUpdated]。
  • 支持版本:2.12.0 及以上。
  • 使用限制:登录后生效,登出后失效。

queryConversationTotalUnreadMessageCount

queryConversationTotalUnreadMessageCount
virtual void queryConversationTotalUnreadMessageCount(const ZIMConversationTotalUnreadMessageCountQueryConfig& config, const ZIMConversationTotalUnreadMessageCountQueriedCallback& callback) = 0
按照配置项查询会话未读消息总数。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMConversationTotalUnreadMessageCountQueryConfig&查询会话总未读数的配置。
callbackconst ZIMConversationTotalUnreadMessageCountQueriedCallback&查询会话总未读数的回调。

详情

该方法可以按照配置项查询已登录用户的会话未读消息总数。

  • 业务场景:登录后需要展示已有的特定会话未读消息总数,这时可以调用该接口来获得数据源。
  • 调用时机:登录后可调用。
  • 相关回调:[ZIMConversationTotalUnreadMessageCountQueriedCallback]。
  • 支持版本:2.17.0 及以上。
  • 使用限制:没有使用频率的限制,登录后可用,登出后不可用。

setConversationNotificationStatus

setConversationNotificationStatus
virtual void setConversationNotificationStatus(ZIMConversationNotificationStatus status, const std::string& conversationID, ZIMConversationType conversationType, const ZIMConversationNotificationStatusSetCallback& callback) = 0
设置会话通知状态。
Declared in ZIM.h

参数

名称类型描述
statusZIMConversationNotificationStatus会话通知状态。
conversationIDconst std::string&会话ID。当前仅支持为“群组”会话和“单聊”(需 2.14.0 版本或以上SDK)设置免打扰状态。
conversationTypeZIMConversationType会话类型,如单聊、群聊等。
callbackconst ZIMConversationNotificationStatusSetCallback&设置会话通知状态的回调。

详情

该方法可以选择目标会话的未读数是否在收到消息时更新,从而实现免打扰功能。对于被开启免打扰的会话,通常是不会收到该会话的离线推送,除非该会话是群聊,且消息发送者 @ 了当前用户,并在 ZIMMessageSendConfig 中将 isNotifyMentionedUsers 设置为了 true,此时本用户会收到该会话的离线推送。

  • 业务场景:用户选择消息免打扰,可以调用对应方法,未读数不增加。
  • 默认值:消息免打扰默认不开启。
  • 调用时机:登录并存在目标会话的前提下,若想要开关目标会话的消息免打扰状态,调用该接口。
  • 影响范围:使用该方法开启免打扰状态后,收到消息不会触发 [conversationTotalUnreadMessageCountUpdated]。
  • 相关回调:[ZIMConversationNotificationStatusSetCallback]。
  • 相关接口:[conversationTotalUnreadMessageCountUpdated]。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后生效,登出后失效。

sendConversationMessageReceiptRead

sendConversationMessageReceiptRead
virtual void sendConversationMessageReceiptRead(const std::string& conversationID, ZIMConversationType conversationType, const ZIMConversationMessageReceiptReadSentCallback& callback) = 0
设置会话所有已接收的回执已读。
Declared in ZIM.h

参数

名称类型描述
conversationIDconst std::string&会话ID。
conversationTypeZIMConversationType会话类型,如单聊、群聊等。
callbackconst ZIMConversationMessageReceiptReadSentCallback&设置会话所有已接收的回执已读的回调。

详情

设置会话所有已接收的回执已读。

  • 业务场景:业务场景:设置整个会话所有已接收的回执消息已读,会话里消息回执的发送者会从 ZIMEventHandler 收到 [onConversationMessageReceiptChanged] 的回调。
  • 调用时机:登录后即可调用,建议在进入消息列表页面之前调用,在消息列表页面内建议调用 [sendMessageReceiptsRead] 对需要设置已读的消息批量设置。
  • 相关回调:[ZIMConversationMessageReceiptReadSentCallback]。
  • 相关接口:[sendMessageReceiptsRead] 、[sendMessage] 。
  • 支持版本:2.5.0及以上。
  • 注意事项:只允许单聊的会话使用。

setConversationDraft

setConversationDraft
virtual void setConversationDraft(const std::string& draft, const std::string& conversationID, ZIMConversationType conversationType, const ZIMConversationDraftSetCallback& callback) = 0
设置会话草稿。
Declared in ZIM.h

参数

名称类型描述
draftconst std::string&需要设置的草稿。
conversationIDconst std::string&会话ID。
conversationTypeZIMConversationType会话类型,如单聊、群聊等。
callbackconst ZIMConversationDraftSetCallback&设置会话草稿的回调。

详情

需要为某个会话设置草稿时,调用此接口,会话内成员均可调用该接口。

  • 业务场景:当需要临时保存用户正在编辑但尚未发送的文本消息,此时可调用该接口实现。
  • 调用时机:需要设置会话草稿时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
  • 影响范围:调用成功会触发 [onConversationChanged] 回调。
  • 相关回调:[ZIMConversationDraftSetCallback]。
  • 支持版本:2.14.0 及以上。

setConversationMark

setConversationMark
virtual void setConversationMark(int markType, bool enable, const std::vector<ZIMConversationBaseInfo>& conversationInfos, const ZIMConversationMarkSetCallback& callback) = 0
设置或取消设置会话标记。
Declared in ZIM.h

参数

名称类型描述
markTypeint需要设置的标记值。
enablebool是否启用该标记值。
conversationInfosconst std::vector<ZIMConversationBaseInfo>&需要设置的会话基础信息列表。
callbackconst ZIMConversationMarkSetCallback&设置会话标记的回调。

详情

该方法可以对会话设置标记。

  • 业务场景:您需要基于对会话进行标记实现自定义的业务逻辑时。
  • 默认值:会话标记默认为空。
  • 调用时机:登录并存在有效的会话的前提下,若想要设置或取消设置目标会话的标记,调用该接口。
  • 相关回调:[ZIMConversationMarkSetCallback]。
  • 支持版本:2.17.0 及以上。

searchLocalConversations

searchLocalConversations
virtual void searchLocalConversations(const ZIMConversationSearchConfig& config, const ZIMConversationsSearchedCallback& callback) = 0
基于本地消息搜索本地会话。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMConversationSearchConfig&全局搜索会话的配置。
callbackconst ZIMConversationsSearchedCallback&搜索会话的的结果的返回。

详情

该方法用于基于本地消息搜索本地会话。

  • 业务场景:当需要通过关键字等条件进行全局搜索会话时,可以调用该接口进行搜索。
  • 调用时机:需要通过关键字等条件进行搜索会话时调用。
  • 相关回调:[ZIMConversationsSearchedCallback]
  • 支持版本:2.9.0 及以上。
  • 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。

sendMessage

sendMessage
virtual void sendMessage(std::shared_ptr<ZIMMessage> message, const std::string& toConversationID, ZIMConversationType conversationType, const ZIMMessageSendConfig& config, std::shared_ptr<ZIMMessageSendNotification> notification, const ZIMMessageSentCallback& callback) = 0
发送消息。
Declared in ZIM.h

参数

名称类型描述
messagestd::shared_ptr<ZIMMessage>要发送的消息,使用时,请根据消息类型修改 message 的类型。 例如,发送文本消息时,请使用 ZIMTextMessage。
toConversationIDconst std::string&消息需要发送的会话 ID。
conversationTypeZIMConversationType消息需要发送的会话类型。
configconst ZIMMessageSendConfig&发送消息的相关配置。
notificationstd::shared_ptr<ZIMMessageSendNotification>发送消息时的相关通知。
callbackconst ZIMMessageSentCallback&消息的发送结果的回调。

详情

此方法可用于单聊、房间和群聊中发送消息。

  • 业务场景:登录后需要向目标用户、目标消息室、目标群聊发送消息时,通过该接口发送。
  • 调用时机:登录后即可调用。
  • 相关回调:[ZIMMessageSentCallback]、[ZIMMessageSendNotification]、[onPeerMessageReceived]、[onRoomMessageReceived]、[onGroupMessageReceived]、[onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
  • 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]、[sendMediaMessage]。
  • 支持版本:2.4.0 及以上。
  • 使用限制:两次发送消息的间隔要大于 100ms。登录后可用,注销后不可用。

downloadMediaFile

downloadMediaFile
virtual void downloadMediaFile(ZIMMessage message, ZIMMediaFileType fileType, const ZIMMediaDownloadConfig& config, ZIMMediaDownloadingProgress progress, const ZIMMediaDownloadedCallback& callback) = 0
下载媒体文件的内容。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage要下载的媒体消息。
fileTypeZIMMediaFileType媒体文件类型。
configconst ZIMMediaDownloadConfig&下载媒体文件的配置。
progressZIMMediaDownloadingProgress下载媒体文件的进度回调。
callbackconst ZIMMediaDownloadedCallback&下载媒体文件的结果回调。

详情

该方法可用于下载媒体消息内容,包含图片消息原图、大图、缩略图,文件消息,音频消息,视频消息以及其首帧图。

  • 业务场景:用户收到消息之后,若该消息为媒体消息,则可以调用本接口下载其内容。
  • 调用时机:登录后且收到媒体消息之后可调用。
  • 相关回调:[ZIMMediaDownloadedCallback]、[ZIMMediaDownloadingProgress]。
  • 支持版本:2.19.0 及以上。
  • 注意事项:若 [sendMediaMessage] 发送的是网络 URL,则 2.9.0 版本以前的 SDK 无法通过此接口下载。
  • 使用限制:若下载的是外部 URL,则最大只能下载 200MB 的资源,如需配置,请联系 ZEGO 技术支持。

queryHistoryMessage

queryHistoryMessage
virtual void queryHistoryMessage(const std::string& conversationID, ZIMConversationType conversationType, const ZIMMessageQueryConfig& config, const ZIMMessageQueriedCallback& callback) = 0
查询历史消息。
Declared in ZIM.h

参数

名称类型描述
conversationIDconst std::string&被查询历史消息的会话ID。
conversationTypeZIMConversationType会话类型。
configconst ZIMMessageQueryConfig&查询历史消息的配置。
callbackconst ZIMMessageQueriedCallback&查询历史消息的的结果的返回。

详情

该方法用于查询历史消息。

  • 业务场景:当需要获得以往的历史消息,可以调用该接口来分页查询历史消息。
  • 调用时机:需要查询历史消息时调用。
  • 相关回调:[ZIMMessageQueriedCallback]
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后生效,登出后失效。默认房间场景(conversationType=1)下不开通离线消息缓存,如需开通请联系对应技术支持。

queryMessages

queryMessages
virtual void queryMessages(const std::vector<long long>& messageSeqs, const std::string& conversationID, ZIMConversationType conversationType, const ZIMMessageQueriedCallback& callback) = 0
批量查询指定序列号的会话消息。
Declared in ZIM.h

参数

名称类型描述
messageSeqsconst std::vector<long long>&要查询的消息序列号列表。
conversationIDconst std::string&被查询消息的会话ID。
conversationTypeZIMConversationType会话类型。
callbackconst ZIMMessageQueriedCallback&查询消息的结果回调。
  • 支持版本:2.19.0 及以上。

deleteMessages

deleteMessages
virtual void deleteMessages(const std::vector<ZIMMessage>& messageList, const std::string& conversationID, ZIMConversationType conversationType, const ZIMMessageDeleteConfig& config, const ZIMMessageDeletedCallback& callback) = 0
删除消息。
Declared in ZIM.h

参数

名称类型描述
messageListconst std::vector<ZIMMessage>&被删除的消息列表。
conversationIDconst std::string&被删除消息的会话ID。
conversationTypeZIMConversationType会话类型。
configconst ZIMMessageDeleteConfig&删除消息的配置。
callbackconst ZIMMessageDeletedCallback&删除消息的结果的返回。

详情

该方法实现了删除消息的功能。

  • 业务场景:用户需要删除某条消息,当用户无需展示某条消息时,可用此方法删除。
  • 调用时机:需要删除消息时调用。
  • 影响范围:若删除的消息为会话的最新一条消息,会触发 [conversationChanged] 回调,若此条消息未读,则会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
  • 相关回调:[ZIMMessageDeletedCallback]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。
  • 使用限制:登录后才能使用。

deleteAllMessage

deleteAllMessage
virtual void deleteAllMessage(const std::string& conversationID, ZIMConversationType conversationType, const ZIMMessageDeleteConfig& config, const ZIMMessageDeletedCallback& callback) = 0
通过会话ID删除消息。
Declared in ZIM.h

参数

名称类型描述
conversationIDconst std::string&将要被删除消息的会话ID。
conversationTypeZIMConversationType会话类型。
configconst ZIMMessageDeleteConfig&删除消息配置。
callbackconst ZIMMessageDeletedCallback&通过会话ID删除消息的结果的返回。

详情

当你需要删除目标会话下的所有消息时,调用该方法。

  • 业务场景:如想要实现一个群设置页面的清空当前会话下的聊天信息,可调用该接口。
  • 调用时机:目标会话存在、并且用户属于此会话的一员。
  • 影响范围:触发 [conversationChanged] 回调,若存在未读消息,则会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
  • 相关回调:[ZIMMessageDeletedCallback]。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后生效,登出后失效。
  • 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。

deleteAllConversationMessages

deleteAllConversationMessages
virtual void deleteAllConversationMessages(const ZIMMessageDeleteConfig& config, const ZIMConversationMessagesAllDeletedCallback& callback) = 0
删除所有会话的所有消息。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMMessageDeleteConfig&删除消息配置。
callbackconst ZIMConversationMessagesAllDeletedCallback&删除全部会话的全部消息的结果回调。

详情

该方法实现了删除所有会话的所有消息的功能。

  • 业务场景:用户需要将所有消息删除时,可用此方法,此方法不会将会话删除。
  • 调用时机:需要删除所有会话的所有消息时调用。
  • 影响范围:调用该接口触发 [onMessageDeleted] 回调,若此时存在未读的消息,则会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
  • 相关回调:[ZIMConversationMessagesAllDeletedCallback]、[onMessageDeleted]、[onConversationTotalUnreadMessageCountUpdated]。
  • 支持版本:2.14.0 及以上。
  • 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。
  • 使用限制:登录后才能使用。

insertMessageToLocalDB

insertMessageToLocalDB
virtual void insertMessageToLocalDB(ZIMMessage message, const std::string& conversationID, ZIMConversationType conversationType, const std::string& senderUserID, const ZIMMessageInsertedCallback& callback) = 0
向本地 DB 插入一条消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage要插入的消息。
conversationIDconst std::string&会话 ID。
conversationTypeZIMConversationType会话类型。
senderUserIDconst std::string&该消息的发送者 ID。
callbackconst ZIMMessageInsertedCallback&插入消息的结果回调。

详情

该方法可以在客户端直接向本地 DB 插入一条消息。

  • 业务场景:开发者可结合系统消息类型,在客户端将回调通知(例如:邀请某人进群、把某人移出群等),转为系统消息类型,插入本地 DB,以达到系统提示的效果。
  • 调用时机:登录后可调用。
  • 相关回调:[ZIMMessageInsertedCallback]。
  • 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]。
  • 支持版本:2.4.0 及以上。
  • 使用限制:不支持插入“信令”消息。如需插入“房间”消息,请将 SDK 升级到 2.13.0 及以上。

sendMessageReceiptsRead

sendMessageReceiptsRead
virtual void sendMessageReceiptsRead(const std::vector<ZIMMessage>& messageList, const std::string& conversationID, ZIMConversationType conversationType, const ZIMMessageReceiptsReadSentCallback& callback) = 0
设置一批消息的回执变成已读。
Declared in ZIM.h

参数

名称类型描述
messageListconst std::vector<ZIMMessage>&要设置已读的消息列表,所含消息不能超过 10 条。
conversationIDconst std::string&会话 ID。
conversationTypeZIMConversationType会话类型。
callbackconst ZIMMessageReceiptsReadSentCallback&设置消息已读的结果回调。

详情

该方法可以设置一批消息的回执变成已读。

  • 业务场景:开发者可通过这个方法,设置一批带回执的消息已经被读了。发送端如果在线,则会收到 [onMessageReceiptChanged] 的回调。
  • 调用时机:登录后可调用。建议在消息列表页对需要设置已读的消息设置。不建议和 [sendConversationMessageReceiptRead] 一起混用。
  • 相关回调:[ZIMMessageReceiptsReadSentCallback]。
  • 相关接口:[sendMessage]。
  • 支持版本:2.5.0 及以上。
  • 使用限制:仅支持对收到的,且回执状态为 PROCESSING 的消息设置。

queryMessageReceiptsInfo

queryMessageReceiptsInfo
virtual void queryMessageReceiptsInfo(const std::vector<ZIMMessage>& messageList, const std::string& conversationID, ZIMConversationType conversationType, const ZIMMessageReceiptsInfoQueriedCallback& callback) = 0
查询一批消息的回执信息。
Declared in ZIM.h

参数

名称类型描述
messageListconst std::vector<ZIMMessage>&要查询的消息列表。
conversationIDconst std::string&会话 ID。
conversationTypeZIMConversationType会话类型。
callbackconst ZIMMessageReceiptsInfoQueriedCallback&查询消息回执信息的结果回调。

详情

该方法可以查询一批消息的回执信息,包括状态、未读用户数和已读用户数。

  • 业务场景:如果需要查询消息的回执状态、未读用户数和已读用户数,可以调用此接口。
  • 调用时机:登录后可调用。如果需要查询详细的成员列表,则可以通过接口[queryGroupMessageReceiptReadMemberList] 或[queryGroupMessageReceiptUnreadMemberList] 查询。
  • 相关回调:[ZIMMessageReceiptsInfoQueriedCallback]。
  • 相关接口:[queryGroupMessageReceiptReadMemberList] , [queryGroupMessageReceiptUnreadMemberList]。
  • 支持版本:2.5.0 及以上。
  • 使用限制:仅支持查询回执状态不为 NONE 和 UNKNOWN 的消息。

revokeMessage

revokeMessage
virtual void revokeMessage(ZIMMessage message, const ZIMMessageRevokeConfig& config, const ZIMMessageRevokedCallback& callback) = 0
撤回消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要被撤回的消息。
configconst ZIMMessageRevokeConfig&撤回消息的配置。
callbackconst ZIMMessageRevokedCallback&撤回消息的结果的返回。

详情

该方法实现了撤回消息的功能。该接口只能撤回 2 分钟内的消息,如需撤回更早之前的消息,请联系技术支持。

  • 业务场景:用户需要撤回某条消息,当用户不想让其他用户看到该信息时,可用此方法撤回。
  • 影响范围:若撤回的消息为会话的最新一条消息,会触发 [onConversationChanged] 回调,若此条消息未读,则会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
  • 相关回调:[onMessageRevokeReceived]、[onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
  • 支持版本:2.5.0 及以上。
  • 注意事项:不支持房间消息撤回。
  • 使用限制:登录后才能使用。如需群主撤回群内其他成员消息,需要使用 2.9.0 及以上版本。

updateMessageLocalExtendedData

updateMessageLocalExtendedData
virtual void updateMessageLocalExtendedData(const std::string& localExtendedData, ZIMMessage message, const ZIMMessageLocalExtendedDataUpdatedCallback& callback) = 0
更新消息的本地拓展字段。
Declared in ZIM.h

参数

名称类型描述
localExtendedDataconst std::string&仅本端可见的消息拓展字段,可附带额外的信息存储到本地,目前长度的限制是 128K。如有特殊需求,可联系 ZEGO 技术支持进行配置。
messageZIMMessage需要更新的消息体。
callbackconst ZIMMessageLocalExtendedDataUpdatedCallback&修改本地扩展字段的回调函数。

详情

在用户登录后,调用该接口可以更新消息本地扩展字段。

  • 调用时机:用户登录后。
  • 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 相关回调:[ZIMMessageLocalExtendedDataUpdatedCallback]。
  • 支持版本:2.9.0 及以上。

editMessage

editMessage
virtual void editMessage(ZIMMessage message, const ZIMMessageEditConfig& config, ZIMMessageSendNotification notification, const ZIMMessageEditedCallback& callback) = 0
编辑消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要被编辑的消息。
configconst ZIMMessageEditConfig&编辑消息的配置。
notificationZIMMessageSendNotification消息发送通知对象(可选)。
callbackconst ZIMMessageEditedCallback&编辑消息的结果的返回。

详情

此方法可用于单聊、群聊中编辑自己发送成功的消息。

  • 业务场景:登录后需要向目标用户、目标群聊编辑自己发送成功的消息时,通过该接口编辑。
  • 相关回调:[ZIMMessageSendNotification]、[ZIMMessageEditedCallback]、[onMessageEdited]、[onConversationChanged]、[onMessageRepliedInfoChanged]。
  • 相关接口:[queryHistoryMessage]、[sendMessage]。
  • 支持版本:2.20.0 及以上。

cancelSendingMessage

cancelSendingMessage
virtual void cancelSendingMessage(ZIMMessage message, const ZIMSendingMessageCancelConfig& config, const ZIMSendingMessageCancelledCallback& callback) = 0
取消发送中的消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要被取消发送的消息。
configconst ZIMSendingMessageCancelConfig&取消发送消息的配置。
callbackconst ZIMSendingMessageCancelledCallback&取消发送消息的结果的返回。

详情

此方法可用于取消上传中的本地媒体文件消息的发送。

  • 相关接口:[queryHistoryMessage]、[sendMessage]。
  • 支持版本:2.22.0 及以上。

searchLocalMessages

searchLocalMessages
virtual void searchLocalMessages(const std::string& conversationID, ZIMConversationType conversationType, const ZIMMessageSearchConfig& config, const ZIMMessagesSearchedCallback& callback) = 0
搜索本地消息列表。
Declared in ZIM.h

参数

名称类型描述
conversationIDconst std::string&要搜索的本地消息的会话 ID。
conversationTypeZIMConversationType会话类型。
configconst ZIMMessageSearchConfig&搜索本地消息的配置。
callbackconst ZIMMessagesSearchedCallback&搜索本地消息的的结果的返回。

详情

该方法用于搜索本地消息。

  • 业务场景:当需要通过关键字等条件搜索以往的本地消息,可以调用该接口来分页搜索本地消息。
  • 相关回调:[ZIMMessagesSearchedCallback]
  • 支持版本:2.9.0 及以上。
  • 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。

searchGlobalLocalMessages

searchGlobalLocalMessages
virtual void searchGlobalLocalMessages(const ZIMMessageSearchConfig& config, const ZIMMessagesGlobalSearchedCallback& callback) = 0
搜索全局本地消息列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMMessageSearchConfig&全局搜索本地消息的配置。
callbackconst ZIMMessagesGlobalSearchedCallback&全局搜索本地消息的的结果的返回。

详情

该方法用于全局搜索本地消息。

  • 业务场景:当需要通过关键字等条件进行全局搜索以往的本地消息,可以调用该接口按会话进行分组来搜索本地消息。
  • 相关回调:[ZIMMessagesGlobalSearchedCallback]
  • 支持版本:2.9.0 及以上。
  • 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。

addMessageReaction

addMessageReaction
virtual void addMessageReaction(const std::string& reactionType, ZIMMessage message, const ZIMMessageReactionAddedCallback& callback) = 0
增加消息表态
Declared in ZIM.h

参数

名称类型描述
reactionTypeconst std::string&表态类型,由您定义,长度上限为 32 字节。
messageZIMMessage需要被表态的消息。
callbackconst ZIMMessageReactionAddedCallback&添加消息表态的结果回调。

详情

消息表态,是指用户对消息的反应。一般可用于对单聊或群聊的消息添加或删除表情,也可用于发起群组投票、确认群组结果等操作。

  • 业务场景:用户需要对某条消息进行表态,例如点赞,可用此方法进行表态。
  • 相关回调:若表态成功,则会触发 [onMessageReactionsChanged] 回调;若表态的消息为会话的最新一条消息,成功后还会触发 [onConversationChanged] 回调。
  • 支持版本:2.10.0 及以上。
  • 注意事项:不支持房间消息表态,且仅支持对 7 天内的消息进行表态。
  • 使用限制:登录后才能使用,且仅支持单聊和群聊的消息表态。

addMessageReaction

addMessageReaction
virtual void addMessageReaction(const std::string& reactionType, ZIMMessage message, const ZIMMessageReactionAddConfig& config, const ZIMMessageReactionAddedCallback& callback) = 0
增加消息表态
Declared in ZIM.h

参数

名称类型描述
reactionTypeconst std::string&表态类型,由您定义,长度上限为 32 字节。
messageZIMMessage需要被表态的消息。
configconst ZIMMessageReactionAddConfig&添加表态时的配置。当前支持对同一个多次表态并增加合计计数结果。
callbackconst ZIMMessageReactionAddedCallback&添加消息表态的结果回调。

详情

消息表态,是指用户对消息的反应。一般可用于对单聊或群聊的消息添加或删除表情,也可用于发起群组投票、确认群组结果等操作。

  • 业务场景:用户需要对某条消息进行表态,例如点赞,可用此方法进行表态。
  • 相关回调:若表态成功,则会触发 [onMessageReactionsChanged] 回调;若表态的消息为会话的最新一条消息,成功后还会触发 [onConversationChanged] 回调。
  • 支持版本:2.28.0 及以上。
  • 注意事项:不支持房间消息表态。
  • 使用限制:登录后才能使用。且仅支持单聊和群聊的消息表态。

deleteMessageReaction

deleteMessageReaction
virtual void deleteMessageReaction(const std::string& reactionType, ZIMMessage message, const ZIMMessageReactionDeletedCallback& callback) = 0
删除消息表态
Declared in ZIM.h

参数

名称类型描述
reactionTypeconst std::string&表态类型,必须为本端用户所作的表态类型。
messageZIMMessage需要被删除表态的消息。
callbackconst ZIMMessageReactionDeletedCallback&撤回消息的结果的返回。

详情

删除本端添加的表态。

  • 业务场景:用户需要对某条已表态的消息进行表态删除,可用此方法。
  • 相关回调:若删除成功,则会触发 [onMessageReactionsChanged] 回调;若相关消息为会话的最新一条消息,成功后还会触发 [onConversationChanged] 回调。
  • 支持版本:2.10.0 及以上。
  • 注意事项:不支持房间消息表态操作。
  • 使用限制:登录后才能使用。且仅支持单聊和群聊的消息表态

deleteMessageAllReactions

deleteMessageAllReactions
virtual void deleteMessageAllReactions(ZIMMessage message, const ZIMMessageReactionsAllDeletedCallback& callback) = 0
删除自己在该消息下的所有表态
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要被删除表态的消息。
callbackconst ZIMMessageReactionsAllDeletedCallback&删除消息表态的结果的返回。

详情

删除本端添加的所有表态。

  • 业务场景:用户需要对某条已表态的消息进行表态删除,可用此方法。
  • 相关回调:若删除成功,则会触发 [onMessageReactionsChanged] 回调;若相关消息为会话的最新一条消息,成功后还会触发 [onConversationChanged] 回调。
  • 支持版本:2.28.0 及以上。
  • 注意事项:不支持房间消息表态操作。
  • 使用限制:登录后才能使用。且仅支持单聊和群聊的消息表态

queryMessageReactionUserList

queryMessageReactionUserList
virtual void queryMessageReactionUserList(ZIMMessage message, const ZIMMessageReactionUserQueryConfig& config, const ZIMMessageReactionUserListQueriedCallback& callback) = 0
拉取消息表态用户列表
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要被拉取表态用户详情的消息。
configconst ZIMMessageReactionUserQueryConfig&拉取表态用户配置。
callbackconst ZIMMessageReactionUserListQueriedCallback&拉取表态用户返回的结果。

详情

该方法用于查询消息某个表态下的具体用户信息。

  • 业务场景:当需要获得消息某个表态下的具体用户信息,可以调用该接口来分页查询表态用户消息。
  • 调用时机:需要查询表态用户信息时调用。
  • 支持版本:2.10.0 及以上。
  • 使用限制:登录后生效,登出后失效。不支持查询房间消息的表态详情。

queryCombineMessageDetail

queryCombineMessageDetail
virtual void queryCombineMessageDetail(ZIMCombineMessage message, const ZIMCombineMessageDetailQueriedCallback& callback) = 0
拉取合并消息详情
Declared in ZIM.h

参数

名称类型描述
messageZIMCombineMessage需要被拉取子消息的合并消息。
callbackconst ZIMCombineMessageDetailQueriedCallback&查询合并消息详情结果的回调。

详情

该方法用于查询合并消息下具体有哪些子消息。

  • 业务场景:当需要获得合并消息下具体有哪些子消息,可以调用该接口来查询。
  • 调用时机:需要查询合并消息下具体有哪些子消息时调用。
  • 支持版本:2.14.0 及以上。
  • 使用限制:登录后生效,登出后失效。

replyMessage

replyMessage
virtual void replyMessage(ZIMMessage message, ZIMMessage toOriginalMessage, const ZIMMessageSendConfig& config, ZIMMessageSendNotification notification, const ZIMMessageSentCallback& callback) = 0
发送回复消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要发送的消息。
toOriginalMessageZIMMessage被回复的消息。
configconst ZIMMessageSendConfig&发送消息的配置。
notificationZIMMessageSendNotification发送消息的通知。
callbackconst ZIMMessageSentCallback&回复消息的结果的返回。

详情

此方法可用于单聊、群聊中发送回复消息。

  • 业务场景:登录后需要向目标用户、目标群聊发送回复消息时,通过该接口发送。
  • 调用时机:登录后即可调用。
  • 相关回调:[onPeerMessageReceived]、[onGroupMessageReceived]。
  • 相关接口:[queryHistoryMessage]、[sendMessage]、[sendMediaMessage]。
  • 支持版本:2.17.0 及以上。
  • 使用限制:两次发送消息的间隔要大于 100ms。登录后可用,注销后不可用。

queryMessageRepliedList

queryMessageRepliedList
virtual void queryMessageRepliedList(ZIMMessage message, const ZIMMessageRepliedListQueryConfig& config, const ZIMMessageRepliedListQueriedCallback& callback) = 0
查询回复列表。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要拉取回复列表的消息,可以是当前回复链上的任一条消息。
configconst ZIMMessageRepliedListQueryConfig&拉取回复列表的配置。
callbackconst ZIMMessageRepliedListQueriedCallback&拉取回复列表的结果的返回。

详情

查询回复消息列表。

  • 业务场景:开发者可通过这个方法,查询整个回复消息树。
  • 调用时机:登录后可调用。
  • 支持版本:2.17.0 及以上。

pinMessage

pinMessage
virtual void pinMessage(ZIMMessage message, bool isPinned, const ZIMMessagePinnedCallback& callback) = 0
置顶或取消消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要置顶的消息。
isPinnedbool是否置顶。
callbackconst ZIMMessagePinnedCallback&置顶消息的结果的返回。

详情

此方法可用于单聊、群聊中置顶或取消置顶自己发送成功的消息。

  • 业务场景:登录后需要向目标用户、目标群聊置顶或取消置顶自己发送成功的消息时,通过该接口进行操作。
  • 相关回调:[ZIMMessagePinnedCallback]、[onMessagePinStatusChanged]。
  • 相关接口:[queryPinnedMessageList]、[sendMessage]。
  • 支持版本:2.25.0 及以上。

pinMessage

pinMessage
virtual void pinMessage(ZIMMessage message, bool isPinned, const ZIMMessagePinConfig& config, const ZIMMessagePinnedCallback& callback) = 0
置顶消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage需要置顶的消息。
isPinnedbool是否置顶。
configconst ZIMMessagePinConfig&置顶配置参数。
callbackconst ZIMMessagePinnedCallback&置顶消息的结果的返回。
  • 业务场景:登录后需要向目标用户、目标群聊置顶或取消置顶自己发送成功的消息时,通过该接口进行操作。
  • 相关回调:ZIMMessagePinnedCallback、onMessagePinStatusChanged。
  • 相关接口:queryPinnedMessageList、sendMessage。

queryPinnedMessageList

queryPinnedMessageList
virtual void queryPinnedMessageList(const std::string& conversationID, ZIMConversationType conversationType, const ZIMPinnedMessageListQueriedCallback& callback) = 0
查询置顶消息列表。
Declared in ZIM.h

参数

名称类型描述
conversationIDconst std::string&会话ID.
conversationTypeZIMConversationType会话类型。
callbackconst ZIMPinnedMessageListQueriedCallback&拉取置顶列表的结果的返回。

详情

该方法用于查询置顶消息列表。

  • 业务场景:当需要展示置顶消息时,可以调用该接口来查询会话内置顶消息列表。
  • 调用时机:需要查询置顶消息时调用。
  • 相关回调:[ZIMPinnedMessageListQueriedCallback]
  • 支持版本:2.25.0 及以上。
  • 使用限制:已登录 SDK 且支持消息置顶功能才能使用。

queryLocalFileCache

queryLocalFileCache
virtual void queryLocalFileCache(const ZIMFileCacheQueryConfig& config, const ZIMFileCacheQueriedCallback& callback) = 0
查询当前用户本地消息缓存。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMFileCacheQueryConfig&清理缓存的配置。
callbackconst ZIMFileCacheQueriedCallback&查询缓存的结果的返回。

详情

该方法用于查询当前用户本地消息缓存。

  • 业务场景:当需要查询本地消息缓存时,调用该接口。
  • 相关回调:[ZIMFileCacheQueriedCallback]。
  • 支持版本:2.15.0 及以上。
  • 使用限制:登录后生效,登出后失效。

clearLocalFileCache

clearLocalFileCache
virtual void clearLocalFileCache(const ZIMFileCacheClearConfig& config, const ZIMFileCacheClearedCallback& callback) = 0
清理当前用户本地消息缓存。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMFileCacheClearConfig&清理缓存的配置。
callbackconst ZIMFileCacheClearedCallback&清理缓存的结果的返回。

详情

该方法用于清理当前用户本地消息缓存。

  • 业务场景:当需要清理本地消息缓存时,调用该接口。
  • 相关回调:[ZIMFileCacheClearedCallback]。
  • 支持版本:2.15.0 及以上。
  • 使用限制:登录后生效,登出后失效。

createRoom

createRoom
virtual void createRoom(const ZIMRoomInfo& roomInfo, const ZIMRoomCreatedCallback& callback) = 0
创建并加入一个房间。
Declared in ZIM.h

参数

名称类型描述
roomInfoconst ZIMRoomInfo&将要被创建的房间的配置信息。
callbackconst ZIMRoomCreatedCallback&创建房间的结果的回调。

详情

用户可以通过该接口,创建且加入房间,其他用户可通过 [joinRoom] 加入此房间。

  • 业务场景:需要创建多人聊天场景时,可通过该接口创建并加入房间。
  • 调用时机:登录后可调用。
  • 相关回调:通过 [ZIMRoomCreatedCallback] 回调可拿到创建房间的结果。
  • 相关接口:可通过 [joinRoom] 加入房间,[leaveRoom] 离开房间。
  • 支持版本:1.1.0 及以上。
  • 注意事项:当所有人都离开房间后,此房间将被自动销毁,一个用户最多同时在 5 个房间内。
  • 使用限制:如果房间已存在,调用此接口将会出错,具体请参考返回的错误码处理。

createRoom

createRoom
virtual void createRoom(const ZIMRoomInfo& roomInfo, const ZIMRoomAdvancedConfig& config, const ZIMRoomCreatedCallback& callback) = 0
创建带高级设置的房间。
Declared in ZIM.h

参数

名称类型描述
roomInfoconst ZIMRoomInfo&将要被创建的房间的配置信息。
configconst ZIMRoomAdvancedConfig&将要被创建的房间的高级属性。
callbackconst ZIMRoomCreatedCallback&创建房间的结果的回调。

详情

用户可以通过该接口,创建且加入房间,其他用户可通过 [joinRoom] 加入此房间。

  • 业务场景:需要创建具有自定义属性的多人聊天场景时,可通过该接口创建并加入房间。
  • 调用时机:登录后可调用。
  • 相关回调:通过 [onRoomCreated] 回调可拿到创建房间的结果。
  • 相关接口:可通过 [joinRoom] 加入房间,[leaveRoom] 离开房间。
  • 支持版本:1.3.0。
  • 注意事项:当所有人都离开房间后,此房间将被自动销毁,一个用户最多同时在 5 个房间内。
  • 使用限制:如果房间已存在,调用此接口将会出错,具体请参考返回的错误码处理。

joinRoom

joinRoom
virtual void joinRoom(const std::string& roomID, const ZIMRoomJoinedCallback& callback) = 0
加入一个房间。
Declared in ZIM.h

参数

名称类型描述
roomIDconst std::string&将要加入的房间 ID。
callbackconst ZIMRoomJoinedCallback&加入房间的结果的回调。

详情

若房间不存在,则加入失败,需要先调用 [createRoom] 创建房间。

  • 业务场景:多人聊天场景下,用户需要加入房间时可调用该接口进入房间。
  • 调用时机:登录后可调用,且该用户位于房间中时可调用。
  • 相关回调:通过 [ZIMRoomJoinedCallback] 回调可获得加入房间的结果。
  • 相关接口:可通过 [createRoom] 创建房间,[leaveRoom] 离开房间。
  • 支持版本:1.1.0 及以上。
  • 注意事项:当所有人都离开房间后,此房间将被自动销毁。一个用户最多同时在 5 个房间内。

enterRoom

enterRoom
virtual void enterRoom(const ZIMRoomInfo& roomInfo, const ZIMRoomAdvancedConfig& config, const ZIMRoomEnteredCallback& callback) = 0
进入房间。若房间不存在,则自动创建。
Declared in ZIM.h

参数

名称类型描述
roomInfoconst ZIMRoomInfo&将要被创建的房间的配置信息。只有第一个进入房间的用户创建 roomName 生效。
configconst ZIMRoomAdvancedConfig&将要被创建的房间的高级属性。只有第一个进入房间的用户配置生效。
callbackconst ZIMRoomEnteredCallback&进入房间的结果的回调。

详情

调用该 API 后,如果房间已存在,则直接加入房间;如果房间不存在,则创建一个房间并加入。同时,如果房间不存在时,调用该接口后,用户设置的房间高级属性生效。

  • 业务场景:需要进入具有自定义属性的多人聊天场景,同时不需要区分房间是被创建还是被加入时,可通过该接口进入一个房间。
  • 调用时机:登录后可调用。
  • 相关回调:通过 [ZIMRoomEnteredCallback] 回调可拿到进入房间的结果。
  • 相关接口:可通过 [enterRoom] 进入房间,[leaveRoom] 离开房间。
  • 支持版本:2.1.0。
  • 注意事项:当所有人都离开房间后,此房间将被自动销毁,一个用户最多同时在 5 个房间内。[enterRoom] 相当于 [createRoom] 或 [joinRoom] 的作用,因此两者只需选用其中一种 API 即可。

switchRoom

switchRoom
virtual void switchRoom(const std::string& fromRoomID, const ZIMRoomInfo& toRoomInfo, bool isCreateWhenRoomNotExisted, const ZIMRoomAdvancedConfig& config, const ZIMRoomSwitchedCallback& callback) = 0
从一个房间切换至另一个房间,若房间不存在,会根据传入参数决定是否创建对应房间。
Declared in ZIM.h

参数

名称类型描述
fromRoomIDconst std::string&将要切换的源房间 ID。
toRoomInfoconst ZIMRoomInfo&切换后的房间配置信息。
isCreateWhenRoomNotExistedbool切换后的房间不存在时,是否创建。
configconst ZIMRoomAdvancedConfig&切换后的房间的高级属性。
callbackconst ZIMRoomSwitchedCallback&切换房间的结果的回调。

详情

从一个房间切换至另一个房间;如果房间不存在,则根据传入参数决定是否创建对应房间。

  • 业务场景:需要快速从一个房间切换至另一房间的场景。
  • 调用时机:登录后可调用。
  • 相关回调:通过 [ZIMRoomSwitchedCallback] 回调可拿到切换房间的结果。
  • 支持版本:2.18.0。

leaveRoom

leaveRoom
virtual void leaveRoom(const std::string& roomID, const ZIMRoomLeftCallback& callback) = 0
离开一个房间。
Declared in ZIM.h

参数

名称类型描述
roomIDconst std::string&将要离开的房间 ID。
callbackconst ZIMRoomLeftCallback&离开房间的结果的回调。

详情

当房间中的用户需要离开房间时,通过 [leaveRoom] 离开此房间,若房间不存在,则离开失败。

  • 业务场景:多人聊天场景下,房间中的用户需要离开房间时,可通过该接口离开房间。
  • 调用时机:登录后可调用,且该用户位于房间中时可调用。
  • 相关回调:通过 [ZIMRoomLeftCallback] 回调可拿到离开房间的结果。
  • 相关接口:可通过 [createRoom] 创建房间,[joinRoom] 加入房间。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若当前用户不在此房间内,则离开失败。当所有人都离开房间后,此房间将被自动销毁。

leaveAllRoom

leaveAllRoom
virtual void leaveAllRoom(const ZIMRoomAllLeftCallback& callback) = 0
离开所有已进入的房间。
Declared in ZIM.h

参数

名称类型描述
callbackconst ZIMRoomAllLeftCallback&离开房间的结果的回调。

详情

调用此接口可以一次性退出已进入的所有房间。

  • 调用时机:登录后可调用,且该用户位于房间中时可调用。
  • 相关回调:通过 [ZIMRoomAllLeftCallback] 回调可拿到离开房间的结果。
  • 支持版本:2.15.0 及以上。
  • 注意事项:若当前用户不在此房间内,则离开失败;且调用该接口只能离开当前终端下进入了的房间,并不会影响多端登录的其他端所进入的房间。

queryRoomMemberList

queryRoomMemberList
virtual void queryRoomMemberList(const std::string& roomID, const ZIMRoomMemberQueryConfig& config, const ZIMRoomMemberQueriedCallback& callback) = 0
查询房间内的成员列表。
Declared in ZIM.h

参数

名称类型描述
roomIDconst std::string&将要查询的房间 ID。
configconst ZIMRoomMemberQueryConfig&查询房间成员操作的配置。
callbackconst ZIMRoomMemberQueriedCallback&查询房间成员的结果的回调。

详情

当加入了一个房间后,可通过此函数获取房间内的成员列表。

  • 业务场景:当开发者需要获取房间成员列表以做其他业务操作时,可调用该接口以获得成员列表。
  • 调用时机:登录后,且该用户位于需要查询的房间中时可调用该接口。
  • 相关回调:通过 [ZIMRoomMemberQueriedCallback] 回调可拿到查询房间成员列表的结果。
  • 相关接口:可通过 [queryRoomOnlineMemberCount] 查询房间在线人数。
  • 支持版本:1.1.0 及以上。
  • 注意事项:如需使用此功能,请联系 ZEGO 技术支持开通服务。若用户当前不在此房间内,则查询失败。当房间成员超过 500 人时,查询房间成员列表的结果最多只能包含 500 名成员的信息。

queryRoomMembers

queryRoomMembers
virtual void queryRoomMembers(const std::vector<std::string>& userIDs, const std::string& roomID, const ZIMRoomMembersQueriedCallback& callback) = 0
查询指定房间中的特定 userID 的用户信息。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&需要查询的用户 ID 列表。最多 10 名用户。
roomIDconst std::string&指定房间的房间 ID。
callbackconst ZIMRoomMembersQueriedCallback&查询房间用户信息的回调。

详情

该方法可以查询指定房间中最多 10 名用户的信息。

  • 业务场景:需要得知指定房间内的用户信息时,这时可以调用该接口来获得数据源。可以确认用户是否在房间中。
  • 调用时机:登录后可调用。
  • 支持版本:2.8.0 及以上。
  • 使用限制:登录后可用,登出后不可用,一次最多查询 10 名用户。

queryRoomOnlineMemberCount

queryRoomOnlineMemberCount
virtual void queryRoomOnlineMemberCount(const std::string& roomID, const ZIMRoomOnlineMemberCountQueriedCallback& callback) = 0
查询房间内在线成员的数量。
Declared in ZIM.h

参数

名称类型描述
roomIDconst std::string&将要查询的房间 ID。
callbackconst ZIMRoomOnlineMemberCountQueriedCallback&查询房间内在线成员数量的结果回调。

详情

当加入了一个房间后,可通过此函数获取房间内在线成员的数量。

  • 业务场景:当开发者需要获取房间在线的房间成员人数时,可以调用此接口。
  • 调用时机:通过 [create] 创建 ZIM 实例后,且该用户位于需要查询的房间中时可调用该接口。
  • 相关回调:通过 [ZIMRoomOnlineMemberCountQueriedCallback] 回调可拿到查询房间成员在线人数的的结果。
  • 相关接口:可通过 [queryRoomMemberList] 查询房间成员。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若用户当前不在此房间内,则查询失败。

setRoomAttributes

setRoomAttributes
virtual void setRoomAttributes(const std::unordered_map<std::string, std::string>& roomAttributes, const std::string& roomID, const ZIMRoomAttributesSetConfig& config, const ZIMRoomAttributesOperatedCallback& callback) = 0
设置房间属性(增加、改变房间属性均用此接口)。
Declared in ZIM.h

参数

名称类型描述
roomAttributesconst std::unordered_map<std::string, std::string>&欲设置的房间属性。
roomIDconst std::string&需要进行房间属性修改的房间号。
configconst ZIMRoomAttributesSetConfig&该操作的行为配置。
callbackconst ZIMRoomAttributesOperatedCallback&设置房间属性的操作回调。

详情

用于设置房间属性。

  • 业务场景:语聊房需要设置麦位时,可以使用该接口。
  • 调用时机:登录后,并处于相关房间内调用。
  • 数量限制:每个房间中,最多允许设置 20 个属性。
  • 大小限制:房间属性的key-value,默认 key 的长度是 16,默认 value 的长度是 1024。
  • 默认值:[ZIMRoomAttributesSetConfig] 传空时的默认配置是非强制操作,且不更新拥有者,且涉及到的房间属性在拥有者退出后不自动删除。
  • 隐私保护声明:尽量不要在房间属性中传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 相关回调:[ZIMRoomAttributesOperatedCallback]。
  • 相关接口:[deleteRoomAttributes],删除房间属性。[queryRoomAllAttributes],查询房间属性。
  • 支持版本:1.3.0。

deleteRoomAttributes

deleteRoomAttributes
virtual void deleteRoomAttributes(const std::vector<std::string>& keys, const std::string& roomID, const ZIMRoomAttributesDeleteConfig& config, const ZIMRoomAttributesOperatedCallback& callback) = 0
删除房间属性。
Declared in ZIM.h

参数

名称类型描述
keysconst std::vector<std::string>&欲删除的房间属性的key。
roomIDconst std::string&欲修改房间属性的房间号
configconst ZIMRoomAttributesDeleteConfig&该操作的行为配置。
callbackconst ZIMRoomAttributesOperatedCallback&设置房间属性的操作回调。

详情

用于删除房间属性。

  • 业务场景:语聊房需要删除麦位时,可以使用该接口。
  • 调用时机:登录后,并处于相关房间内调用。
  • 默认值:[ZIMRoomAttributesDeleteConfig] 传空时的默认配置是非强制操作。
  • 影响范围:删除现有房间的房间属性。
  • 相关回调:[ZIMRoomAttributesOperatedCallback]。
  • 相关接口:[setRoomAttributes],设置房间属性。[queryRoomAllAttributes],查询房间属性。
  • 支持版本:1.3.0。

beginRoomAttributesBatchOperation

beginRoomAttributesBatchOperation
virtual void beginRoomAttributesBatchOperation(const std::string& roomID, const ZIMRoomAttributesBatchOperationConfig& config) = 0
开启组合房间属性操作。
Declared in ZIM.h

参数

名称类型描述
roomIDconst std::string&需要开启组合操作的房间号。
configconst ZIMRoomAttributesBatchOperationConfig&组合操作的配置。

详情

用于开启房间属性的组合操作,一个组合操作视为一次原子操作。

  • 业务场景:语聊房需要切换麦位时,可以使用该接口发起组合操作以完成,如先下麦,然后抢占其他麦位,若抢占失败再回到原来麦位,这期间原来的麦位是锁定的,保证了原来的麦位不会被其他用户上麦。
  • 调用时机:登录后,并处于相关房间内调用。
  • 影响范围:开启后设置、删除房间属性操作会被纳入到本次组合操作中。
  • 相关接口:[endRoomAttributesBatchOperation],完成本次组合操作。
  • 支持版本:1.3.0。
  • 注意事项:开启房间属性的组合操作后,直到调用完成组合操作接口前,所有的设置与删除操作均会纳入到组合操作中。连续调用开启组合操作接口,会重置状态。若不执行[endRoomAttributesBatchOperation]视为没有操作。

endRoomAttributesBatchOperation

endRoomAttributesBatchOperation
virtual void endRoomAttributesBatchOperation(const std::string& roomID, const ZIMRoomAttributesBatchOperatedCallback& callback) = 0
完成组合房间属性操作。
Declared in ZIM.h

参数

名称类型描述
roomIDconst std::string&需要进行房间属性修改的房间号。
callbackconst ZIMRoomAttributesBatchOperatedCallback&组合操作的回调。

详情

完成组合房间属性操作,会将该房间上次调用 [beginRoomAttributesBatchOperation] 到本次操作期间的所有 设置/删除 操作组合完成。

  • 业务场景:语聊房需要切换麦位时,可以使用该接口。
  • 调用时机:登录后,在 [beginRoomAttributesBatchOperation] 执行后执行该操作。
  • 影响范围:同房间内的设置,删除房间属性。
  • 相关回调:[ZIMRoomAttributesBatchOperatedCallback]。
  • 相关接口:[beginRoomAttributesBatchOperation],开启组合操作。
  • 支持版本:1.3.0。
  • 使用限制:需要该房间中已开启组合操作。
  • 注意事项:在 [beginRoomAttributesBatchOperation] 未执行时调用,会返还错误。若执行[beginRoomAttributesBatchOperation]后不执行[endRoomAttributesBatchOperation]视为没有操作。

queryRoomAllAttributes

queryRoomAllAttributes
virtual void queryRoomAllAttributes(const std::string& roomID, const ZIMRoomAttributesQueriedCallback& callback) = 0
查询房间所有属性。
Declared in ZIM.h

参数

名称类型描述
roomIDconst std::string&需要查询自定义属性的房间号。
callbackconst ZIMRoomAttributesQueriedCallback&查询房间属性的回调。

详情

用于查询房间属性。

  • 调用时机:登录后,并处于相关房间内调用。
  • 业务场景:语聊房需要查询麦位时,可以使用该接口。
  • 相关回调:[ZIMRoomAttributesQueriedCallback]。
  • 相关接口:[deleteRoomAttributes],删除房间属性。[setRoomAttributes],设置房间属性。
  • 支持版本:1.3.0。

setRoomMembersAttributes

setRoomMembersAttributes
virtual void setRoomMembersAttributes(const std::unordered_map<std::string, std::string>& attributes, const std::vector<std::string>& userIDs, const std::string& roomID, const ZIMRoomMemberAttributesSetConfig& config, const ZIMRoomMembersAttributesOperatedCallback& callback) = 0
设置房间成员属性(增加、改变房间属性均用此接口)。
Declared in ZIM.h

参数

名称类型描述
attributesconst std::unordered_map<std::string, std::string>&欲设置的房间成员属性。
userIDsconst std::vector<std::string>&批量设置的 userID 列表。
roomIDconst std::string&房间 ID。
configconst ZIMRoomMemberAttributesSetConfig&该操作的行为配置。
callbackconst ZIMRoomMembersAttributesOperatedCallback&设置房间成员属性的操作回调。

详情

调用该 API 来设置房间内成员的房间用户属性。

  • 业务场景:如需要为房间内成员设置一个等级,设置一个状态时,可用此接口来设置。
  • 默认值:[ZIMRoomMemberAttributesSetConfig] 默认构造 isDeleteAfterOwnerLeft 为 true。
  • 调用时机:登录后,并处于相关房间内调用。
  • 相关回调:[ZIMRoomMembersAttributesOperatedCallback]、[onRoomMemberAttributesUpdated]。
  • 相关接口:[queryRoomMembersAttributes]、[queryRoomMemberAttributesList]。
  • 支持版本:2.4.0 及以上。
  • 使用限制:每个房间中,最多允许设置 500 个用户的用户属性,以 Key-Value 的方式进行存储。开发者如果需要提高属性上限,请联系 ZEGO 技术支持。房间内的每个用户,所拥有的用户属性 Key-Value 的总长度不超过 144 字节,且 Key-Value 的个数不超过 30 对。单个 Key-Value 的长度,Key 不超过 8 字节、Value 不超过 64 字节。开发者如果需要提高上限,请联系 ZEGO 技术支持。房间销毁后,设置的自定义用户属性也会同时销毁。

queryRoomMembersAttributes

queryRoomMembersAttributes
virtual void queryRoomMembersAttributes(const std::vector<std::string>& userIDs, const std::string& roomID, const ZIMRoomMembersAttributesQueriedCallback& callback) = 0
批量查询房间内成员的房间用户属性。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&需要查询的 userID 列表。
roomIDconst std::string&房间 ID。
callbackconst ZIMRoomMembersAttributesQueriedCallback&批量查询房间用户属性的结果回调。

详情

调用该 API 来批量查询房间内成员的房间用户属性。

  • 调用时机:当需要指定查询部分房间用户的时候使用该接口。
  • 相关回调:[ZIMRoomMembersAttributesQueriedCallback]。
  • 相关接口:[setRoomMembersAttributes]、[queryRoomMemberAttributesList]。
  • 生命周期:登录并加入对应房间后可用,离开对应房间后不可用。
  • 支持版本:2.4.0 及以上。
  • 使用限制:最大调用频率默认 30 秒内 5 次,一次最大查询 100 人。

queryRoomMemberAttributesList

queryRoomMemberAttributesList
virtual void queryRoomMemberAttributesList(const std::string& roomID, const ZIMRoomMemberAttributesQueryConfig& config, const ZIMRoomMemberAttributesListQueriedCallback& callback) = 0
分页查询房间内拥有房间属性成员的房间用户属性。
Declared in ZIM.h

参数

名称类型描述
roomIDconst std::string&房间 ID。
configconst ZIMRoomMemberAttributesQueryConfig&该操作的行为配置。
callbackconst ZIMRoomMemberAttributesListQueriedCallback&查询房间内成员属性的结果回调。

详情

分页查询房间内拥有房间属性成员的房间用户属性。

  • 调用时机:当需要指定查询全部房间用户的时候使用该接口。
  • 相关回调:[ZIMRoomMemberAttributesListQueriedCallback]。
  • 相关接口:[setRoomMembersAttributes]、[queryRoomMembersAttributes]。
  • 生命周期:登录并加入对应房间后可用,离开对应房间后不可用。
  • 支持版本:2.4.0 及以上。
  • 使用限制:最大调用频率默认 30 秒内 5 次,一页的 count 最大 100 人。

createGroup

createGroup
virtual void createGroup(const ZIMGroupInfo& groupInfo, const std::vector<std::string>& userIDs, const ZIMGroupCreatedCallback& callback) = 0
创建并加入一个群组。
Declared in ZIM.h

参数

名称类型描述
groupInfoconst ZIMGroupInfo&要创建的群组的基本信息。
userIDsconst std::vector<std::string>&将要被创建的群的配置信息。
callbackconst ZIMGroupCreatedCallback&创建群组的结果的回调。

详情

可调用该接口来创建一个群组,调用该接口的人为该群群主。群名不填则为空字符串。

  • 业务场景:需要创建多人聊天场景时,可通过该接口创建并加入群组。
  • 调用时机:通过 [create] 创建 ZIM 实例并 [login] 登录之后。
  • 相关回调:通过 [ZIMGroupCreatedCallback] 回调可拿到创建群组的结果。
  • 相关接口:可通过 [joinGroup] 加入群组,[leaveGroup] 离开群组, [dismissGroup] 解散群组。
  • 支持版本:2.0.0及以上。
  • 使用限制:登录后可用,登出后不可用。userIDs 最大 100 人。无法使用此前使用过的 groupID 再行创建群组,无论此前的群组是否解散。

createGroup

createGroup
virtual void createGroup(const ZIMGroupInfo& groupInfo, const std::vector<std::string>& userIDs, const ZIMGroupAdvancedConfig& config, const ZIMGroupCreatedCallback& callback) = 0
创建并加入一个带群属性的群组。
Declared in ZIM.h

参数

名称类型描述
groupInfoconst ZIMGroupInfo&将要被创建的群的配置信息。
userIDsconst std::vector<std::string>&被邀请入群的用户列表。
configconst ZIMGroupAdvancedConfig&创建群组的相关配置。
callbackconst ZIMGroupCreatedCallback&创建群组的结果的回调。

详情

可调用该接口来创建一个群组,调用该接口的人为该群群主。

  • 业务场景:需要创建多人聊天场景时,可通过该接口创建并加入群组。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupCreatedCallback] 回调可拿到创建群组的结果。
  • 相关接口:可通过 [joinGroup] 加入群组,[leaveGroup] 离开群组, [dismissGroup] 解散群组。
  • 支持版本:2.0.0及以上。
  • 使用限制:登录后可用,登出后不可用 。 userIDs 最大为 100 人, 一个群最大支持 500 人。

dismissGroup

dismissGroup
virtual void dismissGroup(const std::string& groupID, const ZIMGroupDismissedCallback& callback) = 0
解散群组。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&要解散的群组 ID。
callbackconst ZIMGroupDismissedCallback&解散群组结果的回调。

详情

当一个群组被创建后,用户可通过 [dismissGroup] 解散此群组。

  • 业务场景:创建多人聊天群组后,不需要在此群组进行聊天互动,可通过此接口解散群组。
  • 调用时机:通过 [createGroup] 创建群组后可以调用。
  • 相关回调:通过 [ZIMGroupDismissedCallback] 回调可拿到解散房间的结果,通过 [onGroupStateChanged] 监听回调可拿到房间状态。
  • 相关接口:可通过 [createGroup] 创建群组, [joinGroup] 加入群组,[leaveGroup] 离开群组。
  • 支持版本:2.0.0 及以上。
  • 使用限制:非群主不能解散群。

joinGroup

joinGroup
virtual void joinGroup(const std::string& groupID, const ZIMGroupJoinedCallback& callback) = 0
加入群组。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&要加入的群组 ID。
callbackconst ZIMGroupJoinedCallback&加入群组结果的回调。

详情

当一个群组被创建后,其他用户可以通过 [joinGroup] 加入此群组,如果群组不存在,则加入失败。

  • 业务场景:需要加入多人聊天场景时,可通过该接口加入群组。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupJoinedCallback] 回调可拿到加入房间的结果。
  • 相关接口:可通过 [createGroup] 创建群组,[leaveGroup] 离开群组, [dismissGroup] 解散群组。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后可用,登出后不可用 。若已在群中加入会返回加入成功。人满后加入失败。

leaveGroup

leaveGroup
virtual void leaveGroup(const std::string& groupID, const ZIMGroupLeftCallback& callback) = 0
离开群组。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&要离开的群组 ID。
callbackconst ZIMGroupLeftCallback&离开群组结果的回调。

详情

当用户加入一个群组后,用户可以通过该接口离开此群组。

  • 业务场景:需要退出多人聊天场景时,可通过该接口离开群组。
  • 调用时机:通过 [create] 创建 ZIM 实例后并登录后可调用。
  • 相关回调:通过 [ZIMGroupLeftCallback] 回调可拿到离开房间的结果。
  • 相关接口:可通过 [createGroup] 创建群组,[joinGroup] 加入群组, [dismissGroup] 解散群组。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后可用,登出后不可用 。
  • 注意事项:群主退出群组时,群主身份将自动转让给加入本群组最早的那个成员;所有成员退出群组时,群组自动解散。

inviteUsersIntoGroup

inviteUsersIntoGroup
virtual void inviteUsersIntoGroup(const std::vector<std::string>& userIDs, const std::string& groupID, const ZIMGroupUsersInvitedCallback& callback) = 0
邀请用户进入群组。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要邀请加入群组的用户 ID 列表。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupUsersInvitedCallback&邀请用户进入群组结果的回调。

详情

当需要邀请用户加入群组,可以通过此方法将其邀请加入群组,如果群组不存在,则邀请失败。

  • 业务场景:需要邀请一个或多个用户邀请加入群组时,可通过此方法实现该功能。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupUsersInvitedCallback] 回调可拿到邀请用户加入群组的结果。
  • 相关接口:可通过 [kickGroupMembers] 将目标用户踢出群组。
  • 支持版本:2.0.0 及以上。
  • 使用限制:非群主不能邀请。
  • 注意事项:该接口无需对方同意,也无需对方在线。

kickGroupMembers

kickGroupMembers
virtual void kickGroupMembers(const std::vector<std::string>& userIDs, const std::string& groupID, const ZIMGroupMemberKickedCallback& callback) = 0
踢出群组成员。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要踢出群组的用户 ID 列表。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupMemberKickedCallback&踢出群组成员结果的回调。

详情

当用户加入群组后,可以通过此方法将其踢出群组。

  • 业务场景:需要将一个或多个用户踢出群组时,可通过此方法实现该功能。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupMemberKickedCallback] 回调可拿到将用户踢出群组的结果。
  • 相关接口:可通过 [inviteUsersIntoGroup] 邀请目标用户进入群组。
  • 支持版本:2.0.0 及以上。
  • 使用限制:非群主不能踢人。
  • 注意事项:该接口无需对方同意,也无需对方在线,踢出后无法接受群相关回调。被踢出后历史消息和会话都会保留,且仍可进入该群。

transferGroupOwner

transferGroupOwner
virtual void transferGroupOwner(const std::string& toUserID, const std::string& groupID, const ZIMGroupOwnerTransferredCallback& callback) = 0
转让群主。
Declared in ZIM.h

参数

名称类型描述
toUserIDconst std::string&要转让群主的目标用户 ID。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupOwnerTransferredCallback&转让群主结果的回调。

详情

当一个群组被创建后,群主可以通过此方法将群主转让给指定用户。

  • 业务场景:在多人群组聊天场景中,可通过该接口转让群主。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupOwnerTransferredCallback] 回调可拿到转让群主的结果。
  • 支持版本:2.0.0 及以上。
  • 使用限制:非群主不能转让群主。

queryGroupInfo

queryGroupInfo
virtual void queryGroupInfo(const std::string& groupID, const ZIMGroupInfoQueriedCallback& callback) = 0
查询群组信息。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&要查询信息的群组 ID。
callbackconst ZIMGroupInfoQueriedCallback&查询群组信息结果的回调。

详情

查询一个已被创建的群组信息。

  • 业务场景:需获取群组信息进行展示。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupInfoQueriedCallback] 回调可拿到查询群组信息的结果。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后可用,登出后不可用 。

queryGroupMemberInfo

queryGroupMemberInfo
virtual void queryGroupMemberInfo(const std::string& userID, const std::string& groupID, const ZIMGroupMemberInfoQueriedCallback& callback) = 0
查询群成员信息。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&要查询信息的群成员用户 ID。
groupIDconst std::string&要查询群成员信息的群组 ID。
callbackconst ZIMGroupMemberInfoQueriedCallback&查询群成员信息结果的回调。

详情

当一个群组被创建后,用户可以通过该方法查询指定群成员信息。

  • 业务场景:需要获取指定群成员信息进行展示或交互。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupMemberInfoQueriedCallback] 回调可拿到查询指定群成员信息的结果。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后可用,登出后不可用 。

queryGroupList

queryGroupList
virtual void queryGroupList(const ZIMGroupListQueriedCallback& callback) = 0
查询群列表。
Declared in ZIM.h

参数

名称类型描述
callbackconst ZIMGroupListQueriedCallback&查询群组列表结果的回调。

详情

查询当前所有群列表。

  • 业务场景:需要获取群列表进行展示。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupListQueriedCallback] 回调查询当前所有群列表的结果。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后可用,登出后不可用 。

queryGroupList

queryGroupList
virtual void queryGroupList(unsigned int count, const ZIMGroupListQueryConfig& config, const ZIMGroupListQueriedCallback& callback) = 0
查询群列表。
Declared in ZIM.h

参数

名称类型描述
countunsigned int查询数量。
configconst ZIMGroupListQueryConfig&群组列表查询配置。
callbackconst ZIMGroupListQueriedCallback&查询群组列表结果的回调。

详情

查询当前用户所在的全部群组列表。

  • 业务场景:需要获取群组列表用于展示。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupListQueriedCallback] 获取查询群组列表的结果。
  • 支持版本:2.27.0 及以上。
  • 注意事项:登录后可用,登出后不可用。

queryGroupMemberList

queryGroupMemberList
virtual void queryGroupMemberList(const std::string& groupID, const ZIMGroupMemberQueryConfig& config, const ZIMGroupMemberListQueriedCallback& callback) = 0
查询群成员列表。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&要查询成员列表的群组 ID。
configconst ZIMGroupMemberQueryConfig&群成员查询配置。
callbackconst ZIMGroupMemberListQueriedCallback&查询群成员列表结果的回调。

详情

当一个群组被创建后,用户可以通过该方法查询群成员列表。

  • 业务场景:需要获取指定群成员列表信息进行展示或交互。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupMemberListQueriedCallback] 回调可拿到查询群成员列表的结果。
  • 支持版本:2.0.0 及以上。
  • 使用限制:登录后可用,登出后不可用 。

queryGroupMemberCount

queryGroupMemberCount
virtual void queryGroupMemberCount(const std::string& groupID, const ZIMGroupMemberCountQueriedCallback& callback) = 0
查询指定群内的群成员数量。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&要查询成员数量的群组 ID。
callbackconst ZIMGroupMemberCountQueriedCallback&查询群成员数量结果的回调。

详情

用户仅需要展示群内人数且不需要拉取群成员列表时,可通过该接口获取群内人数。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:[ZIMGroupMemberCountQueriedCallback]。
  • 支持版本:2.2.0 及以上。
  • 使用限制:该函数仅可查询用户当前已进入的群。

updateGroupName

updateGroupName
virtual void updateGroupName(const std::string& groupName, const std::string& groupID, const ZIMGroupNameUpdatedCallback& callback) = 0
更新群名称。
Declared in ZIM.h

参数

名称类型描述
groupNameconst std::string&新的群名称。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupNameUpdatedCallback&更新群名称结果的回调。

详情

当一个群组被创建后,用户可通过调用该方法修改群名称。

  • 业务场景:创建群组后,用户需要更改群名称。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupNameUpdatedCallback] 回调可拿到更改群名称的结果,通过 [onGroupNoticeUpdated] 可拿到更新群名称信息。
  • 支持版本:2.0.0 及以上。
  • 使用限制:群成员与群主可修改群名称,名称最大长度100字节。

updateGroupAvatarUrl

updateGroupAvatarUrl
virtual void updateGroupAvatarUrl(const std::string& groupAvatarUrl, const std::string& groupID, const ZIMGroupAvatarUrlUpdatedCallback& callback) = 0
更新群头像 URL。
Declared in ZIM.h

参数

名称类型描述
groupAvatarUrlconst std::string&新的群头像 URL。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupAvatarUrlUpdatedCallback&更新群头像 URL 结果的回调。

详情

当一个群组被创建后,用户可通过调用该方法修改群头像 URL。

  • 业务场景:创建群组后,用户需要更改群头像 URL。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录、处于对应群中时可调用。
  • 相关回调:通过 [ZIMGroupAvatarUrlUpdatedCallback] 回调可拿到更改群头像的结果,通过 [onGroupAvatarUrlUpdated] 可拿到更新群头像信息。
  • 支持版本:2.3.0 及以上。
  • 使用限制:群成员与群主可修改群头像,最大长度500字节。

updateGroupNotice

updateGroupNotice
virtual void updateGroupNotice(const std::string& groupNotice, const std::string& groupID, const ZIMGroupNoticeUpdatedCallback& callback) = 0
更新群公告。
Declared in ZIM.h

参数

名称类型描述
groupNoticeconst std::string&新的群公告内容。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupNoticeUpdatedCallback&更新群公告结果的回调。

详情

当一个群组被创建后,用户可以通过此方法更新群公告。

  • 业务场景:需要在群组中,更新群公告。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupNoticeUpdatedCallback] 回调可拿到更新群公告的结果,通过 [onGroupNoticeUpdated] 可拿到更新群公告信息。
  • 支持版本:2.0.0 及以上。
  • 使用限制:只有群成员才能更新群公告,最大字节数为300字节,无特殊字符限制。

updateGroupAlias

updateGroupAlias
virtual void updateGroupAlias(const std::string& groupAlias, const std::string& groupID, const ZIMGroupAliasUpdatedCallback& callback) = 0
更新群备注。
Declared in ZIM.h

参数

名称类型描述
groupAliasconst std::string&新的群备注名。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupAliasUpdatedCallback&更新群备注结果的回调。

详情

当用户成为某个群的成员后,改用户可通过调用该方法对该群添加/修改备注,群备注仅对修改者生效,不会影响其他群成员。

  • 业务场景:如需区分不同的群聊。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupAliasUpdatedCallback] 回调可拿到更改群备注的结果。
  • 支持版本:2.18.0 及以上。

updateGroupJoinMode

updateGroupJoinMode
virtual void updateGroupJoinMode(ZIMGroupJoinMode mode, const std::string& groupID, const ZIMGroupJoinModeUpdatedCallback& callback) = 0
更新入群模式。
Declared in ZIM.h

参数

名称类型描述
modeZIMGroupJoinMode入群模式。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupJoinModeUpdatedCallback&更新入群模式结果的回调。

详情

当一个群组被创建后,群主和管理员可以通过此方法更新入群模式。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

updateGroupInviteMode

updateGroupInviteMode
virtual void updateGroupInviteMode(ZIMGroupInviteMode mode, const std::string& groupID, const ZIMGroupInviteModeUpdatedCallback& callback) = 0
更新邀请模式。
Declared in ZIM.h

参数

名称类型描述
modeZIMGroupInviteMode邀请模式。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupInviteModeUpdatedCallback&更新邀请模式结果的回调。

详情

当一个群组被创建后,群主和管理员可以通过此方法更新邀请模式。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

updateGroupBeInviteMode

updateGroupBeInviteMode
virtual void updateGroupBeInviteMode(ZIMGroupBeInviteMode mode, const std::string& groupID, const ZIMGroupBeInviteModeUpdatedCallback& callback) = 0
更新邀请目标验证模式。
Declared in ZIM.h

参数

名称类型描述
modeZIMGroupBeInviteMode邀请目标验证模式。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupBeInviteModeUpdatedCallback&更新邀请目标验证模式结果的回调。

详情

当一个群组被创建后,群主和管理员可以通过此方法更新邀请目标入群验证模式。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

setGroupAttributes

setGroupAttributes
virtual void setGroupAttributes(const std::unordered_map<std::string, std::string>& groupAttributes, const std::string& groupID, const ZIMGroupAttributesOperatedCallback& callback) = 0
设置群属性。
Declared in ZIM.h

参数

名称类型描述
groupAttributesconst std::unordered_map<std::string, std::string>&要设置的群属性,键值对形式。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupAttributesOperatedCallback&设置群属性结果的回调。

详情

当一个群组已存在时,所有该群用户可以该方法设置群属性。

  • 业务场景:新增对群组描述的扩展字段信息,如群的家族、标签、行业类别等。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupAttributesOperatedCallback] 回调可拿到设置群属性的结果。
  • 相关接口:可通过 [deleteGroupAttributes] 删除群属性,[queryGroupAttributes] 查询群属性,[queryGroupAllAttributes] 查询全部群属性。
  • 支持版本:2.0.0 及以上。
  • 使用限制:只有群成员才可设置群属性。

deleteGroupAttributes

deleteGroupAttributes
virtual void deleteGroupAttributes(const std::vector<std::string>& keys, const std::string& groupID, const ZIMGroupAttributesOperatedCallback& callback) = 0
删除群属性。
Declared in ZIM.h

参数

名称类型描述
keysconst std::vector<std::string>&要删除的群属性键名列表。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupAttributesOperatedCallback&删除群属性结果的回调。

详情

当一个群组已存在时,用户可以调用该方法删除群属性,该接口群主与群内成员均可调用。

  • 业务场景:删除对群组描述的扩展字段信息。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupAttributesOperatedCallback] 回调可拿到删除群属性的结果。
  • 相关接口:可通过 [setGroupAttributes] 设置群属性,[queryGroupAttributes] 查询群属性,[queryAllGroupAttributes] 查询全部群属性。
  • 支持版本:2.0.0 及以上。
  • 使用限制:只有群成员才可删除群属性。

queryGroupAttributes

queryGroupAttributes
virtual void queryGroupAttributes(const std::vector<std::string>& keys, const std::string& groupID, const ZIMGroupAttributesQueriedCallback& callback) = 0
查询群属性。
Declared in ZIM.h

参数

名称类型描述
keysconst std::vector<std::string>&要查询的群属性键名列表。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupAttributesQueriedCallback&查询群属性结果的回调。

详情

当一个群组被创建后,可以通过此方法查询指定的群属性。

  • 业务场景:需要查询指定群属性进行展示的场景。
  • 调用时机:通过 [create] 创建 ZIM 实例并 [login] 登录之后。
  • 相关回调:通过 [ZIMGroupAttributesQueriedCallback] 回调可拿到查询指定群属性的结果。
  • 相关接口:[queryAllGroupAttributes] 查询所有群属性。
  • 支持版本:2.0.0及以上。
  • 使用限制:登录后可用,登出后不可用 。

queryGroupAllAttributes

queryGroupAllAttributes
virtual void queryGroupAllAttributes(const std::string& groupID, const ZIMGroupAttributesQueriedCallback& callback) = 0
查询群组全部属性。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupAttributesQueriedCallback&查询群组全部属性结果的回调。

详情

当一个群组被创建后,可以通过此方法查询所有的群属性。

  • 业务场景:需要查询所有群属性进行展示的场景。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupAttributesQuriedCallback] 回调可拿到查询所有群属性的结果。
  • 相关接口:[queryGroupAttributes] 查询指定群属性。
  • 支持版本:2.0.0 及以上。

setGroupMemberRole

setGroupMemberRole
virtual void setGroupMemberRole(ZIMGroupMemberRole role, const std::string& forUserID, const std::string& groupID, const ZIMGroupMemberRoleUpdatedCallback& callback) = 0
设置群成员角色。
Declared in ZIM.h

参数

名称类型描述
roleZIMGroupMemberRole要设置的成员角色值。
forUserIDconst std::string&要设置角色的目标用户 ID。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupMemberRoleUpdatedCallback&设置群成员角色结果的回调。

详情

当一个群组被创建后,用户可以通过该方法设置群成员角色。

  • 业务场景:在多人群组中,需要对指定群成员角色进行设置。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupMemberRoleUpdatedCallback] 回调可拿到设置群成员角色的结果。
  • 支持版本:2.0.0 及以上。
  • 注意事项:群主 role 为1 、管理员 role 为 2、普通成员 role 为 3。可调用该接口修改,role 不可修改为 1。如需自定义 role,建议将数值设置为 100 以后,其权限与普通成员一致。
  • 使用限制:非群主不可用。

setGroupMemberNickname

setGroupMemberNickname
virtual void setGroupMemberNickname(const std::string& nickname, const std::string& forUserID, const std::string& groupID, const ZIMGroupMemberNicknameUpdatedCallback& callback) = 0
设置群成员昵称。
Declared in ZIM.h

参数

名称类型描述
nicknameconst std::string&新的群昵称。
forUserIDconst std::string&要设置昵称的目标用户 ID。
groupIDconst std::string&目标群组 ID。
callbackconst ZIMGroupMemberNicknameUpdatedCallback&设置群成员昵称结果的回调。

详情

当一个群组被创建后,用户可以通过该方法设置群成员昵称。

  • 业务场景:需要对群成员设置昵称。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMGroupMemberNicknameUpdatedCallback] 回调可拿到设置群成员昵称的结果。
  • 支持版本:2.0.0 及以上。
  • 注意事项:群成员昵称限制最大长度为 100,无特殊字符限制。
  • 使用限制:登录后可用,登出后不可用 。群主可以修改自己和群内成员的昵称,群内成员只能修改自己的昵称。

muteGroup

muteGroup
virtual void muteGroup(bool isMute, const std::string& groupID, const ZIMGroupMuteConfig& config, const ZIMGroupMutedCallback& callback) = 0
禁言群组。
Declared in ZIM.h

参数

名称类型描述
isMutebool是否禁言,[true] 表示禁言,[false] 表示解除禁言。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupMuteConfig&群禁言配置。
callbackconst ZIMGroupMutedCallback&禁言/解除禁言群组结果的回调。

详情

当一个群组被创建后,群组的管理者可以调用该接口实行群组禁言与解除群组禁言。

  • 业务场景:创建群组后,群组的管理者需要更改群组禁言状态。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录进入群组后可调用。
  • 相关回调:通过 [ZIMGroupMutedCallback] 回调可拿到更改群禁言状态的结果,通过 [onGroupMutedInfoUpdated] 可拿到更新群禁言状态信息。
  • 支持版本:2.14.0 及以上。
  • 使用限制:仅限群组的管理者可调用。

muteGroupMembers

muteGroupMembers
virtual void muteGroupMembers(bool isMute, const std::vector<std::string>& userIDs, const std::string& groupID, const ZIMGroupMemberMuteConfig& config, const ZIMGroupMembersMutedCallback& callback) = 0
禁言群成员。
Declared in ZIM.h

参数

名称类型描述
isMutebool是否禁言,[true] 表示禁言,[false] 表示解除禁言。
userIDsconst std::vector<std::string>&要禁言/解除禁言的用户 ID 列表。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupMemberMuteConfig&群成员禁言配置。
callbackconst ZIMGroupMembersMutedCallback&禁言/解除禁言群成员结果的回调。

详情

当一个群组被创建后,群组的管理者可以调用该接口实行群组成员禁言与解除群组成员禁言。

  • 业务场景:创建群组后,用户需要更改群组成员禁言状态。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录进入群组后可调用。
  • 相关回调:通过 [ZIMGroupMembersMutedCallback] 回调可拿到更改群成员禁言状态的结果,通过 [onGroupMemberInfoUpdated] 可拿到更新群成员禁言状态信息。
  • 支持版本:2.14.0 及以上。
  • 使用限制:群主与群管理员可调用。

queryGroupMemberMutedList

queryGroupMemberMutedList
virtual void queryGroupMemberMutedList(const std::string& groupID, const ZIMGroupMemberMutedListQueryConfig& config, const ZIMGroupMemberMutedListQueriedCallback& callback) = 0
查询群禁言成员列表。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupMemberMutedListQueryConfig&群禁言成员列表查询配置。
callbackconst ZIMGroupMemberMutedListQueriedCallback&查询群禁言成员列表结果的回调。

详情

当一个群组被创建后,用户可以通过该方法查询群禁言成员列表。

  • 业务场景:需要获取指定群禁言成员列表信息进行展示或交互。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录且加入群后可调用。
  • 相关回调:通过 [ZIMGroupMembersMutedCallback] 回调可拿到查询群禁言成员列表的结果。
  • 支持版本:2.14.0 及以上。
  • 使用限制:登录后可用,登出后不可用 。

queryGroupMessageReceiptReadMemberList

queryGroupMessageReceiptReadMemberList
virtual void queryGroupMessageReceiptReadMemberList(ZIMMessage message, const std::string& groupID, const ZIMGroupMessageReceiptMemberQueryConfig& config, const ZIMGroupMessageReceiptMemberListQueriedCallback& callback) = 0
查询群消息已读成员列表。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage要查询已读成员列表的群消息。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupMessageReceiptMemberQueryConfig&群消息回执成员查询配置。
callbackconst ZIMGroupMessageReceiptMemberListQueriedCallback&查询群消息已读成员列表结果的回调。

详情

该方法可以查询一个群某一条自己发的消息的具体已读成员列表。

  • 业务场景:开发者可通过这个方法,查询一条自己发的消息的具体已读成员列表。
  • 调用时机:登录后可调用。
  • 相关回调:[ZIMGroupMessageReceiptMemberListQueriedCallback]。
  • 相关接口:如果需要查询某一条消息的回执状态或只需要查询已读/未读数,通过接口 [queryMessageReceiptsInfo] 查询。
  • 支持版本:2.5.0 及以上。
  • 使用限制:仅支持查询本端发送的消息,且消息的回执状态不为 NONE。如果该用户不在群组,或已被踢出群组,则无法查到对应的成员列表。

queryGroupMessageReceiptUnreadMemberList

queryGroupMessageReceiptUnreadMemberList
virtual void queryGroupMessageReceiptUnreadMemberList(ZIMMessage message, const std::string& groupID, const ZIMGroupMessageReceiptMemberQueryConfig& config, const ZIMGroupMessageReceiptMemberListQueriedCallback& callback) = 0
查询群消息未读成员列表。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage要查询未读成员列表的群消息。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupMessageReceiptMemberQueryConfig&群消息回执成员查询配置。
callbackconst ZIMGroupMessageReceiptMemberListQueriedCallback&查询群消息未读成员列表结果的回调。

详情

该方法可以查询一个群某一条自己发的消息的具体未读成员列表。

  • 业务场景:开发者可通过这个方法,查询一条自己发的消息的具体未读成员列表。
  • 调用时机:登录后可调用。
  • 相关回调:[ZIMGroupMessageReceiptMemberListQueriedCallback]。
  • 相关接口:如果需要查询某一条消息的回执状态或只需要查询已读/未读数,通过接口 [queryMessageReceiptsInfo] 查询。
  • 支持版本:2.5.0 及以上。
  • 使用限制:仅支持查询本端发送的消息,且消息的回执状态不为 NONE。如果该用户不在群组,或已被踢出群组,则无法查到对应的成员列表。

searchLocalGroups

searchLocalGroups
virtual void searchLocalGroups(const ZIMGroupSearchConfig& config, const ZIMGroupsSearchedCallback& callback) = 0
搜索本地群组。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMGroupSearchConfig&群组搜索配置。
callbackconst ZIMGroupsSearchedCallback&搜索群组结果的回调。

详情

该方法用于搜索本地群组。

  • 业务场景:当需要通过关键字等配置搜索本地群组时,可以调用该接口进行搜索。
  • 调用时机:调用 [login] 登录后。
  • 相关回调:[ZIMGroupsSearchedCallback]
  • 支持版本:2.9.0 及以上。
  • 使用限制:登录后生效,登出后失效。

searchLocalGroupMembers

searchLocalGroupMembers
virtual void searchLocalGroupMembers(const std::string& groupID, const ZIMGroupMemberSearchConfig& config, const ZIMGroupMembersSearchedCallback& callback) = 0
搜索本地群成员。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&要搜索成员的群组 ID。
configconst ZIMGroupMemberSearchConfig&群成员搜索配置。
callbackconst ZIMGroupMembersSearchedCallback&搜索群成员结果的回调。

详情

该方法用于搜索群成员。

  • 业务场景:当需要通过关键字等配置搜索本地群成员时,可以调用该接口进行搜索。
  • 相关回调:[ZIMGroupMembersSearchedCallback]
  • 支持版本:2.9.0 及以上。
  • 使用限制:登录后生效,登出后失效。

sendGroupJoinApplication

sendGroupJoinApplication
virtual void sendGroupJoinApplication(const std::string& groupID, const ZIMGroupJoinApplicationSendConfig& config, const ZIMGroupJoinApplicationSentCallback& callback) = 0
发送加群申请。
Declared in ZIM.h

参数

名称类型描述
groupIDconst std::string&要申请加入的群组 ID。
configconst ZIMGroupJoinApplicationSendConfig&加群申请配置。
callbackconst ZIMGroupJoinApplicationSentCallback&发送加群申请结果的回调。

详情

当一个群组的 joinMode 为 Auth 时,用户可以通过此方法申请加入群组。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

acceptGroupJoinApplication

acceptGroupJoinApplication
virtual void acceptGroupJoinApplication(const std::string& userID, const std::string& groupID, const ZIMGroupJoinApplicationAcceptConfig& config, const ZIMGroupJoinApplicationAcceptedCallback& callback) = 0
同意加群申请。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&申请加群的用户 ID。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupJoinApplicationAcceptConfig&同意加群申请配置。
callbackconst ZIMGroupJoinApplicationAcceptedCallback&同意加群申请结果的回调。

详情

当一个群组的 joinMode 为需要 Auth 时,外部用户发出入群申请后,群主或管理员可以通过此方法同意申请。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

rejectGroupJoinApplication

rejectGroupJoinApplication
virtual void rejectGroupJoinApplication(const std::string& userID, const std::string& groupID, const ZIMGroupJoinApplicationRejectConfig& config, const ZIMGroupJoinApplicationRejectedCallback& callback) = 0
拒绝加群申请。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&申请加群的用户 ID。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupJoinApplicationRejectConfig&拒绝加群申请配置。
callbackconst ZIMGroupJoinApplicationRejectedCallback&拒绝加群申请结果的回调。

详情

当一个群组的 joinMode 为 Auth 时,群主或管理员可以通过此方法拒绝用户的加群申请。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

sendGroupInviteApplications

sendGroupInviteApplications
virtual void sendGroupInviteApplications(const std::vector<std::string>& userIDs, const std::string& groupID, const ZIMGroupInviteApplicationSendConfig& config, const ZIMGroupInviteApplicationsSentCallback& callback) = 0
发送邀请入群申请。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要邀请的用户 ID 列表。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupInviteApplicationSendConfig&邀请入群申请配置。
callbackconst ZIMGroupInviteApplicationsSentCallback&发送邀请入群申请结果的回调。

详情

当一个群组的被邀请入群验证模式为需要被邀请人审批时,群成员可以通过此方法发送邀请入群。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

acceptGroupInviteApplication

acceptGroupInviteApplication
virtual void acceptGroupInviteApplication(const std::string& inviterUserID, const std::string& groupID, const ZIMGroupInviteApplicationAcceptConfig& config, const ZIMGroupInviteApplicationAcceptedCallback& callback) = 0
同意邀请入群申请。
Declared in ZIM.h

参数

名称类型描述
inviterUserIDconst std::string&邀请方的用户 ID。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupInviteApplicationAcceptConfig&同意邀请入群申请配置。
callbackconst ZIMGroupInviteApplicationAcceptedCallback&同意邀请入群申请结果的回调。

详情

当一个群组的 beInviteMode 模式为 Auth 时,群组外部用户收到入群邀请后,可以通过此方接受邀请,成为群组成员。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

rejectGroupInviteApplication

rejectGroupInviteApplication
virtual void rejectGroupInviteApplication(const std::string& inviterUserID, const std::string& groupID, const ZIMGroupInviteApplicationRejectConfig& config, const ZIMGroupInviteApplicationRejectedCallback& callback) = 0
拒绝邀请入群申请。
Declared in ZIM.h

参数

名称类型描述
inviterUserIDconst std::string&邀请方的用户 ID。
groupIDconst std::string&目标群组 ID。
configconst ZIMGroupInviteApplicationRejectConfig&拒绝邀请入群申请配置。
callbackconst ZIMGroupInviteApplicationRejectedCallback&拒绝邀请入群申请结果的回调。

详情

当一个群组的 beInviteMode 为需要 Auth 时,被邀请入群的用户可以通过此方法拒绝邀请。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

queryGroupApplicationList

queryGroupApplicationList
virtual void queryGroupApplicationList(const ZIMGroupApplicationListQueryConfig& config, const ZIMGroupApplicationListQueriedCallback& callback) = 0
查询入群申请列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMGroupApplicationListQueryConfig&入群申请列表查询配置。
callbackconst ZIMGroupApplicationListQueriedCallback&查询入群申请列表结果的回调。

详情

查询结果包含自己的入群申请和自己被邀请入群的申请。当用户是群主或管理员时,查询结果还会包含他人的入群申请和自己邀请他人入群的申请。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:2.15.0 及以上。

callInvite

callInvite
virtual void callInvite(const std::vector<std::string>& invitees, const ZIMCallInviteConfig& config, const ZIMCallInvitationSentCallback& callback) = 0
发起呼叫邀请。
Declared in ZIM.h

参数

名称类型描述
inviteesconst std::vector<std::string>&被邀请的用户 ID 列表。
configconst ZIMCallInviteConfig&呼叫邀请配置。
callbackconst ZIMCallInvitationSentCallback&发起呼叫邀请结果的回调。

详情

当主叫发起呼叫邀请后,被叫可通过 [callAccept] 来接受呼叫邀请或者 [callReject] 来拒绝邀请。

  • 业务场景:当需要对一个或者多个用户发起邀请时,可调用此接口。
  • 调用时机:通过 [create] 创建 ZIM 实例后可调用。
  • 相关回调:[ZIMCallInvitationSentCallback]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:呼叫邀请有超时时间,超时时间到了呼叫邀请将结束,使用 [ZIMCallInviteConfig] 中的 timeout 来控制超时时间,范围为1-600,单位为秒。暂不支持离线呼叫邀请,接收或拒绝后呼叫邀请随即结束。invitees 最多为 9 人。

callCancel

callCancel
virtual void callCancel(const std::vector<std::string>& invitees, const std::string& callID, const ZIMCallCancelConfig& config, const ZIMCallCancelSentCallback& callback) = 0
取消呼叫邀请。
Declared in ZIM.h

参数

名称类型描述
inviteesconst std::vector<std::string>&要取消邀请的被叫用户 ID 列表。
callIDconst std::string&要取消的呼叫邀请 ID。
configconst ZIMCallCancelConfig&取消呼叫邀请配置。
callbackconst ZIMCallCancelSentCallback&取消呼叫邀请结果的回调。

详情

当主叫发起呼叫邀请后,在超时时间前可通过该接口取消该呼叫邀请。

  • 业务场景:需要取消之前发起的呼叫邀请时,可通过该接口来取消呼叫邀请。
  • 调用时机:通过 [create] 创建 ZIM 实例后可调用。
  • 相关回调:[ZIMCallCancelSentCallback]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:呼叫邀请的超时时间到后再取消呼叫邀请会失败。

callAccept

callAccept
virtual void callAccept(const std::string& callID, const ZIMCallAcceptConfig& config, const ZIMCallAcceptanceSentCallback& callback) = 0
接受呼叫邀请。
Declared in ZIM.h

参数

名称类型描述
callIDconst std::string&要接受的呼叫邀请 ID。
configconst ZIMCallAcceptConfig&接受呼叫邀请配置。
callbackconst ZIMCallAcceptanceSentCallback&接受呼叫邀请结果的回调。

详情

当主叫发起呼叫邀请后,被叫可通过该接口接受这次呼叫邀请。

  • 业务场景:ZIM SDK在接受后无相关业务逻辑,开发者可以自定义接受后的开发逻辑,如收到其他主叫发起的邀请后,通过该接口来接受呼叫邀请,之后使用 RTC 开启语音聊天功能。
  • 调用时机:通过 [create] 创建 ZIM 实例后可调用。
  • 相关回调:[ZIMCallAcceptanceSentCallback]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:被叫接受未被邀请的 callID 会失败。超时后接受会报错。

callReject

callReject
virtual void callReject(const std::string& callID, const ZIMCallRejectConfig& config, const ZIMCallRejectionSentCallback& callback) = 0
拒绝呼叫邀请。
Declared in ZIM.h

参数

名称类型描述
callIDconst std::string&要拒绝的呼叫邀请 ID。
configconst ZIMCallRejectConfig&拒绝呼叫邀请配置。
callbackconst ZIMCallRejectionSentCallback&拒绝呼叫邀请结果的回调。

详情

当主叫发起呼叫邀请后,被叫可通过该接口拒绝这次呼叫邀请。

  • 业务场景:收到其他主叫发起的邀请后,可通过该接口来拒绝呼叫邀请。
  • 调用时机:通过 [create] 创建 ZIM 实例后可调用。
  • 相关回调:[ZIMCallRejectionSentCallback]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:被叫拒绝未被邀请的callid会失败,ZIM SDK在接受后无相关业务逻辑,开发者可以自定义拒绝后的开发逻辑。

callingInvite

callingInvite
virtual void callingInvite(const std::vector<std::string>& invitees, const std::string& callID, const ZIMCallingInviteConfig& config, const ZIMCallingInvitationSentCallback& callback) = 0
邀请其他用户加入呼叫邀请。
Declared in ZIM.h

参数

名称类型描述
inviteesconst std::vector<std::string>&要邀请加入呼叫的用户 ID 列表。
callIDconst std::string&当前呼叫邀请 ID。
configconst ZIMCallingInviteConfig&进阶模式呼叫中邀请配置。
callbackconst ZIMCallingInvitationSentCallback&邀请其他用户加入呼叫结果的回调。

详情

在进阶模式下,当主叫发起呼叫邀请后,呼叫内的用户可通过该接口继续邀请其他用户加入呼叫。

  • 调用时机:主叫调用 [callInvite] 发起进阶模式的呼叫邀请后使用,或被叫接受进阶模式呼叫邀请后。
  • 相关回调:[ZIMCallingInvitationSentCallback]。
  • 支持版本:2.9.0 及以上。
  • 注意事项:不在呼叫内的用户调用会失败。ZIM SDK 在接受后无相关业务逻辑,开发者可以自定义加入呼叫后的开发逻辑。呼叫默认最多只能包含 9 名用户。

callJoin

callJoin
virtual void callJoin(const std::string& callID, const ZIMCallJoinConfig& config, const ZIMCallJoinSentCallback& callback) = 0
加入进阶模式呼叫,或者切换进阶模式呼叫的主设备(仅限多端登录)
Declared in ZIM.h

参数

名称类型描述
callIDconst std::string&要加入的呼叫邀请 ID。
configconst ZIMCallJoinConfig&加入呼叫配置。
callbackconst ZIMCallJoinSentCallback&加入呼叫结果的回调。

详情

在实现进阶模式呼叫邀请后,可以调用该接口加入呼叫或者切换主设备。

  • 业务场景:没有加入呼叫的用户加入呼叫,或者已在呼叫内的用户切换主设备。
  • 调用时机:需要登录后调用。
  • 支持版本:2.12.0。

callQuit

callQuit
virtual void callQuit(const std::string& callID, const ZIMCallQuitConfig& config, const ZIMCallQuitSentCallback& callback) = 0
退出当前呼叫邀请。
Declared in ZIM.h

参数

名称类型描述
callIDconst std::string&要退出的呼叫邀请 ID。
configconst ZIMCallQuitConfig&退出呼叫配置。
callbackconst ZIMCallQuitSentCallback&退出呼叫结果的回调。

详情

退出进阶模式呼叫。

  • 调用时机:呼叫建立后,呼叫状态为 Accepted 的用户可调用此接口。
  • 相关回调:[ZIMCallQuitSentCallback]。
  • 支持版本:2.9.0 及以上。
  • 注意事项:被叫退出未接受的呼叫的 callid 会失败。ZIM SDK 在接受后无相关业务逻辑,开发者可以自定义退出呼叫后的开发逻辑。

callEnd

callEnd
virtual void callEnd(const std::string& callID, const ZIMCallEndConfig& config, const ZIMCallEndSentCallback& callback) = 0
结束呼叫邀请。
Declared in ZIM.h

参数

名称类型描述
callIDconst std::string&要结束的呼叫邀请 ID。
configconst ZIMCallEndConfig&结束呼叫配置。
callbackconst ZIMCallEndSentCallback&结束呼叫结果的回调。

详情

结束进阶模式呼叫。

  • 调用时机:呼叫为进阶模式且用户状态为 "Accepted"。
  • 相关回调:[ZIMCallEndSentCallback]。
  • 支持版本:2.9.0 及以上。
  • 注意事项:不在呼叫内的用户调用会失败。ZIM SDK 无呼叫结束后的相关业务逻辑,开发者可以自定义结束后的开发逻辑。

queryCallInvitationList

queryCallInvitationList
virtual void queryCallInvitationList(const ZIMCallInvitationQueryConfig& config, const ZIMCallInvitationListQueriedCallback& callback) = 0
查询呼叫邀请列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMCallInvitationQueryConfig&呼叫邀请列表查询配置。
callbackconst ZIMCallInvitationListQueriedCallback&查询呼叫邀请列表结果的回调。

详情

用户可通过该查询呼叫邀请列表。

  • 业务场景:用户可通过该查询呼叫邀请列表,用作界面展示或其他功能。
  • 调用时机:通过 [create] 创建 ZIM 实例, 登录后可调用。
  • 相关回调:[ZIMCallInvitationListQueriedCallback]。
  • 支持版本:2.9.0 及以上。

addFriend

addFriend
virtual void addFriend(const std::string& userID, const ZIMFriendAddConfig& config, const ZIMFriendAddedCallback& callback) = 0
直接添加好友。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&要添加为好友的用户 ID。
configconst ZIMFriendAddConfig&添加好友配置。
callbackconst ZIMFriendAddedCallback&添加好友结果的回调。

详情

通过该接口可以将指定 userID 用户添加到好友列表。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[onFriendListChanged]。
  • 支持版本:2.14.0 及以上。

deleteFriends

deleteFriends
virtual void deleteFriends(const std::vector<std::string>& userIDs, const ZIMFriendDeleteConfig& config, const ZIMFriendsDeletedCallback& callback) = 0
批量删除好友。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要删除的好友用户 ID 列表。
configconst ZIMFriendDeleteConfig&删除好友配置。
callbackconst ZIMFriendsDeletedCallback&删除好友结果的回调。

详情

通过该接口可以将好友列表中指定用户删除。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[onFriendListChanged]。
  • 支持版本:2.14.0 及以上。

checkFriendsRelation

checkFriendsRelation
virtual void checkFriendsRelation(const std::vector<std::string>& userIDs, const ZIMFriendRelationCheckConfig& config, const ZIMFriendsRelationCheckedCallback& callback) = 0
检查好友关系。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要检查好友关系的用户 ID 列表。
configconst ZIMFriendRelationCheckConfig&好友关系检查配置。
callbackconst ZIMFriendsRelationCheckedCallback&检查好友关系结果的回调。

详情

通过该接口可以检查与指定用户之间的好友关系。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMFriendsRelationCheckedCallback]。
  • 支持版本:2.14.0 及以上。

updateFriendAlias

updateFriendAlias
virtual void updateFriendAlias(const std::string& friendAlias, const std::string& userID, const ZIMFriendAliasUpdatedCallback& callback) = 0
更新好友备注。
Declared in ZIM.h

参数

名称类型描述
friendAliasconst std::string&新的好友备注名。
userIDconst std::string&要更新备注的好友用户 ID。
callbackconst ZIMFriendAliasUpdatedCallback&更新好友备注结果的回调。

详情

通过该接口可以将指定 userID 用户更新备注。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMFriendAliasUpdatedCallback]。
  • 支持版本:2.14.0 及以上。

updateFriendAttributes

updateFriendAttributes
virtual void updateFriendAttributes(const std::unordered_map<std::string, std::string>& friendAttributes, const std::string& userID, const ZIMFriendAttributesUpdatedCallback& callback) = 0
更新好友属性。
Declared in ZIM.h

参数

名称类型描述
friendAttributesconst std::unordered_map<std::string, std::string>&要更新的好友属性,键值对形式。
userIDconst std::string&要更新属性的好友用户 ID。
callbackconst ZIMFriendAttributesUpdatedCallback&更新好友属性结果的回调。

详情

通过该接口可以将指定 userID 用户更新好友属性。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 支持版本:2.14.0 及以上。

queryFriendsInfo

queryFriendsInfo
virtual void queryFriendsInfo(const std::vector<std::string>& userIDs, const ZIMFriendsInfoQueriedCallback& callback) = 0
批量查询好友信息。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要查询信息的好友用户 ID 列表。
callbackconst ZIMFriendsInfoQueriedCallback&查询好友信息结果的回调。

详情

需要查询一批指定好友的信息做展示,可通过该接口查询。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMFriendListQueriedCallback]。
  • 支持版本:2.14.0 及以上。

queryFriendList

queryFriendList
virtual void queryFriendList(const ZIMFriendListQueryConfig& config, const ZIMFriendListQueriedCallback& callback) = 0
查询好友列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMFriendListQueryConfig&好友列表查询配置。
callbackconst ZIMFriendListQueriedCallback&查询好友列表结果的回调。

详情

需要分页查询好友列表,可通过该接口查询。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMFriendListQueriedResult]。
  • 支持版本:2.14.0 及以上。

searchLocalFriends

searchLocalFriends
virtual void searchLocalFriends(const ZIMFriendSearchConfig& config, const ZIMFriendsSearchedCallback& callback) = 0
搜索本地好友。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMFriendSearchConfig&好友搜索配置。
callbackconst ZIMFriendsSearchedCallback&搜索本地好友结果的回调。

详情

通过该接口可以根据关键词搜索本地好友信息。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMFriendsSearchedCallback]。
  • 支持版本:2.14.0 及以上。

sendFriendApplication

sendFriendApplication
virtual void sendFriendApplication(const std::string& userID, const ZIMFriendApplicationSendConfig& config, const ZIMFriendApplicationSentCallback& callback) = 0
发送好友申请。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&要发送好友申请的目标用户 ID。
configconst ZIMFriendApplicationSendConfig&好友申请配置。
callbackconst ZIMFriendApplicationSentCallback&发送好友申请结果的回调。

详情

当用户需要发起好友申请,可通过 [sendFriendApplication] 向对方发起好友申请。

  • 业务场景:当需要对一个用户发起好友申请时,可调用此接口。
  • 调用时机:通过 [create] 创建 ZIM 实例后可调用。
  • 相关回调:[onFriendApplicationListChanged]。
  • 支持版本:2.14.0 及以上。

acceptFriendApplication

acceptFriendApplication
virtual void acceptFriendApplication(const std::string& userID, const ZIMFriendApplicationAcceptConfig& config, const ZIMFriendApplicationAcceptedCallback& callback) = 0
接受好友申请。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&发送好友申请的用户 ID。
configconst ZIMFriendApplicationAcceptConfig&接受好友申请配置。
callbackconst ZIMFriendApplicationAcceptedCallback&接受好友申请结果的回调。

详情

收到好友申请后,通过该接口接受该好友申请。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMFriendApplicationAcceptedCallback]。
  • 支持版本:2.14.0 及以上。

rejectFriendApplication

rejectFriendApplication
virtual void rejectFriendApplication(const std::string& userID, const ZIMFriendApplicationRejectConfig& config, const ZIMFriendApplicationRejectedCallback& callback) = 0
拒绝好友申请。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&发送好友申请的用户 ID。
configconst ZIMFriendApplicationRejectConfig&拒绝好友申请配置。
callbackconst ZIMFriendApplicationRejectedCallback&拒绝好友申请结果的回调。

详情

收到好友申请后,通过该接口拒绝该好友申请。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMFriendApplicationRejectedCallback]。
  • 支持版本:2.14.0 及以上。

queryFriendApplicationList

queryFriendApplicationList
virtual void queryFriendApplicationList(const ZIMFriendApplicationListQueryConfig& config, const ZIMFriendApplicationListQueriedCallback& callback) = 0
查询好友申请列表。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMFriendApplicationListQueryConfig&好友申请列表查询配置。
callbackconst ZIMFriendApplicationListQueriedCallback&查询好友申请列表结果的回调。

详情

需要分页查询好友申请列表,可通过该接口查询。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMFriendApplicationListQueriedCallback]。
  • 支持版本:2.14.0 及以上。

addUsersToBlacklist

addUsersToBlacklist
virtual void addUsersToBlacklist(const std::vector<std::string>& userIDs, const ZIMBlacklistUsersAddedCallback& callback) = 0
添加用户到黑名单。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要加入黑名单的用户 ID 列表。
callbackconst ZIMBlacklistUsersAddedCallback&添加用户到黑名单结果的回调。

详情

通过该接口可以将指定 userID 用户添加到黑名单。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMBlacklistUsersAddedCallback]。
  • 支持版本:2.13.0 及以上。
  • 使用限制:传入的 userID 一次性不能超过 20 个。

removeUsersFromBlacklist

removeUsersFromBlacklist
virtual void removeUsersFromBlacklist(const std::vector<std::string>& userIDs, const ZIMBlacklistUsersRemovedCallback& callback) = 0
将用户移除出黑名单。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要从黑名单移除的用户 ID 列表。
callbackconst ZIMBlacklistUsersRemovedCallback&将用户移除黑名单结果的回调。

详情

通过该接口可以将指定 userID 用户移除出黑名单。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMBlacklistUsersRemovedCallback]。
  • 支持版本:2.13.0 及以上。
  • 使用限制:传入的 userID 一次性不能超过 20 个。

queryBlacklist

queryBlacklist
virtual void queryBlacklist(const ZIMBlacklistQueryConfig& config, const ZIMBlacklistQueriedCallback& callback) = 0
查询黑名单。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMBlacklistQueryConfig&黑名单查询配置。
callbackconst ZIMBlacklistQueriedCallback&查询黑名单结果的回调。

详情

查询黑名单。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMBlacklistQueriedCallback]。
  • 支持版本:2.13.0 及以上。

checkUserIsInBlacklist

checkUserIsInBlacklist
virtual void checkUserIsInBlacklist(const std::string& userID, const ZIMBlacklistCheckedCallback& callback) = 0
检查用户是否在黑名单。
Declared in ZIM.h

参数

名称类型描述
userIDconst std::string&要检查是否在黑名单中的用户 ID。
callbackconst ZIMBlacklistCheckedCallback&检查用户是否在黑名单结果的回调。

详情

通过该接口可以检查某个 userID 是否在黑名单内。

  • 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
  • 相关回调:[ZIMBlacklistCheckedCallback]。
  • 支持版本:2.13.0 及以上。

createCommunity

createCommunity
virtual void createCommunity(const ZIMCommunityInfo& communityInfo, const ZIMCommunityCreateConfig& config, const ZIMCommunityCreatedCallback& callback) = 0
创建社群。
Declared in ZIM.h

参数

名称类型描述
communityInfoconst ZIMCommunityInfo&将要被创建的社群的信息。
configconst ZIMCommunityCreateConfig&创建社群的相关配置。
callbackconst ZIMCommunityCreatedCallback&创建社群的结果的回调。

详情

创建一个支持海量成员同时互动的社区类群组。

  • 业务场景:用于创建一个超大型社交群组,支持 10w 人同时参与到社群中进行聊天或者互动。
  • 相关回调:通过 [ZIMCommunityCreatedCallback] 回调可拿到创建社群的结果。
  • 支持版本:3.0.0。

dismissCommunity

dismissCommunity
virtual void dismissCommunity(const std::string& communityID, const ZIMCommunityDismissedCallback& callback) = 0
解散社群。
Declared in ZIM.h

参数

名称类型描述
communityIDconst std::string&要解散的社群 ID。
callbackconst ZIMCommunityDismissedCallback&解散社群结果的回调。

详情

社群创建后,社群所有者可通过此接口解散社群。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityDismissedCallback] 获取解散社群的结果。
  • 支持版本:3.0.0。
  • 注意事项:仅社群所有者可解散社群。

joinCommunity

joinCommunity
virtual void joinCommunity(const std::string& communityID, const ZIMCommunityJoinedCallback& callback) = 0
加入社群。
Declared in ZIM.h

参数

名称类型描述
communityIDconst std::string&要加入的社群 ID。
callbackconst ZIMCommunityJoinedCallback&加入社群结果的回调。

详情

用户可通过此接口加入指定社群。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityJoinedCallback] 获取加入社群的结果。
  • 支持版本:3.0.0。

leaveCommunity

leaveCommunity
virtual void leaveCommunity(const std::string& communityID, const ZIMCommunityLeftCallback& callback) = 0
退出社群。
Declared in ZIM.h

参数

名称类型描述
communityIDconst std::string&要退出的社群 ID。
callbackconst ZIMCommunityLeftCallback&退出社群结果的回调。

详情

用户加入社群后可通过此接口退出社群。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityLeftCallback] 获取退出社群的结果。
  • 支持版本:3.0.0。

inviteUsersIntoCommunity

inviteUsersIntoCommunity
virtual void inviteUsersIntoCommunity(const std::vector<std::string>& userIDs, const std::string& communityID, const ZIMCommunityUsersInvitedCallback& callback) = 0
邀请用户加入社群。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要邀请的用户 ID 列表。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityUsersInvitedCallback&邀请用户加入社群结果的回调。

详情

邀请指定用户加入社群。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityUsersInvitedCallback] 获取邀请结果。
  • 支持版本:3.0.0。

kickCommunityMembers

kickCommunityMembers
virtual void kickCommunityMembers(const std::vector<std::string>& userIDs, const std::string& communityID, const ZIMCommunityMembersKickedCallback& callback) = 0
移出社群成员。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要踢出社群的用户 ID 列表。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityMembersKickedCallback&移出社群成员结果的回调。

详情

将指定用户从社群中移出。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityMembersKickedCallback] 获取踢出结果。
  • 支持版本:3.0.0。
  • 注意事项:仅社群所有者和管理员可调用。

queryCommunityList

queryCommunityList
virtual void queryCommunityList(unsigned int count, const ZIMCommunityListQueryConfig& config, const ZIMCommunityListQueriedCallback& callback) = 0
查询社群列表。
Declared in ZIM.h

参数

名称类型描述
countunsigned int查询数量。
configconst ZIMCommunityListQueryConfig&社群列表查询配置(可选)。
callbackconst ZIMCommunityListQueriedCallback&查询社群列表结果的回调。

详情

查询当前用户已加入的社群列表。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityListQueriedCallback] 获取查询结果。
  • 支持版本:3.0.0。

updateCommunityName

updateCommunityName
virtual void updateCommunityName(const std::string& communityName, const std::string& communityID, const ZIMCommunityNameUpdatedCallback& callback) = 0
更新社群名称。
Declared in ZIM.h

参数

名称类型描述
communityNameconst std::string&新的社群名称。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityNameUpdatedCallback&更新社群名称结果的回调。

详情

更新指定社群的名称。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityNameUpdatedCallback] 获取更新结果。
  • 支持版本:3.0.0。

updateCommunityAvatarUrl

updateCommunityAvatarUrl
virtual void updateCommunityAvatarUrl(const std::string& communityAvatarUrl, const std::string& communityID, const ZIMCommunityAvatarUrlUpdatedCallback& callback) = 0
更新社群头像 URL。
Declared in ZIM.h

参数

名称类型描述
communityAvatarUrlconst std::string&新的社群头像 URL。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityAvatarUrlUpdatedCallback&更新社群头像 URL 结果的回调。

详情

更新指定社群的头像 URL。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityAvatarUrlUpdatedCallback] 获取更新结果。
  • 支持版本:3.0.0。

updateCommunityNotice

updateCommunityNotice
virtual void updateCommunityNotice(const std::string& communityNotice, const std::string& communityID, const ZIMCommunityNoticeUpdatedCallback& callback) = 0
更新社群公告。
Declared in ZIM.h

参数

名称类型描述
communityNoticeconst std::string&新的社群公告内容。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityNoticeUpdatedCallback&更新社群公告结果的回调。

详情

更新指定社群的公告内容。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityNoticeUpdatedCallback] 获取更新结果。
  • 支持版本:3.0.0。

setCommunityAttributes

setCommunityAttributes
virtual void setCommunityAttributes(const std::unordered_map<std::string, std::string>& communityAttributes, const std::string& communityID, const ZIMCommunityAttributesOperatedCallback& callback) = 0
设置社群属性。
Declared in ZIM.h

参数

名称类型描述
communityAttributesconst std::unordered_map<std::string, std::string>&要设置的社群属性,键值对形式。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityAttributesOperatedCallback&设置社群属性结果的回调。

详情

设置指定社群的自定义属性。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityAttributesOperatedCallback] 获取设置结果。
  • 支持版本:3.0.0。

deleteCommunityAttributes

deleteCommunityAttributes
virtual void deleteCommunityAttributes(const std::vector<std::string>& keys, const std::string& communityID, const ZIMCommunityAttributesOperatedCallback& callback) = 0
删除社群属性。
Declared in ZIM.h

参数

名称类型描述
keysconst std::vector<std::string>&要删除的社群属性键名列表。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityAttributesOperatedCallback&删除社群属性结果的回调。

详情

删除指定社群的自定义属性。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityAttributesOperatedCallback] 获取删除结果。
  • 支持版本:3.0.0。

setCommunityNotificationStatus

setCommunityNotificationStatus
virtual void setCommunityNotificationStatus(ZIMCommunityMessageNotificationStatus status, const std::string& communityID, const ZIMCommunityNotificationStatusSetCallback& callback) = 0
设置社群消息通知状态。
Declared in ZIM.h

参数

名称类型描述
statusZIMCommunityMessageNotificationStatus要设置的消息通知状态。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityNotificationStatusSetCallback&设置社群消息通知状态结果的回调。

详情

设置当前用户在指定社群中的消息通知状态(如免打扰)。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityNotificationStatusSetCallback] 获取设置结果。
  • 支持版本:3.0.0。

queryCommunityInfo

queryCommunityInfo
virtual void queryCommunityInfo(const std::string& communityID, const ZIMCommunityInfoQueriedCallback& callback) = 0
查询社群信息。
Declared in ZIM.h

参数

名称类型描述
communityIDconst std::string&要查询信息的社群 ID。
callbackconst ZIMCommunityInfoQueriedCallback&查询社群信息结果的回调。

详情

查询指定社群的详细信息。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityInfoQueriedCallback] 获取查询结果。
  • 支持版本:3.0.0。

updateCommunityMemberRole

updateCommunityMemberRole
virtual void updateCommunityMemberRole(ZIMCommunityMemberRole memberRole, const std::string& forUserID, const std::string& communityID, const ZIMCommunityMemberRoleUpdatedCallback& callback) = 0
更新社群成员角色。
Declared in ZIM.h

参数

名称类型描述
memberRoleZIMCommunityMemberRole要设置的成员角色值。
forUserIDconst std::string&要更新角色的目标用户 ID。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityMemberRoleUpdatedCallback&更新社群成员角色结果的回调。

详情

更新指定社群成员的角色。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityMemberRoleUpdatedCallback] 获取更新结果。
  • 支持版本:3.0.0。
  • 注意事项:仅社群所有者可调用。

transferCommunityOwner

transferCommunityOwner
virtual void transferCommunityOwner(const std::string& toUserID, const std::string& communityID, const ZIMCommunityOwnerTransferredCallback& callback) = 0
转让社群所有者。
Declared in ZIM.h

参数

名称类型描述
toUserIDconst std::string&要转让所有者的目标用户 ID。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityOwnerTransferredCallback&转让社群所有者结果的回调。

详情

社群所有者可通过此方法将所有者身份转让给指定用户。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityOwnerTransferredCallback] 获取转让结果。
  • 支持版本:3.0.0。
  • 注意事项:仅社群所有者可调用。

queryCommunityMemberList

queryCommunityMemberList
virtual void queryCommunityMemberList(const std::string& communityID, unsigned int count, const ZIMCommunityMemberListQueryConfig& config, const ZIMCommunityMemberListQueriedCallback& callback) = 0
查询社群成员列表。
Declared in ZIM.h

参数

名称类型描述
communityIDconst std::string&要查询成员列表的社群 ID。
countunsigned int查询数量。
configconst ZIMCommunityMemberListQueryConfig&社群成员列表查询配置(可选)。
callbackconst ZIMCommunityMemberListQueriedCallback&查询社群成员列表结果的回调。

详情

查询指定社群的成员列表。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityMemberListQueriedCallback] 获取查询结果。
  • 支持版本:3.0.0。

queryCommunityMembers

queryCommunityMembers
virtual void queryCommunityMembers(const std::vector<std::string>& userIDs, const std::string& communityID, const ZIMCommunityMembersQueriedCallback& callback) = 0
查询指定社群成员信息。
Declared in ZIM.h

参数

名称类型描述
userIDsconst std::vector<std::string>&要查询信息的用户 ID 列表。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityMembersQueriedCallback&查询指定社群成员信息结果的回调。

详情

查询指定社群中特定用户的成员信息。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityMembersQueriedCallback] 获取查询结果。
  • 支持版本:3.0.0。

createCommunityChannel

createCommunityChannel
virtual void createCommunityChannel(const ZIMCommunityChannelInfo& channelInfo, const ZIMCommunityChannelCreateConfig& config, const ZIMCommunityChannelCreatedCallback& callback) = 0
创建社群频道。
Declared in ZIM.h

参数

名称类型描述
channelInfoconst ZIMCommunityChannelInfo&将要被创建的社群频道的信息。
configconst ZIMCommunityChannelCreateConfig&创建社群频道的相关配置。
callbackconst ZIMCommunityChannelCreatedCallback&创建社群频道的结果的回调。

详情

在社群里创建一个可聊天的频道,当前版本仅支持创建公共频道。

  • 业务场景:用于在社群中为了区分不同聊天主题,便于社群管理员分而治之,将有相同兴趣主题的用户聚焦到同一个主题下。
  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 支持版本:3.0.0。
  • 注意事项:仅社群主和社群管理员可以在社群中创建频道。

dismissCommunityChannel

dismissCommunityChannel
virtual void dismissCommunityChannel(const std::string& channelID, const std::string& communityID, const ZIMCommunityChannelDismissedCallback& callback) = 0
解散社群频道。
Declared in ZIM.h

参数

名称类型描述
channelIDconst std::string&要解散的频道 ID。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityChannelDismissedCallback&解散社群频道结果的回调。

详情

解散指定社群中的频道。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelDismissedCallback] 获取解散结果。
  • 支持版本:3.0.0。

updateCommunityChannelName

updateCommunityChannelName
virtual void updateCommunityChannelName(const std::string& channelName, const std::string& channelID, const std::string& communityID, const ZIMCommunityChannelNameUpdatedCallback& callback) = 0
更新社群频道名称。
Declared in ZIM.h

参数

名称类型描述
channelNameconst std::string&新的频道名称。
channelIDconst std::string&要更新名称的频道 ID。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityChannelNameUpdatedCallback&更新社群频道名称结果的回调。

详情

更新指定社群频道的名称。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelNameUpdatedCallback] 获取更新结果。
  • 支持版本:3.0.0。

updateCommunityChannelAvatarUrl

updateCommunityChannelAvatarUrl
virtual void updateCommunityChannelAvatarUrl(const std::string& channelAvatarUrl, const std::string& channelID, const std::string& communityID, const ZIMCommunityChannelAvatarUrlUpdatedCallback& callback) = 0
更新社群频道头像 URL。
Declared in ZIM.h

参数

名称类型描述
channelAvatarUrlconst std::string&新的频道头像 URL。
channelIDconst std::string&要更新头像 URL 的频道 ID。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityChannelAvatarUrlUpdatedCallback&更新社群频道头像 URL 结果的回调。

详情

更新指定社群频道的头像 URL。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelAvatarUrlUpdatedCallback] 获取更新结果。
  • 支持版本:3.0.0。

updateCommunityChannelNotice

updateCommunityChannelNotice
virtual void updateCommunityChannelNotice(const std::string& channelNotice, const std::string& channelID, const std::string& communityID, const ZIMCommunityChannelNoticeUpdatedCallback& callback) = 0
更新社群频道公告。
Declared in ZIM.h

参数

名称类型描述
channelNoticeconst std::string&新的频道公告内容。
channelIDconst std::string&要更新公告的频道 ID。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityChannelNoticeUpdatedCallback&更新社群频道公告结果的回调。

详情

更新指定社群频道的公告内容。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelNoticeUpdatedCallback] 获取更新结果。
  • 支持版本:3.0.0。

setCommunityChannelAttributes

setCommunityChannelAttributes
virtual void setCommunityChannelAttributes(const std::unordered_map<std::string, std::string>& channelAttributes, const std::string& channelID, const std::string& communityID, const ZIMCommunityChannelAttributesOperatedCallback& callback) = 0
设置社群频道属性。
Declared in ZIM.h

参数

名称类型描述
channelAttributesconst std::unordered_map<std::string, std::string>&要设置的频道属性,键值对形式。
channelIDconst std::string&目标频道 ID。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityChannelAttributesOperatedCallback&设置社群频道属性结果的回调。

详情

设置指定社群频道的自定义属性。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelAttributesOperatedCallback] 获取设置结果。
  • 支持版本:3.0.0。

deleteCommunityChannelAttributes

deleteCommunityChannelAttributes
virtual void deleteCommunityChannelAttributes(const std::vector<std::string>& keys, const std::string& channelID, const std::string& communityID, const ZIMCommunityChannelAttributesOperatedCallback& callback) = 0
删除社群频道属性。
Declared in ZIM.h

参数

名称类型描述
keysconst std::vector<std::string>&要删除的频道属性键名列表。
channelIDconst std::string&目标频道 ID。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityChannelAttributesOperatedCallback&删除社群频道属性结果的回调。

详情

删除指定社群频道的自定义属性。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelAttributesOperatedCallback] 获取删除结果。
  • 支持版本:3.0.0。

queryCommunityChannelsInfo

queryCommunityChannelsInfo
virtual void queryCommunityChannelsInfo(const std::vector<std::string>& channelIDs, const std::string& communityID, const ZIMCommunityChannelsInfoQueriedCallback& callback) = 0
查询社群频道信息。
Declared in ZIM.h

参数

名称类型描述
channelIDsconst std::vector<std::string>&要查询信息的频道 ID 列表。
communityIDconst std::string&目标社群 ID。
callbackconst ZIMCommunityChannelsInfoQueriedCallback&查询社群频道信息结果的回调。

详情

查询指定社群中多个频道的详细信息。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelsInfoQueriedCallback] 获取查询结果。
  • 支持版本:3.0.0。

queryCommunityChannelList

queryCommunityChannelList
virtual void queryCommunityChannelList(const std::string& communityID, unsigned int count, const ZIMCommunityChannelListQueryConfig& config, const ZIMCommunityChannelListQueriedCallback& callback) = 0
查询社群频道列表。
Declared in ZIM.h

参数

名称类型描述
communityIDconst std::string&要查询频道列表的社群 ID。
countunsigned int查询数量。
configconst ZIMCommunityChannelListQueryConfig&社群频道列表查询配置(可选)。
callbackconst ZIMCommunityChannelListQueriedCallback&查询社群频道列表结果的回调。

详情

查询指定社群的频道列表。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelListQueriedCallback] 获取查询结果。
  • 支持版本:3.0.0。

muteCommunityChannels

muteCommunityChannels
virtual void muteCommunityChannels(bool isMute, const std::vector<std::string>& channelIDs, const std::string& communityID, const ZIMCommunityChannelMuteConfig& config, const ZIMCommunityChannelsMutedCallback& callback) = 0
禁言社群频道。
Declared in ZIM.h

参数

名称类型描述
isMutebool是否禁言,true 表示禁言,false 表示解除禁言。
channelIDsconst std::vector<std::string>&要禁言/解除禁言的频道 ID 列表。
communityIDconst std::string&目标社群 ID。
configconst ZIMCommunityChannelMuteConfig&社群频道禁言配置(可选)。
callbackconst ZIMCommunityChannelsMutedCallback&禁言社群频道结果的回调。

详情

禁言或解除禁言指定社群中的频道。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityChannelsMutedCallback] 获取操作结果。
  • 支持版本:3.0.0。

muteCommunityMembers

muteCommunityMembers
virtual void muteCommunityMembers(bool isMute, const std::vector<std::string>& userIDs, const std::string& communityID, const ZIMCommunityMemberMuteConfig& config, const ZIMCommunityMembersMutedCallback& callback) = 0
禁言社群成员。
Declared in ZIM.h

参数

名称类型描述
isMutebool是否禁言,true 表示禁言,false 表示解除禁言。
userIDsconst std::vector<std::string>&要禁言/解除禁言的用户 ID 列表。
communityIDconst std::string&目标社群 ID。
configconst ZIMCommunityMemberMuteConfig&社群成员禁言配置(可选)。
callbackconst ZIMCommunityMembersMutedCallback&禁言社群成员结果的回调。

详情

禁言或解除禁言指定社群中的成员。

  • 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
  • 相关回调:通过 [ZIMCommunityMembersMutedCallback] 获取操作结果。
  • 支持版本:3.0.0。
  • 注意事项:仅社群所有者和管理员可调用。

ZIMEventHandler

详情

ZIM SDK 事件处理类。

Declared in ZIMEventHandler.h

方法

onError

onError
virtual void onError(const ZIM& zim, const ZIMError& errorInfo) = 0
错误信息回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
errorInfoconst ZIMError&错误信息

详情

SDK 出现异常时,会通过该回调提示详细的异常信息。

  • 业务场景:建议开发者在接入 SDK 后,在调试阶段中监听此回调通知并将错误信息打印到控制台中,用于及时知悉开发过程中发生的错误,及时修改。
  • 触发时机:SDK 内部发生错误时会回调该事件,错误码请参考官网描述。
  • 支持版本:1.0.0 及以上。

onExperimentalEventReceived

onExperimentalEventReceived
virtual void onExperimentalEventReceived(const ZIM& zim, const std::string& content) = 0
实验性 API 回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
contentconst std::string&回调的内容,JSON 字符串格式。

详情

接收实验性 API 回调,请在 ZEGO 技术支持的帮助下使用此功能。

  • 支持版本:2.28.0 及以上。

onTokenWillExpire

onTokenWillExpire
virtual void onTokenWillExpire(const ZIM& zim, unsigned int second) = 0
Token 将要过期的提醒回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
secondunsigned intToken 到期前的剩余秒数。

详情

当开发者使用鉴权 Token 的方式进行登录时,在该 Token 将要过期时可以通过该事件处理更新鉴权的逻辑。

  • 触发时机:在鉴权 Token 只剩下 30秒时,SDK 会回调此函数通知开发者更新鉴权 Token。若开发者 [login] 时传入的鉴权 Token 不足 30秒的有效期,则在 [login] 成功之后即会回调出来。
  • 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617
  • 支持版本:1. 1.0 及以上。
  • 注意事项:当收到此回调时,开发者应当及时调用 [renewToken] 函数更新 Token。

onConnectionStateChanged

onConnectionStateChanged
virtual void onConnectionStateChanged(const ZIM& zim, ZIMConnectionState state, ZIMConnectionEvent event, const std::string& extendedData) = 0
连接状态发生改变的事件回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象。
stateZIMConnectionState连接状态变更后的当前连接状态。
eventZIMConnectionEvent导致连接状态变更的事件。
extendedDataconst std::string&事件发生时的扩展信息,标准 JSON 字符串。

详情

连接状态发生改变时会通过该回调将目前的状态与事件通知用户。

  • 业务场景:需要监测连接状态,以及使得连接状态改变的事件时,可通过该回调中的 [ZIMConnectionState] 和 [ZIMConnectionEvent] 以完成不同的业务逻辑。
  • 触发时机:当 SDK 执行登录、执行登出以及在网络临时中断等情况都会触发该回调事件。
  • 支持版本:1.1.0 及以上。
  • 注意事项:在一般网络异常所导致的连接状态改变的情况下,开发者均无需自行执行重连,SDK 会不断尝试进行重连,直至重连成功。

onUserInfoUpdated

onUserInfoUpdated
virtual void onUserInfoUpdated(const ZIM& zim, const ZIMUserFullInfo& info) = 0
用户信息更新的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象。
infoconst ZIMUserFullInfo&事件信息。

详情

多端登录场景时,用户在 A 设备修改自己的信息后,其他在线的多端设备会收到此回调。对于离线设备,用户上线后,需要调用 [queryUsersInfo] 接口,主动查询用户信息。

  • 触发时机:其他端的当前用户更改了自己的用户信息时,当前在线的多端会触发此回调事件。
  • 支持版本:2.11.0 及以上。

onUserRuleUpdated

onUserRuleUpdated
virtual void onUserRuleUpdated(const ZIM& zim, const ZIMUserRule& userRule) = 0
用户规则变更的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象。
userRuleconst ZIMUserRule&更新后的用户规则。

详情

当前用户通过 [updateUserOfflinePushRule] 使得用户规则发生变更时,会通过该回调通知其他在线多端设备。

  • 触发时机:其他端的当前用户更改了自己的用户规则时,当前在线的多端会触发此回调事件。
  • 支持版本:2.15.0 及以后版本。

onUserStatusUpdated

onUserStatusUpdated
virtual void onUserStatusUpdated(const ZIM& zim, const std::vector<ZIMUserStatus>& userStatusList) = 0
用户在线状态变更通知。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象。
userStatusListconst std::vector<ZIMUserStatus>&更新后的用户状态列表。

详情

已订阅的用户在线状态发生变更的事件通知。

  • 业务场景:当业务上需关注某些人的在线状态,比如展示在线的群成员,通过 [subscribeUsersStatus] 接口订阅这些用户后,这些用户的在线状态以及订阅有效期间在线状态发生的变更将通过此接口通知给您。
  • 触发时机:当前用户首次订阅目标用户后,如果目标用户首次被添加到订阅列表,或者被订阅的用户的在线状态、在线平台列表时,该事件将会被触发。此外,当前用户如果开通了多端登录,并且在线平台发生了变更时,该回调也会被触发。
  • 支持版本:2.18.0 及以上版本。
  • 注意事项:当 [onUserStatusUpdated] 回调返回当前用户的 userStatus 信息时,其中的 onlineStatus 将为 [ZIMUserOnlineStatusUnknown], lastUpdateTime 为 0,并不能真实反馈在线状态,请根据 [onConnectionStateChanged] 来映射当前用户的在线状态。

onConversationChanged

onConversationChanged
virtual void onConversationChanged(const ZIM& zim, const std::vector<ZIMConversationChangeInfo>& infoList) = 0
收到会话更新的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoListconst std::vector<ZIMConversationChangeInfo>&变更的会话信息。

详情

当会话新增、删除或内容变更时,通过此回调返回会话更新通知。

  • 触发时机:当会话中有新消息更新,或会话本身新增、删除、修改时触发通知。
  • 相关接口:通过 [sendMessage]、[deleteConversation]、[deleteMessages]、[clearConversationUnreadMessageCount] 等可能会令会话发生变化的接口所触发。
  • 支持版本:2.0.0 及以上。
  • 注意事项:单聊会话 ID 与 toUserID 相同,群聊会话 ID 与 groupID 相同。

onConversationTotalUnreadMessageCountUpdated

onConversationTotalUnreadMessageCountUpdated
virtual void onConversationTotalUnreadMessageCountUpdated(const ZIM& zim, unsigned int totalUnreadMessageCount) = 0
会话总未读数更新的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
totalUnreadMessageCountunsigned int未读消息总数。

详情

该回调用于返回会话的总未读数。

  • 触发时机:在 SDK 登录后会立即触发一次当前会话总未读数通知,以及在接受新消息或者清理会话未读数时也会触发。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若某个会话被设置成免打扰的情况下,那么这个会话的未读数变更不会驱动总未读数变更。

onConversationMessageReceiptChanged

onConversationMessageReceiptChanged
virtual void onConversationMessageReceiptChanged(const ZIM& zim, const std::vector<ZIMMessageReceiptInfo>& infos) = 0
收到回执的会话已读更新的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infosconst std::vector<ZIMMessageReceiptInfo>&回执信息列表。

详情

当消息接收方已读会话时,消息发送方通过此回调获知。

  • 触发时机:当消息接收方已读会话时触发通知。
  • 相关接口:[sendConversationMessageReceiptRead]
  • 支持版本:2.5.0 及以上。

onConversationsAllDeleted

onConversationsAllDeleted
virtual void onConversationsAllDeleted(const ZIM& zim, const ZIMConversationsAllDeletedInfo& info) = 0
所有会话被删除时触发此回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoconst ZIMConversationsAllDeletedInfo&所有会话已删除的信息。

详情

当其他在线多端用户删除所有会话时,本端触发回调,通知本端所有会话已被删除。

  • 触发时机:当另一端清除所有未读会话时,本端触发通知。
  • 相关接口:[deleteAllConversations]
  • 支持版本:2.12.0 及以上。
  • 注意事项:调用 SDK [deleteAllConversations] 接口删除全部会话后,不会触发 [onConversationChanged],建议开发者在收到此回调后重新调用一次 [queryConversationList] 将会话列表 UI 同步至最新状态。

onConversationSyncStateChanged

onConversationSyncStateChanged
virtual void onConversationSyncStateChanged(const ZIM& zim, ZIMConversationSyncState state) = 0
会话列表与服务端的同步状态变更事件通知
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
stateZIMConversationSyncState同步状态

详情

当 SDK 首次登录后开始从服务端同步会话的流程,以及流程完成或失败时,触发该回调返回会话更新的通知。

  • 触发时机:SDK 首次登录或者断网重连后,在执行同步会话列表操作时触发此回调。
  • 支持版本:2.21.0 及以上。
  • 注意事项:即使会话列表无需同步,SDK 也会回调同步完成以便于开发者进行 UI 等待或者取消等待的展示。

onPeerMessageReceived

onPeerMessageReceived
deprecated
virtual void onPeerMessageReceived(const ZIM& zim, const std::vector<ZIMMessage>& messageList, const ZIMMessageReceivedInfo& info, const std::string& fromUserID) = 0
接收单聊消息事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
messageListconst std::vector<ZIMMessage>&接收到的消息列表
infoconst ZIMMessageReceivedInfo&消息接收的额外信息
fromUserIDconst std::string&消息来源的用户ID

详情

用户在线时,可通过此回调接收在线单聊消息。用户重新登录 ZIM SDK 后,可以通过此回调接收离线期间(最长 7 天)收到的所有单聊消息。

  • 触发时机:收到其他用户发来的单聊消息时,会触发此回调。
  • 相关接口:[sendMessage]
  • 支持版本:2.18.0 及以上。
已废弃
该接口废弃于 3.0.0 版本,请使用 [onMessageReceived] 代替。

onRoomMessageReceived

onRoomMessageReceived
deprecated
virtual void onRoomMessageReceived(const ZIM& zim, const std::vector<ZIMMessage>& messageList, const ZIMMessageReceivedInfo& info, const std::string& fromRoomID) = 0
接收房间消息事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
messageListconst std::vector<ZIMMessage>&接收到的消息列表
infoconst ZIMMessageReceivedInfo&消息接收的额外信息
fromRoomIDconst std::string&消息来源的房间ID

详情

用户在线时,可通过此回调接收在线房间消息。用户从离线恢复到在线后,若仍在房间中,即可通过此回调接收离线期间内的所有房间消息(该能力需要开通房间离线存储功能才能支持)。

  • 触发时机:当前用户处于房间中,且同一房间的其他用户向当前已经加入或创建的房间发送消息时,会收到该回调。
  • 相关接口:[sendMessage]
  • 支持版本:2.18.0 及以上。
已废弃
该接口废弃于 3.0.0 版本,请使用 [onMessageReceived] 代替。

onGroupMessageReceived

onGroupMessageReceived
deprecated
virtual void onGroupMessageReceived(const ZIM& zim, const std::vector<ZIMMessage>& messageList, const ZIMMessageReceivedInfo& info, const std::string& fromGroupID) = 0
接收群消息事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
messageListconst std::vector<ZIMMessage>&接收到的消息列表
infoconst ZIMMessageReceivedInfo&消息接收的额外信息
fromGroupIDconst std::string&消息来源的群ID

详情

用户在线时,可通过此回调接收在线群组消息。用户重新登录 ZIM SDK 后,可以通过通过此回调接收离线期间(最长7天)收到的所有群聊消息。

  • 触发时机:同一群组内的所在群成员发送消息时,会收到该回调。
  • 相关接口:[sendMessage]
  • 支持版本:2.18.0 及以上。
已废弃
该接口废弃于 3.0.0 版本,请使用 [onMessageReceived] 代替。

onMessageReceived

onMessageReceived
virtual void onMessageReceived(const ZIM& zim, const ZIMMessageReceivedEventResult& result) = 0
接收消息事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
resultconst ZIMMessageReceivedEventResult&接收到的消息事件回调结果

详情

用户在线时,可通过此回调接收来自单聊、房间、群组、社群频道的在线消息。用户重新登录 ZIM SDK 后,可以通过此回调接收离线期间收到的所有单聊和群聊消息(最长7天);若房间开启了离线消息存储功能,还可以接收房间消息。

  • 触发时机:收到其他用户发来的单聊消息、房间消息、群组消息或社群频道消息时,会触发此回调。
  • 相关接口:[sendMessage]
  • 支持版本:3.0.0 及以上。

onBroadcastMessageReceived

onBroadcastMessageReceived
virtual void onBroadcastMessageReceived(const ZIM& zim, ZIMMessage message) = 0
接收广播消息事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
messageZIMMessage接收到的广播消息

详情

当服务端通过 SendMessageToAllUsers 接口发送消息时,触发此回调。

  • 触发时机:登录 ZIM 服务后,服务端通过 [SendMessageToAllUsers] 接口发送消息时触发此回调。
  • 支持版本:2.10.0 及以上。

onMessageSentStatusChanged

onMessageSentStatusChanged
virtual void onMessageSentStatusChanged(const ZIM& zim, const std::vector<ZIMMessageSentStatusChangeInfo>& infos) = 0
消息发送状态改变事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infosconst std::vector<ZIMMessageSentStatusChangeInfo>&消息发送状态改变信息列表

详情

当消息发送状态发生变化时,将会收到此回调。

  • 触发时机:当前用户发送消息时,消息状态从发送中变化到发送成功或者发送失败时,将会触发该回调。
  • 相关接口:[sendMessage]
  • 支持版本:2.6.0 及以上。
  • 注意事项:仅实际发送消息的设备用户能够收到该回调,多端登录的其他端不会收到该回调。

onMessageReceiptChanged

onMessageReceiptChanged
virtual void onMessageReceiptChanged(const ZIM& zim, const std::vector<ZIMMessageReceiptInfo>& infos) = 0
收到回执的消息已读更新的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infosconst std::vector<ZIMMessageReceiptInfo>&消息接收状态改变信息列表

详情

当消息接收方确认已读消息时,消息发送方通过此回调获知。支持单聊会话消息和群聊会话消息。

  • 触发时机:当消息接收方调用设置已读消息回执时,当前用户作为消息的发送方会触发该通知。
  • 相关接口:[sendMessageReceiptsRead]
  • 支持版本:2.5.0 及以上。

onMessageRevokeReceived

onMessageRevokeReceived
virtual void onMessageRevokeReceived(const ZIM& zim, const std::vector<ZIMRevokeMessage>& messageList) = 0
收到撤回消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
messageListconst std::vector<ZIMRevokeMessage>&消息撤回信息列表

详情

当其他用户发送消息后撤回时,会话内的用户将会收到此回调。

  • 触发时机:当其他用户撤回消息时,且当前用户已经收到过这条被撤回消息的原消息时,会触发此回调。
  • 相关接口:[revokeMessage]
  • 支持版本:2.5.0 及以上。

onMessageReactionsChanged

onMessageReactionsChanged
deprecated
virtual void onMessageReactionsChanged(const ZIM& zim, const std::vector<ZIMMessageReaction>& reactions) = 0
收到表态变更的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
reactionsconst std::vector<ZIMMessageReaction>&变更的消息表态列表
  • 触发时机:在通过 create 创建 ZIM 实例后且登录前可注册此回调。
  • 触发时机:其他用户在单聊或群聊中对消息添加或删除表情回应后触发。
  • 相关接口:通过 [addMessageReaction]、[deleteMessageReaction] 触发。
  • 支持版本:2.10.0 及以上。
已废弃
该接口废弃于 2.28.0 版本,请使用另一个同名重载方法 [onMessageReactionsChanged] 代替。

onMessageReactionsChanged

onMessageReactionsChanged
virtual void onMessageReactionsChanged(const ZIM& zim, const ZIMMessageReactionsChangedEventResult& result) = 0
消息的表态内容发生变更时的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
resultconst ZIMMessageReactionsChangedEventResult&消息表态变更事件回调结果

详情

当一条消息中的表态类型发生增减,或者某个表态中的用户数和计数发送变更时,将会收到该回调。

  • 触发时机:当前用户已经接收到会话中的消息,且消息的表态内容发生变更时,触发该回调。
  • 相关接口:[addMessageReaction]、[deleteMessageReaction]
  • 支持版本:2.28.0 及以上。

onMessageDeleted

onMessageDeleted
virtual void onMessageDeleted(const ZIM& zim, const ZIMMessageDeletedInfo& deletedInfo) = 0
消息删除事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
deletedInfoconst ZIMMessageDeletedInfo&消息删除信息。

详情

多端登录场景时,用户在 A 设备删除服务端消息后,其他在线的多端设备会收到此回调。

  • 触发时机:当前用户多端在线登录的其他设备执行消息删除时,本端在线用户会触发该回调。
  • 相关接口:[deleteMessages]、[deleteAllMessage]、[deleteAllConversationMessages]
  • 支持版本:2.11.0 及以上。
  • 注意事项:会话中其他用户删除消息时,其他用户都不会收到该回调。该回调仅对删除者生效。

onMessageRepliedInfoChanged

onMessageRepliedInfoChanged
virtual void onMessageRepliedInfoChanged(const ZIM& zim, const std::vector<ZIMMessage>& messageList) = 0
消息的回复信息变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
messageListconst std::vector<ZIMMessage>&变更的消息列表

详情

回复消息引用的源消息被删除、撤回以及内容被编辑后,会话内的用户将会收到此回调。

  • 触发时机:当前用户已经接收到会话中的消息,且当前消息的携带回复内容发生变更后,触发该回调。
  • 业务场景:方便开发者在聊天页面里未拉到某条消息的回复源消息之前,能够提前知晓引用消息的源消息状态变更同时刷新 UI 显示。
  • 相关接口:[deleteMessages]、[revokeMessage]、[editMessage]
  • 支持版本:2.17.0 及以上。

onMessageRepliedCountChanged

onMessageRepliedCountChanged
virtual void onMessageRepliedCountChanged(const ZIM& zim, const std::vector<ZIMMessageRootRepliedCountInfo>& infos) = 0
消息的回复数量变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infosconst std::vector<ZIMMessageRootRepliedCountInfo>&变更的消息回复数量信息列表

详情

当同一条消息回复链上持续有消息回复时,源消息的被回复数量变更会通过此回调通知。

  • 触发时机:当前用户收到源消息后,当消息被回复时触发该回调。
  • 相关接口:[replyMessage]。
  • 支持版本:2.17.0 及以上。

onMessageEdited

onMessageEdited
virtual void onMessageEdited(const ZIM& zim, const std::vector<ZIMMessage>& messageList) = 0
消息编辑事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
messageListconst std::vector<ZIMMessage>&消息列表

详情

当某条消息被编辑时,该会话内的用户将会收到此回调。

  • 触发时机:当前用户已经接收到会话中的消息,且当前消息被编辑后,触发该回调。
  • 相关接口:[editMessage]。
  • 支持版本:2.20.0 及以上。

onMessagePinStatusChanged

onMessagePinStatusChanged
virtual void onMessagePinStatusChanged(const ZIM& zim, const std::vector<ZIMMessagePinStatusChangeInfo>& changeInfoList) = 0
消息置顶事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
changeInfoListconst std::vector<ZIMMessagePinStatusChangeInfo>&消息置顶状态变更列表

详情

当会话内消息被置顶或取消置顶成功时,或者置顶信息发送变更时,将会收到此回调。

  • 触发时机:会话内有消息置顶或取消置顶成功时,或者置顶信息发送变更时,触发该回调。
  • 相关接口:[pinMessage]。
  • 支持版本:2.25.0 及以上。

onRoomStateChanged

onRoomStateChanged
virtual void onRoomStateChanged(const ZIM& zim, ZIMRoomState state, ZIMRoomEvent event, const std::string& extendedData, const std::string& roomID) = 0
房间连接状态变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
stateZIMRoomState变更的房间状态
eventZIMRoomEvent房间状态变更事件
extendedDataconst std::string&扩展数据
roomIDconst std::string&房间ID

详情

房间连接状态发生变更时的事件回调。建议开发者务必监听该回调来完善房间生命周期的管理。

  • 注意事项:由于 SDK 不会针对房间连接进行无限重连,因此开发者需要按照自身业务需求选择性地进行有限度的重连。

onRoomMemberJoined

onRoomMemberJoined
virtual void onRoomMemberJoined(const ZIM& zim, const std::vector<ZIMUserInfo>& memberList, const std::string& roomID) = 0
房间有成员加入事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
memberListconst std::vector<ZIMUserInfo>&加入房间的成员列表
roomIDconst std::string&房间ID

详情

加入房间后,当其他成员也加入该房间时,会触发此回调。

  • 触发时机:当前用户在房间内且在线的情况下,其他用户加入房间后会触发此回调。
  • 相关接口:[enterRoom]、[joinRoom]。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若其他用户进入房间时当前用户因网络原因短暂离线,则重连成功后不会补发该回调,开发者可以通过 [queryRoomMemberList] 去获取到当时时刻最新的房间成员列表。

onRoomMemberLeft

onRoomMemberLeft
virtual void onRoomMemberLeft(const ZIM& zim, const std::vector<ZIMUserInfo>& memberList, const std::string& roomID) = 0
房间有成员离开事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
memberListconst std::vector<ZIMUserInfo>&离开房间的成员列表
roomIDconst std::string&房间ID

详情

加入房间后,当其他成员离开该房间时,会触发此回调。

  • 触发时机:当前用户在房间内且在线的情况下,其他用户退出房间后会触发此回调。
  • 相关接口:[leaveRoom]。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若其他用户退出房间时当前用户因网络原因短暂离线,则重连成功后不会补发该回调,开发者可以通过 [queryRoomMemberList] 去获取到当时时刻最新的房间成员列表。

onRoomAttributesUpdated

onRoomAttributesUpdated
virtual void onRoomAttributesUpdated(const ZIM& zim, const ZIMRoomAttributesUpdateInfo& info, const std::string& roomID) = 0
房间属性变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoconst ZIMRoomAttributesUpdateInfo&房间属性变更信息
roomIDconst std::string&房间ID

详情

当房间内的房间属性发生变化时,会通过此回调通知。

  • 触发时机:初次加入房间时,若此时房间内存在房间属性则会触发一次回调,开发者可以通过此次回调保存为初始属性值;当用户在房间中有其他用户对房间属性进行变更时也会触发该回调(当前用户在线或者短暂离线重连成功均可触发)。
  • 业务场景:语聊房场景下,可以使用房间属性来管理麦位信息。
  • 相关接口:[setRoomAttributes]、[deleteRoomAttributes]。
  • 支持版本:1.3.0 及以上。

onRoomAttributesBatchUpdated

onRoomAttributesBatchUpdated
virtual void onRoomAttributesBatchUpdated(const ZIM& zim, const std::vector<ZIMRoomAttributesUpdateInfo>& infos, const std::string& roomID) = 0
房间属性批量变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infosconst std::vector<ZIMRoomAttributesUpdateInfo>&房间属性变更信息列表
roomIDconst std::string&房间ID

详情

当房间内的房间属性批量发生变化时,会通过此回调通知。

  • 触发时机:当用户在房间中有其他用户对房间属性调用了批量属性变更接口时,触发该回调。
  • 业务场景:语聊房场景下,可以使用房间属性来管理麦位信息。
  • 相关接口:[beginRoomAttributesBatchOperation]、[endRoomAttributesBatchOperation]。
  • 支持版本:1.3.0 及以上。

onRoomMemberAttributesUpdated

onRoomMemberAttributesUpdated
virtual void onRoomMemberAttributesUpdated(const ZIM& zim, const std::vector<ZIMRoomMemberAttributesUpdateInfo>& infos, const ZIMRoomOperatedInfo& operatedInfo, const std::string& roomID) = 0
房间成员属性变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infosconst std::vector<ZIMRoomMemberAttributesUpdateInfo>&房间成员属性变更信息列表
operatedInfoconst ZIMRoomOperatedInfo&操作信息
roomIDconst std::string&房间ID

详情

当房间内的成员用户属性发生变化时,会通过此回调通知。

  • 触发时机:当用户在房间中有其他用户属性进行变更时,且当前用户在线时会触发该回调。
  • 业务场景:房间内需要记录每个成员的业务附加信息时,可以使用该回调接收变更并刷新 UI。
  • 相关接口:[setRoomMemberAttributes]。
  • 支持版本:1.3.0 及以上。

onGroupStateChanged

onGroupStateChanged
virtual void onGroupStateChanged(const ZIM& zim, ZIMGroupState state, ZIMGroupEvent event, const ZIMGroupOperatedInfo& operatedInfo, const ZIMGroupFullInfo& groupInfo) = 0
群状态变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
stateZIMGroupState群状态
eventZIMGroupEvent群相关事件
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupInfoconst ZIMGroupFullInfo&群详细信息

详情

群组状态变更通知回调。用于描述当前群组的生命周期状态,以及生命周期状态变更时所对应触发的事件。

  • 业务场景:需要根据群组状态进行交互的场景。
  • 触发时机:当群组创建、加入、退出或解散时触发通知。
  • 相关接口:[createGroup] 创建群组;[joinGroup] 加入群组;[leaveGroup] 退出群组;[dismissGroup] 解散群组。
  • 支持版本:2.0.0 及以上。

onGroupNameUpdated

onGroupNameUpdated
virtual void onGroupNameUpdated(const ZIM& zim, const std::string& groupName, const ZIMGroupOperatedInfo& operatedInfo, const std::string& groupID) = 0
群名称变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
groupNameconst std::string&群名称
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupIDconst std::string&群ID

详情

群组名称变更通知回调。

  • 业务场景:当群组名称变更时,需要同步最新群组名称的场景。
  • 触发时机:群组名称变更时触发。
  • 相关接口:通过 [updateGroupName] 更新群组名称。
  • 支持版本:2.0.0 及以上。

onGroupAvatarUrlUpdated

onGroupAvatarUrlUpdated
virtual void onGroupAvatarUrlUpdated(const ZIM& zim, const std::string& groupAvatarUrl, const ZIMGroupOperatedInfo& operatedInfo, const std::string& groupID) = 0
群头像变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
groupAvatarUrlconst std::string&群头像
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupIDconst std::string&群ID

详情

群组头像 URL 发生变更通知回调。

  • 业务场景:群组头像 URL 发生变更时,需要同步最新群头像 URL 。
  • 触发时机:群组头像 URL 发生变更。
  • 相关接口:[updateGroupAvatarUrl],更新群组头像 URL 。
  • 支持版本:2.0.0 及以上。

onGroupNoticeUpdated

onGroupNoticeUpdated
virtual void onGroupNoticeUpdated(const ZIM& zim, const std::string& groupNotice, const ZIMGroupOperatedInfo& operatedInfo, const std::string& groupID) = 0
群公告变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
groupNoticeconst std::string&群公告
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupIDconst std::string&群ID

详情

群组公告变更通知回调。

  • 业务场景:当群组公告变更时,需要同步最新公告内容的场景。
  • 触发时机:群组公告变更时触发。
  • 相关接口:通过 updateGroupNotice 更新群组公告。
  • 支持版本:2.0.0 及以上。

onGroupAliasUpdated

onGroupAliasUpdated
virtual void onGroupAliasUpdated(const ZIM& zim, const std::string& groupAlias, const std::string& operatedUserID, const std::string& groupID) = 0
群别名变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
groupAliasconst std::string&群别名
operatedUserIDconst std::string&操作用户ID
groupIDconst std::string&群ID

详情

群组别名变更通知回调。

  • 业务场景:当群组别名变更时,需要同步最新别名内容的场景。
  • 触发时机:当前设置群别名的用户以及在线的多端对群组别名变更时触发。
  • 相关接口:通过 [updateGroupAlias] 更新群组别名。
  • 支持版本:2.0.0 及以上。
  • 注意事项:群别名功能仅对当前设置的用户自身可见,因此当前用户对群别名的变更不会推送至群组内其他用户。

onGroupAttributesUpdated

onGroupAttributesUpdated
virtual void onGroupAttributesUpdated(const ZIM& zim, const std::vector<ZIMGroupAttributesUpdateInfo>& infoList, const ZIMGroupOperatedInfo& operatedInfo, const std::string& groupID) = 0
群属性变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoListconst std::vector<ZIMGroupAttributesUpdateInfo>&群属性变更信息
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupIDconst std::string&群ID

详情

群组属性变更通知回调。

  • 业务场景:当群组属性变更时,需要同步最新群组属性的场景。
  • 触发时机:当群组属性被设置、更新或删除时触发。
  • 相关接口:[setGroupAttributes] 更新群属性;[deleteGroupAttributes] 删除群属性。
  • 支持版本:2.0.0 及以上。

onGroupMutedInfoUpdated

onGroupMutedInfoUpdated
virtual void onGroupMutedInfoUpdated(const ZIM& zim, const ZIMGroupMuteInfo& mutedInfo, const ZIMGroupOperatedInfo& operatedInfo, const std::string& groupID) = 0
群禁言事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
mutedInfoconst ZIMGroupMuteInfo&群禁言信息
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupIDconst std::string&群ID

详情

群组禁言信息发生变更通知回调。

  • 触发时机:群组禁言信息发生变更时,群组内用户会触发此回调。
  • 相关接口:[muteGroup],群组禁言。
  • 支持版本:2.14.0 及以上。

onGroupVerifyInfoUpdated

onGroupVerifyInfoUpdated
virtual void onGroupVerifyInfoUpdated(const ZIM& zim, const ZIMGroupVerifyInfo& verifyInfo, const ZIMGroupOperatedInfo& operatedInfo, const std::string& groupID) = 0
群验证信息变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
verifyInfoconst ZIMGroupVerifyInfo&群验证信息
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupIDconst std::string&群ID

详情

入群验证模式发生变更通知回调。

  • 触发时机:群主或管理员对群组内的入群验证模式进行变更时,群组内用户会触发此回调。
  • 相关接口:[updateGroupJoinMode,updateGroupInviteMode,updateGroupBeInviteMode]。

onGroupMemberStateChanged

onGroupMemberStateChanged
virtual void onGroupMemberStateChanged(const ZIM& zim, ZIMGroupMemberState state, ZIMGroupMemberEvent event, const std::vector<ZIMGroupMemberInfo>& userList, const ZIMGroupOperatedInfo& operatedInfo, const std::string& groupID) = 0
群成员状态变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象。
stateZIMGroupMemberState群成员状态
eventZIMGroupMemberEvent群成员事件
userListconst std::vector<ZIMGroupMemberInfo>&群成员信息列表
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupIDconst std::string&群ID

详情

群成员状态发生变更通知回调。

  • 业务场景:需要根据群成员状态进行交互的场景,例如展示群成员进出通知 UI 等业务场景下可以使用该回调。
  • 触发时机:当群组创建、加入、退出、解散,或用户被邀请加入/踢出群组时触发通知。
  • 相关接口:[createGroup] 创建群组,[joinGroup] 加入群组,[leaveGroup] 退出群组,[dismissGroup] 解散群组,[inviteUsersIntoGroup] 邀请用户入群,[kickGroupMembers] 踢出成员。
  • 支持版本:2.0.0 及以上。

onGroupMemberInfoUpdated

onGroupMemberInfoUpdated
virtual void onGroupMemberInfoUpdated(const ZIM& zim, const std::vector<ZIMGroupMemberInfo>& userList, const ZIMGroupOperatedInfo& operatedInfo, const std::string& groupID) = 0
群成员信息变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
userListconst std::vector<ZIMGroupMemberInfo>&群成员信息列表
operatedInfoconst ZIMGroupOperatedInfo&群操作信息
groupIDconst std::string&群ID

详情

群组成员基本信息变更事件回调,包括群成员昵称、角色等变更事件。

  • 业务场景:群成员基本信息变更后,需要在页面上展示或与群成员进行交互的场景。例如展示群成员角色发生了变更的通知时,可以使用该回调。
  • 触发时机:群成员信息变更后,群组内用户会触发此通知。
  • 相关接口:[setGroupMemberNickname] 更新群成员昵称;[setGroupMemberRole] 更新群成员角色;[transferGroupOwner] 转让群主。

onGroupApplicationListChanged

onGroupApplicationListChanged
virtual void onGroupApplicationListChanged(const ZIM& zim, const std::vector<ZIMGroupApplicationInfo>& applicationList, ZIMGroupApplicationListChangeAction action) = 0
群申请列表变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
applicationListconst std::vector<ZIMGroupApplicationInfo>&群申请列表
actionZIMGroupApplicationListChangeAction群操作信息

详情

当入群申请列表发生变化时会回调。

  • 相关接口:[sendGroupJoinApplication],[sendGroupInviteApplications]。
  • 支持版本:2.15.0 及以上。

onGroupApplicationUpdated

onGroupApplicationUpdated
virtual void onGroupApplicationUpdated(const ZIM& zim, const std::vector<ZIMGroupApplicationInfo>& applicationList) = 0
群申请信息变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
applicationListconst std::vector<ZIMGroupApplicationInfo>&群申请列表

详情

当入群申请列表信息发生变化时会回调当前方法.

  • 相关接口:[acceptGroupJoinApplication],[rejectGroupJoinApplication],[acceptGroupInviteApplication],[rejectGroupInviteApplication]。
  • 支持版本:2.15.0 及以上。

onCallInvitationCreated

onCallInvitationCreated
virtual void onCallInvitationCreated(const ZIM& zim, const ZIMCallInvitationCreatedInfo& info, const std::string& callID) = 0
呼叫邀请创建事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoconst ZIMCallInvitationCreatedInfo&呼叫邀请信息
callIDconst std::string&呼叫ID

详情

邀请者发起呼叫邀请后,当邀请者在线时,将会收到此回调。

  • 触发时机:若邀请者存在在线多端的情况下,当前用户的多端设备会在邀请者发送呼叫邀请后触发此回调。
  • 相关接口:[callInvite]。
  • 支持版本:2.13.0 及以上。

onCallInvitationReceived

onCallInvitationReceived
virtual void onCallInvitationReceived(const ZIM& zim, const ZIMCallInvitationReceivedInfo& info, const std::string& callID) = 0
呼叫邀请接收事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoconst ZIMCallInvitationReceivedInfo&呼叫邀请信息
callIDconst std::string&呼叫ID

详情

呼叫邀请接收的事件回调。

  • 触发时机:邀请方发送呼叫邀请后,被邀请方将触发此回调。
  • 相关接口:通过 [callInvite] 或 [callingInvite] 触发。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若邀请者发起呼叫邀请时被邀请者短暂离线,在该呼叫的有效期限内重连上线后依然能收到此回调。

onCallInvitationCancelled

onCallInvitationCancelled
virtual void onCallInvitationCancelled(const ZIM& zim, const ZIMCallInvitationCancelledInfo& info, const std::string& callID) = 0
呼叫邀请取消事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoconst ZIMCallInvitationCancelledInfo&呼叫邀请取消信息
callIDconst std::string&呼叫ID

详情

邀请者取消呼叫邀请后,当被邀请者在线时,将会收到此回调。

  • 触发时机:邀请方取消呼叫邀请后,被邀请方以及邀请方的其他多端设备都将触发此回调。
  • 相关接口:通过 [callCancel] 触发。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若邀请方取消呼叫时当前用户已离线,则不会触发此回调。

onCallInvitationEnded

onCallInvitationEnded
virtual void onCallInvitationEnded(const ZIM& zim, const ZIMCallInvitationEndedInfo& info, const std::string& callID) = 0
呼叫邀请结束事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoconst ZIMCallInvitationEndedInfo&呼叫邀请结束信息
callIDconst std::string&呼叫ID

详情

当进阶模式呼叫邀请建立后,某一参与者结束呼叫后,所有参与者会收到此回调。

  • 相关接口:[callEnd]。
  • 支持版本:2.9.0 及以上。
  • 注意事项:若用户不是发起这次呼叫的参与者或者不在线,则不会收到该回调。

onCallInvitationTimeout

onCallInvitationTimeout
virtual void onCallInvitationTimeout(const ZIM& zim, const ZIMCallInvitationTimeoutInfo& info, const std::string& callID) = 0
呼叫邀请超时事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoconst ZIMCallInvitationTimeoutInfo&呼叫邀请超时信息
callIDconst std::string&呼叫ID

详情

呼叫邀请超时后,被邀请方未响应,将收到此回调。

  • 触发时机:若被邀请方在超时时限内未响应,将收到此回调。
  • 支持版本:2.9.0 及以上。
  • 注意事项:若用户不在邀请列表中或不在线,则不会收到此回调。

onCallUserStateChanged

onCallUserStateChanged
virtual void onCallUserStateChanged(const ZIM& zim, const ZIMCallUserStateChangeInfo& info, const std::string& callID) = 0
呼叫邀请用户状态变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
infoconst ZIMCallUserStateChangeInfo&呼叫邀请用户状态变更信息
callIDconst std::string&呼叫ID

详情

监听通话中用户状态变更。基于此回调可以知悉呼叫邀请内每个参与者当前的呼叫响应情况。

  • 触发时机:当通话中有新成员被邀请,或有成员接受、拒绝、退出,或成员响应超时时,当前通话邀请中状态为「邀请中」「已接受」「已接收」的所有用户均会收到此回调。若成员收到通知时不在线,则当登录成功后若通话仍在进行中,离线期间所有成员的状态变更将一次性发送给该用户。
  • 相关接口:通过 [callInvite]、[callingInvite]、[callAccept]、[callReject]、[callQuit] 触发。
  • 支持版本:2.9.0 及以上。
  • 注意事项:若用户不是发起此次呼叫邀请的邀请方或用户不在线,则不会收到此回调。

onFriendListChanged

onFriendListChanged
virtual void onFriendListChanged(const ZIM& zim, const std::vector<ZIMFriendInfo>& friendInfoList, ZIMFriendListChangeAction action) = 0
好友列表变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
friendInfoListconst std::vector<ZIMFriendInfo>&好友信息列表
actionZIMFriendListChangeAction好友列表变更操作

详情

当好友列表发生变化时,当前用户以及当前用户的多端设备都会回调当前方法。

  • 触发时机:当前用户的好友列表发生变化,即被添加好友、删除好友等事件发生时,会触发此回调。
  • 相关接口:[addFriend]、[deleteFriends]。
  • 支持版本:2.14.0 及以上。

onFriendInfoUpdated

onFriendInfoUpdated
virtual void onFriendInfoUpdated(const ZIM& zim, const std::vector<ZIMFriendInfo>& friendInfoList) = 0
好友信息变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象。
friendInfoListconst std::vector<ZIMFriendInfo>&更新后的好友信息列表。

详情

当好友信息更新时候会触发该回调。

  • 触发时机:当好友出现基础信息变更时,如头像、名称时,以及当前用户或者在线多端对某个好友进行好友备注或者好友属性修改时,会触发该回调。
  • 相关接口:[updateFriendAlias]、[updateFriendAttributes]。
  • 支持版本:2.14.0 及以上。

onFriendApplicationListChanged

onFriendApplicationListChanged
virtual void onFriendApplicationListChanged(const ZIM& zim, const std::vector<ZIMFriendApplicationInfo>& friendApplicationInfoList, ZIMFriendApplicationListChangeAction action) = 0
好友申请列表变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
friendApplicationInfoListconst std::vector<ZIMFriendApplicationInfo>&好友申请信息列表
actionZIMFriendApplicationListChangeAction好友申请列表变更操作

详情

当好友申请列表发生变化时会回调当前方法。

  • 触发时机:某一用户申请成为自己好友时,或者自己向某一用户发起好友申请时,好友申请列表会发生变更从而触发此回调。
  • 相关接口:[sendFriendApplication]。
  • 支持版本:2.14.0 及以上。

onFriendApplicationUpdated

onFriendApplicationUpdated
virtual void onFriendApplicationUpdated(const ZIM& zim, const std::vector<ZIMFriendApplicationInfo>& friendApplicationInfoList) = 0
好友申请信息变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
friendApplicationInfoListconst std::vector<ZIMFriendApplicationInfo>&好友申请信息列表

详情

当好友申请列表的状态或者信息发生更新时会回调当前方法。

  • 触发时机:当对方同意或拒绝了自己的好友申请,或者自己同意或拒绝了对方的好友申请时,该好友申请信息发生变更从而触发此回调。
  • 相关接口:[acceptFriendApplication] [rejectFriendApplication]。
  • 支持版本:2.14.0 及以上。

onBlacklistChanged

onBlacklistChanged
virtual void onBlacklistChanged(const ZIM& zim, const std::vector<ZIMUserInfo>& userList, ZIMBlacklistChangeAction action) = 0
黑名单变更事件回调
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
userListconst std::vector<ZIMUserInfo>&黑名单用户列表
actionZIMBlacklistChangeAction黑名单变更操作

详情

当前用户的黑名单列表发生变化时会回调当前方法。

  • 触发时机:当前用户对某一用户进行加入黑名单或者从黑名单移除的操作时,自己和在线多端都会触发此回调。
  • 相关接口:[addUsersToBlacklist]、[removeUsersFromBlacklist]。
  • 支持版本:2.13.0 及以上。

onCommunityListChanged

onCommunityListChanged
virtual void onCommunityListChanged(const ZIM& zim, const ZIMCommunityListChangedEventResult& result) = 0
社群列表发生变更时触发此回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
resultconst ZIMCommunityListChangedEventResult&社群列表改变的事件回调结果

详情

当前用户自身的社群列表发生变更时,或者已加入的社群的总未读数等属性发生变更时,将会收到此回调。

  • 触发时机:当前用户加入一个新社群、退出一个已加入的社群或者已加入的社群总未读数发生变更,触发此回调。
  • 业务场景:用于在 UI 中展示当前用户自己加入的社群列表以及后续的变更。
  • 相关接口:[createCommunity]、[joinCommunity]、[leaveCommunity]、[dismissCommunity]。
  • 支持版本:3.0.0 及以上。
  • 注意事项:仅自己已加入的社群才会收到此回调通知,非自己加入的社群不会收到此回调通知。

onCommunityInfoUpdated

onCommunityInfoUpdated
virtual void onCommunityInfoUpdated(const ZIM& zim, const ZIMCommunityInfoUpdatedEventResult& result) = 0
社群信息更新时触发此回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
resultconst ZIMCommunityInfoUpdatedEventResult&社群信息改变的事件回调结果

详情

当前社群信息发生变更时,将会收到此回调。

  • 触发时机:当前社群信息发生变更时,如社群名称、社群头像、社群公告等属性被群主或者群管理员进行修改后,社群内成员会触发此回调。
  • 业务场景:用于在 UI 中展示当前社群的最新属性数据。
  • 相关接口:[updateCommunityName]、[updateCommunityAvatarUrl]、[updateCommunityNotice]、[setCommunityAttributes]、[deleteCommunityAttributes]。
  • 支持版本:3.0.0 及以上。
  • 注意事项:由于社群人数规模巨大,因此每次社群内的属性发生变化后,仅从最近调用过 [queryCommunityInfo] 的用户进行推送。未收到社群推送变更的用户后续也可通过 [queryCommunityInfo] 来获取到社群最新属性数据。

onCommunityMemberStateChanged

onCommunityMemberStateChanged
virtual void onCommunityMemberStateChanged(const ZIM& zim, const ZIMCommunityMemberStateChangedEventResult& result) = 0
社群成员状态发生变更时触发此回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
resultconst ZIMCommunityMemberStateChangedEventResult&社群成员状态改变的事件回调结果

详情

社群内成员状态发生变更时,将会收到此回调。

  • 触发时机:当社群成员加入、社群成员退出等导致社群成员状态发生变更的事件发生时,会触发此回调。
  • 相关接口:[joinCommunity]、[leaveCommunity]、[inviteUsersIntoCommunity]、[kickCommunityMembers]。
  • 支持版本:3.0.0 及以上。
  • 注意事项:由于社群人数规模巨大,因此每次社群内成员的状态发生变化后,仅从最近调用过 [queryCommunityInfo] 的用户进行推送。未收到推送变更的用户后续也可通过 [queryCommunityMemberList] 来获取到最新的社群成员列表。

onCommunityMemberInfoUpdated

onCommunityMemberInfoUpdated
virtual void onCommunityMemberInfoUpdated(const ZIM& zim, const ZIMCommunityMemberInfoUpdatedEventResult& result) = 0
社群成员信息更新时触发此回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
resultconst ZIMCommunityMemberInfoUpdatedEventResult&社群成员信息更新的事件回调结果

详情

社群内成员信息发生变更时,将会收到此回调。

  • 触发时机:当社群成员角色变更、社群成员被禁言或解禁以及其基础用户信息变更时,会触发此回调。
  • 相关接口:[updateCommunityMemberRole]、[muteCommunityMembers]。
  • 支持版本:3.0.0 及以上。
  • 注意事项:由于社群人数规模巨大,因此每次社群内成员的状态发生变化后,仅从最近调用过 [queryCommunityInfo] 的用户进行推送。未收到推送变更的用户后续也可通过 [queryCommunityMembers] 来获取到最新的社群成员信息。

onCommunityChannelListChanged

onCommunityChannelListChanged
virtual void onCommunityChannelListChanged(const ZIM& zim, const ZIMCommunityChannelListChangedEventResult& result) = 0
社群频道列表发生变更时触发此回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
resultconst ZIMCommunityChannelListChangedEventResult&社群频道列表改变的事件回调结果

详情

当社群频道列表发生变更时,或者频道内属性发生变更时,将会收到此回调。

  • 触发时机:当社群内有频道被创建或删除、以及频道内有消息产生(类似会话相关操作)等情况下均会触发此回调。
  • 业务场景:用于开发者可以实时渲染社群频道内用户聊天的活跃情况。
  • 相关接口:[sendMessage]、[createCommunityChannel]、[dismissCommunityChannel]、[clearConversationUnreadMessageCount] 等。
  • 支持版本:3.0.0 及以上。

onCommunityChannelInfoUpdated

onCommunityChannelInfoUpdated
virtual void onCommunityChannelInfoUpdated(const ZIM& zim, const ZIMCommunityChannelInfoUpdatedEventResult& result) = 0
社群频道信息更新时触发此回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimconst ZIM&ZIM 实例对象
resultconst ZIMCommunityChannelInfoUpdatedEventResult&社群频道信息改变的事件回调结果

详情

社群内频道的属性发生变更时,将会收到此回调。

  • 触发时机:当社群内频道名称、频道公告、频道属性、频道禁言等属性被群主或者群管理员变更后,频道内的活跃用户将会触发此回调。
  • 相关接口:[updateCommunityChannelName]、[updateCommunityChannelAvatarUrl]、[updateCommunityChannelNotice]、[setCommunityChannelAttributes]、[deleteCommunityChannelAttributes]。
  • 支持版本:3.0.0 及以上。
  • 注意事项:由于社群人数规模巨大,因此 ZIM 会通过每个用户的 API 调用行为来筛选出活跃用户进行频道信息变更的推送。未收到推送变更的用户后续也可通过 [queryCommunityChannelsInfo] 来获取到最新的社群频道信息。

上一篇

功能总览

下一篇

Interface

当前页

返回到顶部