即时通讯
当前页

Class

ZIMZIMEventHandler
ZIMMediaMessageSendNotificationZIMMessageSendNotification

ZIM

详情

ZIM SDK 主类。

Declared in ZIM.h

方法

create

static
create
deprecated
public ZIM * create(unsigned int appID)
创建 ZIM 实例。
Declared in ZIM.h

参数

名称类型描述
appIDunsigned intZEGO 为开发者签发的应用 ID,请联系 ZEGO 技术支持申请。

详情

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

  • 调用时机:在调用其他成员函数之前,必须先调用此 API 创建出 ZIM 示例。
  • 影响范围:不调用此函数将导致其他成员函数无法调用。
  • 平台差异:Android 平台下在调用此函数时,除了传入 appID 之外,还必须将 Application 类对象传入。
  • 支持版本:1.1.0 及以上。
  • 使用限制:当前仅支持创建一个实例,重复调用将返回 [null]。
  • 注意事项:目前 [create] 函数最多只能创建一个实例,若多次调用,则只有第一次返回有效实例,其余都为 [null]。开发者应自行保存 ZIM 实例,并且在使用 ZIM 业务功能的过程中确保实例的生命周期处于可用状态。建议作为单例封装在一个 SDK 管理类中。
已废弃
该函数于 2.3.0 版本被废弃,请使用另一个同名方法 [create]

返回值

ZIM 实例。

create

static
create
public ZIM * create(ZIMAppConfig appConfig)
创建 ZIM 实例。
Declared in ZIM.h

参数

名称类型描述
appConfigZIMAppConfigZEGO 为开发者签发的应用 ID 和应用签名,请前往 ZEGO 控制台申请。

详情

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

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

2、若使用此函数创建实例,必须同时传入 AppID 与 AppSign(Web 平台除外)。

返回值

ZIM 实例。

getVersion

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

获取 SDK 版本号。

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

SDK 版本号。

getInstance

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

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

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

setLogConfig

static
setLogConfig
public 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/zim-logs。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若开发者在 [create] 之后调用,SDK 则保存此配置,直至等到下一次 [create] 时生效。

setGeofencingConfig

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

参数

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

返回值

地理围栏设置结果。

setCacheConfig

static
setCacheConfig
public 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] 时生效。

addFriend

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

参数

名称类型描述
userIDstd::string用户ID。
configconst ZIMFriendAddConfig &添加好友相关配置。
callbackZIMFriendAddedCallback添加好友结果回调。

详情

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

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

返回值

添加好友结果回调。

sendFriendApplication

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

参数

名称类型描述
userIDstd::string用户ID。
configconst ZIMFriendApplicationSendConfig &发起好友申请相关配置。
callbackZIMFriendApplicationSentCallback发起好友申请结果回调。

详情

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

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

返回值

发起好友申请结果回调。

deleteFriends

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

参数

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

详情

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

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

返回值

删除好友结果回调。

checkFriendsRelation

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

参数

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

详情

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

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

返回值

检查好友关系结果回调。

updateFriendAlias

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

参数

名称类型描述
friendAliasstd::string好友备注。
userIDstd::string用户 ID。
callbackZIMFriendAliasUpdatedCallback更新好友备注结果回调。

详情

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

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

返回值

更新好友备注结果回调。

updateFriendAttributes

updateFriendAttributes
public void updateFriendAttributes(std::unordered_map<std::string, std::string> friendAttributes, std::string userID, ZIMFriendAliasUpdatedCallback callback)
更新好友属性。
Declared in ZIM.h

参数

名称类型描述
friendAttributesstd::unordered_map<std::string, std::string>好友属性。最多设置 5 个。属性的 key 仅支持从 k0 ~ k4 取值。
userIDstd::string用户 ID。
callbackZIMFriendAliasUpdatedCallback更新好友属性结果回调。

详情

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

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

返回值

更新好友属性结果回调。

acceptFriendApplication

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

参数

名称类型描述
userIDstd::string用户 ID。
configconst ZIMFriendApplicationAcceptConfig &接受好友申请配置。
callbackZIMFriendApplicationAcceptedCallback接受好友申请的结果回调。

详情

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

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

返回值

接受好友申请的结果回调。

rejectFriendApplication

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

参数

名称类型描述
userIDstd::string用户 ID。
configconst ZIMFriendApplicationRejectConfig &拒绝好友申请配置。
callbackZIMFriendApplicationRejectedCallback拒绝好友申请的结果回调。

详情

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

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

返回值

拒绝好友申请的结果回调。

queryFriendsInfo

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

参数

名称类型描述
userIDsstd::vector<std::string>用户 ID 列表。
callbackZIMFriendsInfoQueriedCallback批量查询好友信息的结果回调。

详情

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

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

返回值

批量查询好友信息的结果回调。

queryFriendList

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

参数

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

详情

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

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

返回值

查询好友列表返回结果。

queryFriendApplicationList

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

参数

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

详情

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

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

返回值

查询好友申请列表的返回结果。

searchLocalFriends

searchLocalFriends
public void searchLocalFriends(const ZIMFriendsSearchConfig & config, ZIMFriendsSearchedCallback callback)
搜索本地好友。
Declared in ZIM.h

参数

名称类型描述
configconst ZIMFriendsSearchConfig &好友搜索配置。
callbackZIMFriendsSearchedCallback搜索本地好友信息返回结果。

详情

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

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

返回值

搜索本地好友信息返回结果。

addUsersToBlacklist

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

参数

名称类型描述
userIDsconst std::vector<std::string> &需要被拉黑的 userID 数组。
callbackZIMBlacklistUsersAddedCallback添加用户到黑名单的操作结果回调。

详情

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

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

removeUsersFromBlacklist

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

参数

名称类型描述
userIDsconst std::vector<std::string> &需要被解除黑名单的 userID 数组。
callbackZIMBlacklistUsersRemovedCallback移除用户出黑名单的操作结果回调。

详情

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

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

queryBlacklist

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

参数

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

详情

查询黑名单。

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

checkUserIsInBlacklist

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

参数

名称类型描述
userIDconst std::string &需要要检查的用户ID信息。
callbackZIMBlacklistCheckedCallback黑名单检查结果回调。

详情

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

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

querySubscribedUserStatusList

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

参数

名称类型描述
configZIMSubscribedUserStatusQueryConfig查询订阅列表有关的相关参数。
callbackZIMSubscribedUserStatusListQueriedCallback查询用户状态订阅列表的结果回调。

详情

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

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

返回值

结果回调。

queryUsersStatus

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

参数

名称类型描述
userIDsconst std::vector<std::string> &查询目标用户列表。
callbackZIMUsersStatusQueriedCallback查询用户状态的回调方法。

详情

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

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

返回值

结果回调。

subscribeUsersStatus

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

参数

名称类型描述
userIDsconst std::vector<std::string> &被订阅的用户列表。
configZIMUserStatusSubscribeConfig订阅相关的配置项。
callbackZIMUsersStatusSubscribedCallback订阅用户状态的操作回调。

详情

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

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

返回值

结果回调。

unsubscribeUsersStatus

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

参数

名称类型描述
userIDsconst std::vector<std::string> &批量取消的用户列表。
callbackZIMUsersStatusUnsubscribedCallback批量取消的操作结果回调。

详情

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

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

返回值

结果回调。

updateUserCustomStatus

updateUserCustomStatus
public ZIMUserCustomStatusUpdatedResult updateUserCustomStatus(String customStatus, ZIMUserCustomStatusUpdatedCallback callback)
用于更新用户自定义状态。
Declared in ZIM.h

参数

名称类型描述
customStatusString详情描述:用户自定义状态,默认最大值为 64 字节,默认过期时间为 1 天,过期后重置为空字符串。登录时,如果该字段为空字符串(默认为空字符串),那么不会修改当前用户的自定义状态。
callbackZIMUserCustomStatusUpdatedCallback更新自定义状态的回调。

详情

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

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

返回值

更新自定义状态的异步结果。

updateUserOfflinePushRule

updateUserOfflinePushRule
public void updateUserOfflinePushRule(ZIMUserOfflinePushRule offlinePushRule, ZIMUserOfflinePushRuleUpdatedCallback callback)
修改离线推送的自定规则
Declared in ZIM.h

参数

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

详情

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

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

返回值

修改离线推送的结果回调。

querySelfUserInfo

querySelfUserInfo
public void querySelfUserInfo(ZIMSelfUserInfoQueriedCallback callback)
查询自身用户信息、用户规则。
Declared in ZIM.h

参数

名称类型描述
callbackZIMSelfUserInfoQueriedCallback查询自身用户信息、用户规则的结果回调。

详情

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

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

返回值

查询自身用户信息、用户规则的结果回调。

setEventHandler

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

参数

名称类型描述
handlerstd::shared_ptr<ZIMEventHandler>事件通知回调。开发者应根据自身业务场景,重写回调的相关方法以关注特定的通知。

详情

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

  • 支持版本:1.1.0 及以上。
  • 注意事项:若开发者多次调用此函数将 覆盖 上一次调用此函数设置的回调。

login

login
deprecated
public void login(const ZIMUserInfo & userInfo, const std::string& token, ZIMLoggedInCallback callback)
登录,在使用所有功能之前必须先登录。
Declared in ZIM.h

参数

名称类型描述
userInfoconst ZIMUserInfo &用于标识用户的信息。包含用户的唯一 ID和用户名。注意 userID 在同一个 appID 下需唯一,否则会出现互踢的情况。
注意:不支持通过此接口设置 ZIMUserInfo.userAvatarUrl。
tokenconst std::string&由开发者业务服务器下发的鉴权 Token,用以保证登录的安全性。Token 有效时长不能超过 24 天。
callbackZIMLoggedInCallback开发者可以通过设置该回调来接收登录的状态。

详情

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

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

返回值

登录的结果回调。

login

login
deprecated
public void login(const ZIMUserInfo & userInfo, const std::string& callback)
登录,在使用所有功能之前必须先登录。
Declared in ZIM.h

参数

名称类型描述
userInfoconst ZIMUserInfo &用于标识用户的信息。包含用户的唯一 ID和用户名。注意 userID 在同一个 appID 下需唯一,否则会出现互踢的情况。
注意:不支持通过此接口设置 ZIMUserInfo.userAvatarUrl。
callbackconst std::string&开发者可以通过设置该回调来接收登录的状态。

详情

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

  • 调用时机:必须在调用 [create] 创建实例之后,调用其他实例函数之前调用此函数。
  • 隐私保护声明:提醒用户尽量不要在 userID 参数里传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 相关回调:开发者除了能在 callback 参数中得到登录结果之外,在登录请求中和登录成功/失败后,还将收到 [onConnectionStateChanged] 回调,用于判断当前用户的登录状态。
  • 支持版本:2.4.0 及以上。
  • 注意事项:在使用 ZIM 的单聊、房间、收发消息等功能之前,必须先调用此函数进行登录,通过登录结果可向用户展示 UI。
已废弃
此 API 自 2.13.0 起已弃用。请使用 [login] 函数代替。

返回值

登录的结果回调。

login

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

参数

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

详情

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

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

返回值

登录的结果回调。

renewToken

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

参数

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

详情

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

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

返回值

更新 Token 的结果的回调。

queryUsersInfo

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

参数

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

详情

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

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

返回值

查询用户信息的结果的回调。

updateUserBadge

updateUserBadge
public void updateUserBadge(unsigned int badge, ZIMUserBadgeUpdatedCallback callback)
更新 iOS 离线通知徽标数量。
Declared in ZIM.h

参数

名称类型描述
badgeunsigned int详情描述:需要设置的徽标数量。
callbackZIMUserBadgeUpdatedCallback修改徽标的回调结果。
  • 支持版本:2.28.0 及以上。

说明:此 API 用于更新当前用户 iOS 客户端上的 APP 徽章计数。它适用于已登录的移动设备上的用户。

用例:在多设备登录场景中,开发者在桌面或网页端清除未读数(或未读数发生变化时),并希望移动用户的 APP 徽章数能反映并同步到相应值时,可以调用此 API 来实现。

何时调用:登录后,网络连接良好,且未读消息总数发生变化时。仅需在不支持 ZPNs 的非移动平台(如桌面和网页)上调用。

注意:成功呼叫后,用户已登录的所有离线移动客户端上的 APP 徽章值将更新为指定值。

返回值

修改徽标的回调结果。

updateUserName

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

参数

名称类型描述
userNameconst std::string &详情描述:需要设置的用户名称。

取值范围:2.0.0 及以后版本,支持最大 256 字节的字符串。

隐私保护声明:不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
callbackZIMUserNameUpdatedCallback修改用户名的回调函数。

详情

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

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

返回值

修改用户名的回调结果。

updateUserAvatarUrl

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

参数

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

详情

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

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

返回值

修改用户头像 URL 的回调结果。

updateUserExtendedData

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

参数

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

详情

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

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

返回值

修改用户扩展字段的回调结果。

uploadLog

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

参数

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

详情

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

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

返回值

日志上传的结果。

logout

logout
public void logout()
登出 ZIM 服务。
Declared in ZIM.h

登出 ZIM 服务。

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

destroy

destroy
public void destroy()
销毁 ZIM 实例。
Declared in ZIM.h

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

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

callInvite

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

参数

名称类型描述
inviteesstd::vector<std::string>被邀请者列表。
configconst ZIMCallInviteConfig &呼叫邀请相关配置。
callbackZIMCallInvitationSentCallback发起呼叫邀请的回调。

详情

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

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

返回值

发起呼叫的结果回调。

callJoin

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

参数

名称类型描述
callIDconst std::string &欲加入的进阶模式呼叫邀请 ID。
configconst ZIMCallJoin &加入呼叫邀请的相关配置。
callbackZIMCallJoinSentCallback加入呼叫或切换主设备的回调。

详情

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

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

返回值

加入呼叫或切换主设备的回调。

callCancel

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

参数

名称类型描述
inviteesstd::vector<std::string>被邀请者列表。
callIDstd::string欲取消的呼叫邀请ID。
configZIMCallCancelConfig取消呼叫邀请的相关配置。
callbackZIMCallCancelSentCallback取消呼叫邀请的回调。

详情

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

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

返回值

呼叫取消的结果回调。

callAccept

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

参数

名称类型描述
callIDstd::string欲接受的呼叫邀请 ID。
configZIMCallAcceptConfig接受呼叫邀请的相关配置。
callbackZIMCallAcceptanceSentCallback接受呼叫邀请的回调。

详情

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

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

返回值

接收呼叫的结果回调。

callReject

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

参数

名称类型描述
callIDstd::string欲拒绝的呼叫邀请ID。
configZIMCallRejectConfig拒绝呼叫邀请的相关配置。
callbackZIMCallRejectionSentCallback拒绝呼叫邀请的回调。

详情

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

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

返回值

拒绝呼叫的结果回调。

callQuit

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

参数

名称类型描述
callIDconst std::string &欲退出的呼叫邀请ID。
configconst ZIMCallQuitConfig &退出呼叫邀请的相关配置。
callbackZIMCallQuitSentCallback退出呼叫的回调。

详情

退出进阶模式呼叫。

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

返回值

退出呼叫的结果回调。

callEnd

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

参数

名称类型描述
callIDconst std::string &欲结束的呼叫ID。
configconst ZIMCallEndConfig &结束呼叫邀请的相关配置。
callbackZIMCallEndSentCallback结束呼叫邀请的回调。

详情

结束进阶模式呼叫。

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

返回值

结束呼叫邀请的结果回调。

callingInvite

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

参数

名称类型描述
inviteesconst std::vector<std::string> &邀请的用户 ID 列表。
callIDconst std::string &当前进阶模式呼叫的 callID。
configconst ZIMCallingInviteConfig &邀请加入呼叫的相关配置。
callbackZIMCallingInvitationSentCallback邀请加入当前呼叫的回调。

详情

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

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

返回值

邀请加入当前呼叫的结果回调。

queryCallInvitationList

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

参数

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

详情

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

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

返回值

查询呼叫邀请列表的结果回调。

createGroup

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

参数

名称类型描述
groupInfoZIMGroupInfo将要被创建的群的配置信息。
userIDsconst std::vector<std::string>被邀请入群的用户列表。
callbackZIMGroupCreatedCallback创建群组的结果的回调。

详情

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

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

searchLocalGroups

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

参数

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

详情

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

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

返回值

搜索的结果回调。

searchLocalGroupMembers

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

参数

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

详情

该方法用于搜索群成员。

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

返回值

搜索群成员的结果回调。

createGroup

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

参数

名称类型描述
groupInfoZIMGroupInfo将要被创建的群的配置信息。
userIDsconst std::vector<std::string>被邀请入群的用户列表。
configZIMGroupAdvancedConfig创建群组的相关配置。
callbackZIMGroupCreatedCallback创建群组的结果的回调。

详情

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

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

返回值

创建群组的结果的回调。

joinGroup

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

参数

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

详情

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

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

返回值

加入群组的结果的回调。

leaveGroup

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

参数

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

详情

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

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

返回值

离开群组的结果的回调。

dismissGroup

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

参数

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

详情

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

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

返回值

解散群组的结果的回调。

kickGroupMembers

kickGroupMembers
public void kickGroupMembers(const std::vector<std::string> userIDs, const std::string groupID, ZIMGroupMemberKickedCallback callback)
踢出群组。
Declared in ZIM.h

参数

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

详情

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

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

返回值

踢出群组的结果的回调。

inviteUsersIntoGroup

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

参数

名称类型描述
userIDsconst std::vector<std::string>被邀请进群的用户列表,单次操作最多支持数量为 100。
groupIDconst std::string将用户邀请进入的群组ID。
callbackZIMGroupUsersInvitedCallback邀请用户进入群组的结果的回调。

详情

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

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

返回值

邀请用户进入群组的结果的回调。

transferGroupOwner

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

参数

名称类型描述
toUserIDconst std::string转换后的群主ID。
groupIDconst std::string将要更换群主的群组ID。
callbackZIMGroupOwnerTransferredCallback转让群主的结果的回调。

详情

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

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

返回值

转让群主的结果的回调。

updateGroupAlias

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

参数

名称类型描述
groupAliasconst std::string&新的群备注。最大长度 256 字节。
groupIDconst std::string &将要被更新群备注的群组 ID。
callbackZIMGroupAliasUpdatedCallback更新群备注的结果的回调。

详情

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

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

返回值

更新群备注的结果的回调。

updateGroupName

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

参数

名称类型描述
groupNameconst std::string&需要更新的群名称。
groupIDconst std::string &将要被更新群名的群组ID。
callbackZIMGroupNameUpdatedCallback更新群名称的结果的回调。

详情

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

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

返回值

更新群名称的结果的回调。

muteGroup

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

参数

名称类型描述
isMutebool标识行为是禁言群组或是解除群组禁言。
groupIDstd::string将要被更新禁言状态的群组 ID。
configZIMGroupMuteConfig群组禁言配置。
callbackZIMGroupMutedCallback更新群组禁言的结果的回调。

详情

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

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

返回值

更新群禁言状态的结果的回调。

muteGroupMembers

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

参数

名称类型描述
isMutebool标识行为是禁言群组成员或是解除群组成员禁言。
userIDsconst std::vector<std::string> &需要修改禁言状态的群成员 ID。
groupIDconst std::string &将要被更新成员禁言状态的群组 ID。
configZIMGroupMemberMuteConfig群组成员禁言配置。
callbackZIMGroupMembersMutedCallback更新群组成员禁言的结果的回调。

详情

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

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

返回值

更新群成员禁言状态的结果的回调。

updateGroupAvatarUrl

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

参数

名称类型描述
groupAvatarUrlstd::string需要更新的群头像 URL。
使用限制: 无特殊字符限制,最大 500 字节。
groupIDstd::string将要被更新群头像 URL 的群组ID。
callbackZIMGroupAvatarUrlUpdatedCallback更新群头像 URL 的结果的回调。

详情

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

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

返回值

更新群头像 URL 的结果的回调。

updateGroupNotice

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

参数

名称类型描述
groupNoticeconst std::string预更新的群公告。
groupIDconst std::string将要被更新群公告的群组ID。
callbackZIMGroupNoticeUpdatedCallback更新群公告的结果的回调。

详情

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

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

返回值

更新群公告的结果的回调。

updateGroupJoinMode

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

参数

名称类型描述
modeZIMGroupJoinMode加群验证模式。
groupIDstd::string群组ID。
callbackZIMGroupJoinModeUpdatedCallback更新操作的结果的回调。

详情

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

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

返回值

更新操作的结果的回调。

updateGroupInviteMode

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

参数

名称类型描述
modeZIMGroupInviteMode邀请入群验证模式。
groupIDstd::string群组ID。
callbackZIMGroupInviteModeUpdatedCallback更新操作的结果的回调。

详情

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

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

返回值

更新操作的结果的回调。

acceptGroupInviteApplication

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

参数

名称类型描述
inviterUserIDstd::string邀请人 ID。
groupIDstd::string群组ID。
configZIMGroupInviteApplicationAcceptConfig同意邀请入群申请的配置。
callbackZIMGroupInviteApplicationAcceptedCallback操作的结果的回调。

详情

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

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

返回值

操作的结果的回调。

acceptGroupJoinApplication

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

参数

名称类型描述
userIDstd::string申请人 ID。
groupIDstd::string群组ID。
configZIMGroupJoinApplicationAcceptConfig同意加群申请的配置。
callbackZIMGroupJoinApplicationAcceptedCallback操作的结果的回调。

详情

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

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

返回值

操作的结果的回调。

queryGroupApplicationList

queryGroupApplicationList
public void queryGroupApplicationList(ZIMGroupApplicationListQueryConfig config, ZIMGroupApplicationListQueriedCallback callback)
查询入群申请列表。
Declared in ZIM.h

参数

名称类型描述
configZIMGroupApplicationListQueryConfig查询申请列表的配置。
callbackZIMGroupApplicationListQueriedCallback操作的结果的回调。

详情

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

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

返回值

操作的结果的回调。

rejectGroupInviteApplication

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

参数

名称类型描述
inviterUserIDstd::string邀请人 ID。
groupIDstd::string群组ID。
configZIMGroupInviteApplicationRejectConfig拒绝邀请入群申请的配置。
callbackZIMGroupInviteApplicationRejectedCallback操作的结果的回调。

详情

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

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

返回值

操作的结果的回调。

rejectGroupJoinApplication

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

参数

名称类型描述
userIDstd::string申请人 ID。
groupIDstd::string群组ID。
configZIMGroupJoinApplicationRejectConfig拒绝加群申请的配置。
callbackZIMGroupJoinApplicationRejectedCallback操作的结果的回调。

详情

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

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

返回值

操作的结果的回调。

sendGroupInviteApplications

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

参数

名称类型描述
userIDsstd::vector<std::string>被邀请用户列表,单次操作最多支持数量为 20。
groupIDstd::string群组ID。
configZIMGroupInviteApplicationSendConfig邀请申请的配置。
callbackZIMGroupInviteApplicationsSentCallback操作的结果的回调。

详情

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

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

返回值

操作的结果的回调。

sendGroupJoinApplication

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

参数

名称类型描述
groupIDstd::string群组ID。
configZIMGroupJoinApplicationSendConfig加群申请配置。
callbackZIMGroupJoinApplicationSentCallback操作的结果的回调。

详情

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

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

返回值

操作的结果的回调。

updateGroupBeInviteMode

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

参数

名称类型描述
modeZIMGroupBeInviteMode被邀请入群验证模式。
groupIDstd::string群组ID。
callbackZIMGroupBeInviteModeUpdatedCallback更新操作的结果的回调。

详情

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

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

返回值

更新操作的结果的回调。

queryGroupInfo

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

参数

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

详情

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

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

返回值

查询群组信息的结果的回调。

queryGroupList

queryGroupList
public void queryGroupList(unsigned int count, ZIMGroupListQueryConfig config, ZIMGroupListQueriedCallback callback)
分页查询共同群列表。
Declared in ZIM.h

参数

名称类型描述
countunsigned int分页查询数量。
configZIMGroupListQueryConfig查询参数配置。
callbackZIMGroupListQueriedCallback查询群列表的结果的回调。

详情

查询与指定用户的共同群组列表。

  • 支持版本:2.27.0 及以上。

返回值

查询共同群组列表的结果的回调。

queryGroupList

queryGroupList
public void queryGroupList(ZIMGroupListQueriedCallback callback)
查询群列表。
Declared in ZIM.h

参数

名称类型描述
callbackZIMGroupListQueriedCallback查询群列表的结果的回调。

详情

查询当前所有群列表。

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

返回值

查询群列表的结果的回调。

queryGroupList

queryGroupList
public void queryGroupList(unsigned int count, ZIMGroupListQueryConfig config, ZIMGroupListQueriedCallback callback)
查询群列表。
Declared in ZIM.h

参数

名称类型描述
countunsigned int分页数量。
configZIMGroupListQueryConfig查询配置参数。
callbackZIMGroupListQueriedCallback查询群列表的结果的回调。

详情

分页查询群列表。

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

返回值

查询群列表的结果的回调。

setGroupAttributes

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

参数

名称类型描述
groupAttributesstd::unordered_map<std::string, std::string>群属性。
groupIDstd::string被设置群属性的groupID.
callbackZIMGroupAttributesOperatedCallback设置群组属性的回调。

详情

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

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

返回值

设置群组属性的回调。

deleteGroupAttributes

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

参数

名称类型描述
keysstd::vector<std::string>欲删除的群属性的key。
groupIDconst std::string将要被删除群属性的群组ID。
callbackZIMGroupAttributesOperatedCallback删除群组属性的结果的回调。

详情

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

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

返回值

删除群组属性的结果的回调。

queryGroupAttributes

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

参数

名称类型描述
keysstd::vector<std::string>欲查询的群属性的key。
groupIDconst std::string将要被查询群属性的群组ID。
callbackZIMGroupAttributesQueriedCallback查询群属性的结果的回调。

详情

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

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

返回值

查询群属性的结果的回调。

queryGroupAllAttributes

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

参数

名称类型描述
groupIDconst std::string将要被查询全部群属性的群组ID。
callbackZIMGroupAttributesQueriedCallback查询群组全部属性的结果的回调。

详情

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

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

返回值

查询群组全部属性的结果的回调。

setGroupMemberRole

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

参数

名称类型描述
roleint设置的群角色。
- 2: 管理员。
- 3: 普通成员。
- 其他值:可自定义群角色,权限与普通成员一致,建议取值大于 100。
forUserIDstd::string被设置群角色的用户ID。
groupIDconst std::string &将要被设置群角色的群组ID。
callbackZIMGroupMemberRoleUpdatedCallback设置群成员角色的结果的回调。

详情

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

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

返回值

设置群成员角色的结果的回调。

setGroupMemberNickname

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

参数

名称类型描述
nicknameconst std::string &设置的成员昵称。
forUserIDconst std::string &被设置群昵称的用户ID。
groupIDconst std::string&被设置群成员昵称的群组ID。
callbackZIMGroupMemberNicknameUpdatedCallback设置群成员昵称的结果的回调。

详情

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

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

返回值

设置群成员昵称的结果的回调。

queryGroupMemberInfo

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

参数

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

详情

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

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

返回值

查询群成员信息的结果的回调。

queryGroupMemberList

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

参数

名称类型描述
groupIDconst std::string&将要被查询群成员列表的群组ID。
configZIMGroupMemberQueryConfig群成员查询的配置。
callbackZIMGroupMemberListQueriedCallback查询群成员列表的回调。

详情

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

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

返回值

查询群成员列表的回调。

queryGroupMemberMutedList

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

参数

名称类型描述
groupIDconst std::string&将要被查询群禁言成员列表的群组ID。
configZIMGroupMemberMutedListQueryConfig群禁言成员查询的配置。
callbackZIMGroupMemberMutedListQueriedCallback查询群禁言成员列表的回调。

详情

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

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

返回值

查询群禁言成员列表的回调。

queryGroupMemberCount

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

参数

名称类型描述
groupIDconst std::string &需要查询群人数的群的 ID。
callbackZIMGroupMemberCountQueriedCallback查询群人数的回调。

详情

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

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

返回值

查询群人数的回调。

queryConversation

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

参数

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

详情

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

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

返回值

查询会话的结果回调。

queryConversationList

queryConversationList
public void queryConversationList(ZIMConversationQueryConfig config, ZIMConversationListQueriedCallback callback)
查询会话列表。
Declared in ZIM.h

参数

名称类型描述
configZIMConversationQueryConfig会话查询的配置。
callbackZIMConversationListQueriedCallback会话查询的回调。

详情

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

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

返回值

查询会话列表的结果回调。

queryConversationList

queryConversationList
public void queryConversationList(ZIMConversationQueryConfig config, ZIMConversationFilterOption option, ZIMConversationListQueriedCallback callback)
按照过滤项查询会话列表。
Declared in ZIM.h

参数

名称类型描述
configZIMConversationQueryConfig会话查询的配置。
optionZIMConversationFilterOption会话列表查询的过滤项。
callbackZIMConversationListQueriedCallback会话查询的回调。

详情

该方法可以按照过滤项查询已登录用户的会话列表。

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

返回值

查询会话列表的结果回调。

queryConversationPinnedList

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

参数

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

详情

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

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

queryConversationTotalUnreadMessageCount

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

参数

名称类型描述
configZIMConversationTotalUnreadMessageCountQueryConfig会话未读消息总数查询的配置。
callbackZIMConversationTotalUnreadMessageCountQueriedCallback会话未读消息总数查询的回调。

详情

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

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

返回值

会话未读消息总数查询的回调。

updateConversationPinnedState

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

参数

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

详情

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

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

deleteAllConversations

deleteAllConversations
public void deleteAllConversations(ZIMConversationDeleteConfig config, ZIMConversationsAllDeletedCallback callback)
删除全部会话。
Declared in ZIM.h

参数

名称类型描述
configZIMConversationDeleteConfig删除全部会话的配置。
callbackZIMConversationsAllDeletedCallback删除全部会话的回调。

详情

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

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

返回值

删除全部会话的结果回调。

deleteConversation

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

参数

名称类型描述
conversationIDconst std::string&会话ID。
conversationTypeZIMConversationType会话类型。
configZIMConversationDeleteConfig删除会话的配置。
callbackZIMConversationDeletedCallback删除会话的回调。

详情

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

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

返回值

删除会话的结果回调。

setConversationDraft

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

参数

名称类型描述
draftstd::string会话需要设置的文本消息草稿。
conversationIDconst std::string&会话 ID。
conversationTypeZIMConversationType会话类型。仅支持“单聊”和“群聊”会话。
callbackZIMConversationDraftSetCallback设置会话草稿的回调。

详情

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

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

返回值

设置会话草稿的回调。

clearConversationTotalUnreadMessageCount

clearConversationTotalUnreadMessageCount
public void clearConversationTotalUnreadMessageCount(ZIMConversationTotalUnreadMessageCountClearedCallback callback)
清除全部会话未读数。
Declared in ZIM.h

参数

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

详情

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

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

返回值

清除全部会话未读数的回调。

clearConversationUnreadMessageCount

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

参数

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

详情

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

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

返回值

清除会话未读消息数的结果回调。

setConversationMark

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

参数

名称类型描述
markTypeint标记类型。数值范围为 [1, 20]。
enablebool会话标记操作。true 为设置标记,false 为取消标记。
conversationInfosconst std::vector<ZIMConversationBaseInfo> &需要被修改会话标记的会话简要信息列表。最大可传入 100 个会话。
callbackZIMConversationMarkSetCallback设置会话标记的回调。

详情

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

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

返回值

设置会话标记的回调。

setConversationNotificationStatus

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

参数

名称类型描述
statusZIMConversationNotificationStatus会话通知状态。
conversationIDconst std::string&会话ID。当前仅支持为“群组”会话和“单聊”(需 2.14.0 版本或以上SDK)设置免打扰状态。
群聊会话时,conversationID 为群组的 groupID。
单聊会话时,conversationID 为对端用户的 userID。
conversationTypeZIMConversationType会话类型。当前仅支持为“群组”会话和“单聊”(需 2.14.0 版本或以上SDK)设置免打扰状态。
callbackZIMConversationNotificationStatusSetCallback设置会话通知状态的回调。

详情

该方法可以选择目标会话的未读数是否在收到消息时更新,从而实现免打扰功能。

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

返回值

设置会话通知状态的结果回调。

cancelSendingMessage

cancelSendingMessage
public void cancelSendingMessage(ZIMMessage message, ZIMSendingMessageCancelConfig config, ZIMSendingMessageCancelledCallback callback)
取消媒体消息发送。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage要取消发送的消息对象。
configZIMSendingMessageCancelConfig取消发送消息的相关配置。
callbackZIMSendingMessageCancelledCallback取消发送消息的结果的回调。

详情

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

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

返回值

取消发送消息的结果的回调。

editMessage

editMessage
public void editMessage(ZIMMessage message, ZIMMessageEditConfig config, ZIMMessageSendNotification notification, ZIMMessageEditedCallback callback)
编辑消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage要编辑的消息对象。
configZIMMessageEditConfig编辑消息的相关配置。
notificationZIMMessageSendNotification编辑消息时的相关通知。
callbackZIMMessageEditedCallback消息的编辑结果的回调。

详情

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

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

返回值

消息的编辑结果的回调。

pinMessage

pinMessage
public void pinMessage(ZIMMessage message, bool isPinned, ZIMMessagePinConfig config, ZIMMessagePinnedCallback callback)
置顶或取消消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage要置顶或取消置顶的消息对象。
isPinnedbool置顶或取消置顶。
configZIMMessagePinConfig消息置顶配置对象。
callbackZIMMessagePinnedCallback置顶或取消置顶结果的回调。

详情

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

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

返回值

消息的置顶或取消置顶结果的回调。

sendMessage

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

参数

名称类型描述
messagestd::shared_ptr<ZIMMessage>要发送的消息,使用时,请根据消息类型修改 message 的类型。 例如,发送文本消息时,请使用 ZIMTextMessage。
toConversationIDstd::string消息需要发送的会话 ID。
conversationTypeZIMConversationType会话类型,支持单聊、房间以及群聊。
configZIMMessageSendConfig发送消息的相关配置。
notificationZIMMessageSendNotification发送消息时的相关通知。
callbackZIMMessageSentCallback消息的发送结果的回调。

详情

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

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

sendMediaMessage

sendMediaMessage
public void sendMediaMessage(std::shared_ptr<ZIMMediaMessage> message, const std::string & toConversationID, ZIMConversationType conversationType, ZIMMessageSendConfig config, ZIMMediaMessageSendNotification notification, ZIMMessageSentCallback callback)
发送媒体消息。
Declared in ZIM.h

参数

名称类型描述
messagestd::shared_ptr<ZIMMediaMessage>要发送的消息,使用时,请根据多媒体消息类型,修改 message 的类型。例如,发送图片消息时,请使用 ZIMImageMessage。
toConversationIDconst std::string &消息接收方的会话 ID,支持单聊、房间以及群聊。
conversationTypeZIMConversationType会话类型,支持单聊、房间以及群聊。
configZIMMessageSendConfig发送消息的相关配置。
notificationZIMMediaMessageSendNotification发送媒体消息时的相关通知,包含上传进度等。
callbackZIMMessageSentCallback发送媒体消息的结果回调。

详情

该方法可用于发送单聊、房间以及群聊消息。

  • 业务场景:登录后需要向目标用户、目标房间以及目标群聊发送媒体消息时,通过本接口发送。
  • 调用时机:登录后可调用。
  • 影响范围:使用该方法会触发消息接收方的 [onReceivePeerMessage] / [onReceiveRoomMessage] / [onReceiveGroupMessage] 回调,会触发发送方和接收方的 [onConversationChanged] 回调,若该消息所在会话未设置消息免打扰,会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
  • 相关回调:[ZIMMessageSentCallback]、[ZIMMediaMessageSendNotification]、[onReceivePeerMessage]、[onReceiveRoomMessage]、[onReceiveGroupMessage]、 [onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
  • 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]
  • 支持版本:2.4.0 及以上。
  • 使用限制:不得超过10条/s,登录后可用,登出后不可用;仅支持视频编码格式为 H264 和 H265 的视频文件在消息发送成功后获取该视频首帧的宽、高信息。
  • 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。若向房间发送媒体消息,则不支持离线推送,也不支持回调 [onConversationChanged] 和 [onConversationTotalUnreadMessageCountUpdated]。

返回值

发送媒体消息的结果。

insertMessageToLocalDB

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

参数

名称类型描述
messagestd::shared_ptr<ZIMMessage>要插入的消息。
conversationIDconst std::string &会话 ID。
conversationTypeZIMConversationType会话类型。
senderUserIDconst std::string &该消息的发送者 ID。
callbackZIMMessageInsertedCallback插入消息的结果回调。

详情

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

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

返回值

插入消息的结果。

clearLocalFileCache

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

参数

名称类型描述
configZIMFileCacheClearConfig清理缓存的配置。
callbackZIMFileCacheClearedCallback清理缓存的结果的返回。

详情

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

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

queryLocalFileCache

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

参数

名称类型描述
configZIMFileCacheQueryConfig查询缓存的配置。
callbackZIMFileCacheQueriedCallback查询缓存的结果的返回。

详情

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

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

exportLocalMessages

exportLocalMessages
public void exportLocalMessages(String folderPath, ZIMMessageExportConfig config, ZIMMessageExportingProgress progress, ZIMMessageExportedCallback callback)
导出当前用户本地消息。
Declared in ZIM.h

参数

名称类型描述
folderPathString请填入文件保存地址,路径为绝对路径。
configZIMMessageExportConfig导出消息的配置。
progressZIMMessageExportingProgress导出消息进度的返回。
callbackZIMMessageExportedCallback导出消息结果的返回。

详情

该方法用于导出当前用户本地消息。

  • 业务场景:当需要导出消息时,调用该接口。
  • 相关回调:[ZIMMessageExportedCallback]
  • 支持版本:2.15.0 及以上。
  • 使用限制:登录后生效,登出后失效。
  • 注意事项:本接口导出的消息文件名称为 zim_backup_msg_text。如果多次调用本接口时,传入的路径相同,ZIM SDK 会自行将旧的 zim_backup_msg_text 文件更名,以确保最新导出的文件名称为 zim_backup_msg_text。

importLocalMessages

importLocalMessages
public void importLocalMessages(String folderPath, ZIMMessageImportConfig config, ZIMMessageImportingProgress progress, ZIMMessageImportedCallback callback)
导入当前用户本地消息。
Declared in ZIM.h

参数

名称类型描述
folderPathString请填入导入文件所在目录的地址,路径为绝对路径,不包括文件名。
configZIMMessageImportConfig导入消息的配置。
progressZIMMessageImportingProgress导出消息进度的返回。
callbackZIMMessageImportedCallback导入消息结果的返回。

详情

该方法用于导入当前用户本地消息。

  • 业务场景:当需要导入消息时,调用该接口。
  • 相关回调:[ZIMMessageImportedCallback]
  • 支持版本:2.15.0 及以上。
  • 使用限制:登录后生效,登出后失效。
  • 注意事项:ZIM SDK 默认读取目录中名称为 zim_backup_msg_text 的文件。如果该路径下存在多份备份,请确认待导入的文件名称是否为 zim_backup_msg_text。

sendConversationMessageReceiptRead

sendConversationMessageReceiptRead
public void sendConversationMessageReceiptRead(String conversationID, ZIMConversationType conversationType, ZIMConversationMessageReceiptReadSentCallback callback)
设置会话所有已接收的回执已读。
Declared in ZIM.h

参数

名称类型描述
conversationIDString会话的ID。
conversationTypeZIMConversationType会话类型,仅支持 Peer 类型。
callbackZIMConversationMessageReceiptReadSentCallback设置会话已读回调。

详情

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

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

返回值

设置会话已读回调。

sendMessageReceiptsRead

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

参数

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

详情

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

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

返回值

设置消息已读的结果回调。

queryMessageReceiptsInfo

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

参数

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

详情

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

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

返回值

查询消息回执信息的结果回调。

queryGroupMessageReceiptReadMemberList

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

参数

名称类型描述
messagestd::shared_ptr<ZIMMessage>要查询的消息。
groupIDconst std::string &群组 ID。
configZIMGroupMessageReceiptMemberQueryConfig查询的配置。
callbackZIMGroupMessageReceiptMemberListQueriedCallback查询具体已读成员列表的结果回调。

详情

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

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

返回值

查询具体已读成员列表的结果回调。

queryGroupMessageReceiptUnreadMemberList

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

参数

名称类型描述
messagestd::shared_ptr<ZIMMessage>要查询的消息。
groupIDconst std::string &群组 ID。
configZIMGroupMessageReceiptMemberQueryConfig查询的配置。
callbackZIMGroupMessageReceiptMemberListQueriedCallback查询具体未读成员列表的的结果回调。

详情

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

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

返回值

查询具体未读成员列表的的结果回调。

searchLocalMessages

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

参数

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

详情

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

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

返回值

搜索本地消息的的结果的返回。

searchLocalConversations

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

参数

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

详情

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

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

返回值

搜索会话的的结果的返回。

searchGlobalLocalMessages

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

参数

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

详情

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

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

返回值

全局搜索本地消息的的结果的返回。

replyMessage

replyMessage
public void replyMessage(std::shared_ptr<ZIMMessage> message, std::shared_ptr<ZIMMessage> toOriginalMessage, ZIMMessageSendConfig config, ZIMMessageSendNotification notification, ZIMMessageSentCallback callback)
发送回复消息。
Declared in ZIM.h

参数

名称类型描述
messagestd::shared_ptr<ZIMMessage>要发送的消息,使用时,请根据消息类型修改 message 的类型。 例如,发送文本消息时,请使用 ZIMTextMessage。仅支持:ZIMTextMessage(1)、ZIMImageMessage(11)、ZIMFileMessage(12)、ZIMAudioMessage(13)、ZIMVideoMessage(14)、ZIMCombineMessage(100)、ZIMCustomMessage(200)。
toOriginalMessagestd::shared_ptr<ZIMMessage>引用的源消息。仅支持:ZIMTextMessage(1)、ZIMImageMessage(11)、ZIMFileMessage(12)、ZIMAudioMessage(13)、ZIMVideoMessage(14)、ZIMCombineMessage(100)、ZIMCustomMessage(200)。
configZIMMessageSendConfig发送消息的相关配置。
notificationZIMMessageSendNotification发送消息时的相关通知。
callbackZIMMessageSentCallback消息的发送结果的回调。

详情

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

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

queryMessageRepliedList

queryMessageRepliedList
public void queryMessageRepliedList(ZIMMessage message, ZIMMessageRepliedListQueryConfig config, ZIMMessageRepliedListQueriedCallback callback)
查询回复列表。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage传入回复列表中的某一条消息。
configZIMMessageRepliedListQueryConfig查询回复列表的配置。
callbackZIMMessageRepliedListQueriedCallback查询结果的回调。

详情

查询回复消息列表。

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

返回值

查询结果的回调。

sendMediaMessage

sendMediaMessage
deprecated
public void sendMediaMessage(ZIMMediaMessage * message, const std::string& toConversationID, ZIMConversationType conversationType, ZIMMessageSendConfig config, ZIMMediaUploadingProgress progress, ZIMMessageSentCallback callback)
发送媒体消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMediaMessage *要发送的消息。
toConversationIDconst std::string&消息接收方的会话 ID,支持单聊、房间以及群聊。
conversationTypeZIMConversationType会话类型,支持单聊、房间以及群聊。
configZIMMessageSendConfig发送消息的相关配置。
progressZIMMediaUploadingProgress发送媒体消息的进度回调。
callbackZIMMessageSentCallback发送媒体消息的结果回调。

详情

该方法可用于发送单聊、房间以及群聊消息。

  • 业务场景:登录后需要向目标用户、目标房间以及目标群聊发送媒体消息时,通过本接口发送。
  • 调用时机/通知时机:登录后可调用。
  • 影响范围:使用该方法会触发消息接收方的 [onReceivePeerMessage] / [onReceiveRoomMessage] / [onReceiveGroupMessage] 回调,会触发发送方和接收方的 [onConversationChanged] 回调,若该消息所在会话未设置消息免打扰,会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
  • 相关回调:[ZIMMessageSentCallback]、[ZIMMediaUploadingProgress]、[onReceivePeerMessage]、[onReceiveRoomMessage]、[onReceiveGroupMessage]、 [onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
  • 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]
  • 支持版本:2.1.0 及以上。
  • 使用限制:不得超过10条/s,登录后可用,登出后不可用。
  • 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。若向房间发送媒体消息,则不支持离线推送,也不支持回调 [onConversationChanged] 和 [onConversationTotalUnreadMessageCountUpdated]。
已废弃
此 API 自 2.4.0 起已弃用,请改用同名 API。

返回值

发送媒体消息的结果。

downloadMediaFile

downloadMediaFile
public void downloadMediaFile(ZIMMediaMessage * message, ZIMMediaFileType fileType, ZIMMediaDownloadConfig config, ZIMMediaDownloadingProgress progress, ZIMMediaDownloadedCallback callback)
下载媒体文件的内容。
Declared in ZIM.h

参数

名称类型描述
messageZIMMediaMessage *要下载的媒体文件消息。
fileTypeZIMMediaFileType媒体文件类型。
configZIMMediaDownloadConfig下载配置对象。
progressZIMMediaDownloadingProgress下载媒体文件的进度回调。
callbackZIMMediaDownloadedCallback下载媒体文件的结果回调。

详情

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

  • 业务场景:用户收到消息之后,若该消息包含媒体文件,则可以调用本接口下载其内容。
  • 调用时机/通知时机:登录后且收到包含媒体文件的消息之后可调用。
  • 相关回调:[ZIMMediaDownloadedCallback]、[ZIMMediaDownloadingProgress]。
  • 支持版本:2.19.0 及以上。
  • 使用限制:若下载的是外部 URL,则最大只能下载 200MB 的资源,如需配置,请联系 ZEGO 技术支持。

返回值

下载媒体文件的结果。

downloadMediaFile

downloadMediaFile
deprecated
public void downloadMediaFile(ZIMMediaMessage * message, ZIMMediaFileType fileType, ZIMMediaDownloadingProgress progress, ZIMMediaDownloadedCallback callback)
下载媒体消息内容。
Declared in ZIM.h

参数

名称类型描述
messageZIMMediaMessage *要下载的媒体消息。
fileTypeZIMMediaFileType媒体文件类型。
progressZIMMediaDownloadingProgress下载媒体文件的进度回调。
callbackZIMMediaDownloadedCallback下载媒体文件的结果回调。

详情

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

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

返回值

下载媒体文件的结果。

sendPeerMessage

sendPeerMessage
deprecated
public void sendPeerMessage(ZIMMessage * message, const std::string& toUserID, ZIMMessageSendConfig config, ZIMMessageSentCallback callback)
发送点对点消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage *要发送的消息。
toUserIDconst std::string&消息接收方的用户 ID。
configZIMMessageSendConfig发送单聊消息的相关配置。
callbackZIMMessageSentCallback消息的发送结果的回调。

详情

该方法用于发送单聊消息。

  • 业务场景:登录后需要向目标用户发送单聊消息时,通过本接口发送聊天消息。
  • 调用时机/通知时机:登录后可调用。
  • 影响范围:使用该方法会触发消息接收方的 [receivePeerMessage] 回调,会触发发送方和接收方的 [onConversationChanged] 回调,若该消息所在会话未设置消息免打扰,会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
  • 相关回调:[ZIMMessageSentCallback]、[receivePeerMessage]、[onConversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
  • 相关接口:[queryHistoryMessage]、[deleteMessageByConversationID]、[deleteMessage]
  • 支持版本:2.0.0 及以上。
  • 使用限制:不得超过10条/s,登录后可用,登出后不可用。
  • 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。
已废弃
此 API 自 2.4.0 起已弃用,请改用 [sendMessage]。

返回值

发送消息的结果的回调。

sendRoomMessage

sendRoomMessage
deprecated
public void sendRoomMessage(ZIMMessage * message, const std::string& toRoomID, ZIMMessageSendConfig config, ZIMMessageSentCallback callback)
发送房间消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage *要发送的消息。
toRoomIDconst std::string&消息接收方的房间 ID。
configZIMMessageSendConfig发送房间消息的相关配置。
callbackZIMMessageSentCallback消息的发送结果的回调。

详情

调用此函数后会指定房间内发送消息,同时将收到 [ZIMMessageSentCallback] 回调,可用于判断是否发送成功。

  • 业务场景:在进行房间内多人聊天时的场景时需要用到该功能。
  • 调用时机:初始化 ZIM,登录成功并创建或加入房间后,用户需要发送房间消息时调用该方法。
  • 支持版本:1.1.0 及以上。
  • 注意事项:发送时需要注意 [ZIMMessageSentCallback] 回调,如果因为某些原因发送失败可以通过该回调用于判断。
已废弃
此 API 自 2.4.0 起已弃用,请改用 [sendMessage]。

返回值

消息的发送结果的回调。

sendGroupMessage

sendGroupMessage
deprecated
public void sendGroupMessage(ZIMMessage * message, const std::string& toGroupID, ZIMMessageSendConfig config, ZIMMessageSentCallback callback)
发送群组消息。
Declared in ZIM.h

参数

名称类型描述
messageZIMMessage *要发送的消息。
toGroupIDconst std::string&消息接收方的用户 ID。
configZIMMessageSendConfig发送单聊消息的相关配置。
callbackZIMMessageSentCallback消息的发送结果的回调。

详情

需要发送群聊消息时,调用该接口。

  • 业务场景:发送群消息时,可使用该接口。
  • 调用时机/通知时机:需要发送群聊消息时调用此接口。
  • 影响范围:使用该方法会触发消息接收方的 onReceiveGroupMessage 回调,会触发发送方和接收方的 onConversationChanged 回调,若该消息所在会话未设置消息免打扰,会触发 onConversationTotalUnreadMessageCountUpdated 回调。
  • 相关回调:[ZIMMessageSentCallback]、[onReceiveGroupMessage]、[onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
  • 相关接口:[queryHistoryMessage]、[deleteMessage]
  • 支持版本:2.0.0 及以上。
  • 使用限制:不得超过10条/s,登录后可用,登出后不可用。
  • 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。
已废弃
此 API 自 2.4.0 起已弃用,请改用 [sendMessage]。

返回值

发送消息的结果的回调。

queryHistoryMessage

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

参数

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

详情

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

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

返回值

查询历史消息的结果回调。

queryPinnedMessageList

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

参数

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

详情

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

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

返回值

查询置顶消息的结果回调。

queryMessages

queryMessages
public void queryMessages(std::vector<long> messageSeqs, std::string conversationID, ZIMConversationType conversationType, ZIMMessageQueriedCallback callback)
根据消息seq列表查询消息。
Declared in ZIM.h

参数

名称类型描述
messageSeqsstd::vector<long>查询的消息seq列表。
conversationIDstd::string被查询消息的会话ID。
conversationTypeZIMConversationType会话类型。
callbackZIMMessageQueriedCallback查询消息的的结果的返回。

详情

根据消息seq列表查询一批消息。

  • 业务场景:在聊天页面跳转到回复消息引用的源消息位置。
  • 支持版本:2.17.0 及以上。

返回值

查询消息的的结果的返回。

deleteAllConversationMessages

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

参数

名称类型描述
configZIMMessageDeleteConfig删除消息的配置。
callbackZIMConversationMessagesAllDeletedCallback删除全部会话的全部消息的结果的结果回调。

详情

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

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

返回值

删除全部会话的全部消息的结果的结果回调。

queryCombineMessageDetail

queryCombineMessageDetail
public void queryCombineMessageDetail(const std::shared_ptr<ZIMCombineMessage> & message, ZIMCombineMessageDetailQueriedCallback callback)
拉取合并消息详情
Declared in ZIM.h

参数

名称类型描述
messageconst std::shared_ptr<ZIMCombineMessage> &需要被拉取子消息的合并消息。
callbackZIMCombineMessageDetailQueriedCallback查询合并消息详情的回调参数。

详情

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

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

返回值

合并消息详情拉取结果。

revokeMessage

revokeMessage
public void revokeMessage(std::shared_ptr<ZIMMessage> message, const ZIMMessageRevokeConfig & config, ZIMMessageRevokedCallback callback)
撤回消息。
Declared in ZIM.h

参数

名称类型描述
messagestd::shared_ptr<ZIMMessage>需要被撤回的消息。
configconst ZIMMessageRevokeConfig &撤回消息的配置。
callbackZIMMessageRevokedCallback撤回消息的结果的返回。

详情

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

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

返回值

撤回消息的结果回调。

deleteMessages

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

参数

名称类型描述
messageListstd::vector<ZIMMessage *>被删除的消息列表。
conversationIDconst std::string&被删除消息的会话ID。
conversationTypeZIMConversationType会话类型。
configZIMMessageDeleteConfig删除消息的配置。
callbackZIMMessageDeletedCallback删除消息的结果的返回。

详情

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

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

返回值

删除消息的结果回调。

addMessageReaction

addMessageReaction
public void addMessageReaction(std::string reactionType, std::shared_ptr<ZIMMessage> message, ZIMMessageReactionAddConfig config, ZIMMessageReactionAddedCallback callback)
增加消息表态
Declared in ZIM.h

参数

名称类型描述
reactionTypestd::string表态类型,由您定义,长度上限为 32 字节。
messagestd::shared_ptr<ZIMMessage>需要被表态的消息。
configZIMMessageReactionAddConfig添加表态的配置。
callbackZIMMessageReactionAddedCallback添加消息表态的结果回调。

详情

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

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

返回值

增加消息表态的结果回调。

deleteMessageAllReactions

deleteMessageAllReactions
public void deleteMessageAllReactions(std::shared_ptr<ZIMMessage> message, ZIMMessageReactionsAllDeletedCallback callback)
删除消息全部表态。
Declared in ZIM.h

参数

名称类型描述
messagestd::shared_ptr<ZIMMessage>需要被删除表态的消息。
callbackZIMMessageReactionsAllDeletedCallback撤回消息的结果的返回。

详情

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

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

返回值

删除消息表态的结果回调。

deleteMessageReaction

deleteMessageReaction
public void deleteMessageReaction(std::string reactionType, std::shared_ptr<ZIMMessage> message, ZIMMessageReactionDeletedCallback callback)
删除消息表态
Declared in ZIM.h

参数

名称类型描述
reactionTypestd::string表态类型,必须为本端用户所作的表态类型。
messagestd::shared_ptr<ZIMMessage>需要被删除表态的消息。
callbackZIMMessageReactionDeletedCallback撤回消息的结果的返回。

详情

删除本端添加的表态。

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

返回值

删除消息表态的结果回调。

queryMessageReactionUserList

queryMessageReactionUserList
public void queryMessageReactionUserList(const std::shared_ptr<ZIMMessage> & message, const ZIMMessageReactionUserQueryConfig & config, ZIMMessageReactionUserListQueriedCallback callback)
拉取消息表态用户列表
Declared in ZIM.h

参数

名称类型描述
messageconst std::shared_ptr<ZIMMessage> &需要被拉取表态用户详情的消息。
configconst ZIMMessageReactionUserQueryConfig &拉取表态用户配置。
callbackZIMMessageReactionUserListQueriedCallback拉取表态用户返回的结果。

详情

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

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

返回值

消息表态用户详情拉取结果。

deleteAllMessage

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

参数

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

详情

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

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

返回值

删除消息的结果的返回。

updateMessageLocalExtendedData

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

参数

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

详情

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

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

返回值

修改用户扩展字段的回调结果。

createRoom

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

参数

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

详情

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

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

queryRoomMembers

queryRoomMembers
public void queryRoomMembers(const std::vector<std::string> & userIDs, const std::string & roomID, ZIMRoomMembersQueriedCallback callback)
查询指定房间中的最多 10 名用户的信息。
Declared in ZIM.h

参数

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

详情

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

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

setRoomMembersAttributes

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

参数

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

详情

调用该 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
public void queryRoomMembersAttributes(const std::vector<std::string> & userIDs, std::string roomID, ZIMRoomMembersAttributesQueriedCallback callback)
批量查询房间内成员的房间用户属性。
Declared in ZIM.h

参数

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

详情

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

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

返回值

批量查询房间用户属性的结果。

queryRoomMemberAttributesList

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

参数

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

详情

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

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

返回值

分页查询房间用户属性的结果。

createRoom

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

参数

名称类型描述
roomInfoZIMRoomInfo将要被创建的房间的配置信息。
configZIMRoomAdvancedConfig将要被创建的房间的高级属性。
callbackZIMRoomCreatedCallback创建房间的结果的回调。

详情

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

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

返回值

创建房间的结果的回调。

enterRoom

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

参数

名称类型描述
roomInfoZIMRoomInfo将要被创建的房间的配置信息。只有第一个进入房间的用户创建 roomName 生效。
configZIMRoomAdvancedConfig将要被创建的房间的高级属性。只有第一个进入房间的用户配置生效。
callbackZIMRoomEnteredCallback进入房间的结果的回调。

详情

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

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

返回值

进入房间的结果的回调。

switchRoom

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

参数

名称类型描述
fromRoomIDstd::string将要被创建的房间的配置信息。只有第一个进入房间的用户创建 roomName 生效。
toRoomInfoconst ZIMRoomInfo &需要切换至的房间的基本信息。其中的 roomName 字段,仅在切换至的房间不存在,且 isCreateWhenRoomNotExisted 字段为 true 的情况下生效。
isCreateWhenRoomNotExistedbool当需要切换至的房间不存在时,基于该字段决定是否要创建对应房间。
configconst ZIMRoomAdvancedConfig &如果 isCreateWhenRoomNotExisted 字段为 true,且需要切换至的房间不存在时,创建对应房间所使用的房间进阶属性配置。
callbackZIMRoomSwitchedCallback切换房间的结果的回调。

详情

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

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

返回值

切换房间的结果的回调。

joinRoom

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

参数

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

详情

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

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

返回值

加入房间的结果的回调

leaveRoom

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

参数

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

详情

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

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

返回值

离开房间的结果的回调。

leaveAllRoom

leaveAllRoom
public void leaveAllRoom(ZIMRoomAllLeftCallback callback)
离开所有已进入的房间。
Declared in ZIM.h

参数

名称类型描述
callbackZIMRoomAllLeftCallback离开所有房间结果回调。

详情

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

  • 调用时机:登录后可调用。
  • 相关回调:通过 [ZIMRoomAllLeftCallback] 回调获取离开的房间列表。
  • 支持版本:2.15 及以上。

返回值

离开所有房间的结果的回调。

queryRoomMemberList

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

参数

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

详情

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

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

返回值

查询房间成员的结果的回调。

queryRoomOnlineMemberCount

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

参数

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

详情

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

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

返回值

查询房间内在线成员数量的结果回调。

queryRoomAllAttributes

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

参数

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

详情

用于查询房间属性。

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

返回值

查询房间属性的回调。

setRoomAttributes

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

参数

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

详情

用于设置房间属性。

  • 业务场景:语聊房需要设置麦位时,可以使用该接口。
  • 调用时机: 登录后,并处于相关房间内调用。

数量限制: 每个房间中,最多允许设置 20 个属性。

大小限制: 房间属性的key-value,默认 key 的长度是 16,默认 value 的长度是 1024。

  • 默认值:[ZIMRoomAttributesSetConfig] 传空时的默认配置是非强制操作,且不更新拥有者,且涉及到的房间属性在拥有者退出后不自动删除。
  • 隐私保护声明:尽量不要在房间属性中传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
  • 影响范围:新增或修改现有房间的房间属性。
  • 相关回调:[ZIMRoomAttributesOperatedCallback]。
  • 相关接口:[DeleteRoomAttributes],删除房间属性。[QueryRoomAllAttributes],查询房间属性。
  • 支持版本:1.3.0。

返回值

设置房间属性的操作回调。

deleteRoomAttributes

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

参数

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

详情

用于删除房间属性。

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

返回值

设置房间属性的操作回调。

beginRoomAttributesBatchOperation

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

参数

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

详情

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

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

endRoomAttributesBatchOperation

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

参数

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

详情

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

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

返回值

组合操作的回调。

ZIMEventHandler

详情

回调。

Declared in ZIMEventHandler.h

方法

onBlacklistChanged

onBlacklistChanged
public void onBlacklistChanged(ZIM * zim, const std::vector<ZIMUserInfo> userList, ZIMBlacklistChangeAction action)
当黑名单列表发生变化时会回调当前方法
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
userListconst std::vector<ZIMUserInfo>黑名单列表变更的用户信息集合
actionZIMBlacklistChangeAction接收到黑名单列表的变更时可用该值判断是删除动作还是新增的动作

详情

当黑名单列表发生变化时会回调当前方法

  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[addUsersToBlacklist]。
  • 支持版本:2.13.0 及以上。

onFriendListChanged

onFriendListChanged
public void onFriendListChanged(ZIM * zim, const std::vector<ZIMFriendInfo> friendInfoList, ZIMFriendListChangeAction action)
当好友列表发生变化时会回调当前方法
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
friendInfoListconst std::vector<ZIMFriendInfo>好友列表变更的用户信息集合
actionZIMFriendListChangeAction接收到好友列表的变更时可用该值判断是删除动作还是新增的动作

详情

当好友列表发生变化时会回调当前方法

  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[addFriend]。
  • 支持版本:2.14.0 及以上。

onFriendApplicationListChanged

onFriendApplicationListChanged
public void onFriendApplicationListChanged(ZIM * zim, const std::vector<ZIMFriendApplicationInfo> friendApplicationInfoList, ZIMFriendApplicationListChangeAction action)
当好友申请列表发生变化时会回调当前方法
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
friendApplicationInfoListconst std::vector<ZIMFriendApplicationInfo>好友申请列表变更的数据
actionZIMFriendApplicationListChangeAction接收到好友列表的变更时可用该值判断是删除动作还是新增的动作

详情

当好友列表发生变化时会回调当前方法

  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[sendFriendApplication]。
  • 支持版本:2.14.0 及以上。

onFriendApplicationUpdated

onFriendApplicationUpdated
public void onFriendApplicationUpdated(ZIM * zim, const std::vector<ZIMFriendApplicationInfo> friendApplicationInfoList)
当好友申请列表发生更新时会回调当前方法
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
friendApplicationInfoListconst std::vector<ZIMFriendApplicationInfo>好友申请列表更新的数据。

详情

当好友申请列表发生更新时会回调当前方法

  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[acceptFriendApplication] [rejectFriendApplication]。
  • 支持版本:2.14.0 及以上。

onFriendInfoUpdated

onFriendInfoUpdated
public void onFriendInfoUpdated(ZIM * zim, const std::vector<ZIMFriendInfo> friendInfoList)
当好友信息更新时候会触发该回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
friendInfoListconst std::vector<ZIMFriendInfo>好友信息更新数据

详情

当好友信息更新时候会触发该回调。

  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[updateFriendAlias] [updateFriendAttributes]。
  • 支持版本:2.14.0 及以上。

onUserStatusUpdated

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

参数

名称类型描述
zimZIM *zim 实例。
userStatusListconst std::vector<ZIMUserStatus>&携带用户在线状态数据的列表。

详情

用户在线状态变更通知。

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

onError

onError
public void onError(ZIM * zim, ZIMError errorInfo)
错误信息回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
errorInfoZIMError错误信息,详情请参考常见错误码文档。

详情

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

  • 业务场景:建议开发者在接入 SDK 后,在调试阶段中监听此回调通知并将错误信息打印到控制台中,用于及时知悉开发过程中发生的错误,及时修改。
  • 通知时机:SDK 内部发生错误时,SDK 会通过此函数回调通知开发者。
  • 支持版本:1.1.0 及以上。

onConnectionStateChanged

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

参数

名称类型描述
zimZIM *ZIM 实例对象。
stateZIMConnectionState连接状态变更后的当前状态。
eventZIMConnectionEvent导致连接状态发生变更的事件。
extendedDataconst std::string&事件发生时的额外信息,标准 JSON 格式数据。

详情

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

  • 业务场景:需要监测连接状态,以及使得连接状态改变的事件时,可通过该回调中的 [ZIMConnectionState] 和 [ZIMConnectionEvent] 以完成不同的业务逻辑。
  • 通知时机:连接状态发生改变时会回调此函数通知。
  • 支持版本:1.1.0 及以上。

onTokenWillExpire

onTokenWillExpire
public void onTokenWillExpire(ZIM * zim, unsigned int second)
Token 将要过期的提醒回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
secondunsigned intToken 即将过期的剩余时间,单位秒。

详情

当收到此回调时,开发者应当及时调用 [renewToken] 函数更新 Token。

  • 通知时机:在鉴权 Token 只剩下 30秒时,SDK 会回调此函数通知开发者更新鉴权 Token。若开发者 [login] 时传入的鉴权 Token 不足 30秒的有效期,则在 [login] 成功之后即会回调出来。
  • 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/zim-win/guides/users/authentication
  • 支持版本:1.1.0 及以上。

onUserInfoUpdated

onUserInfoUpdated
public void onUserInfoUpdated(ZIM * zim, ZIMUserFullInfo info)
用户信息更新的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoZIMUserFullInfo更新后的用户信息。

详情

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

  • 支持版本:2.11.0 及以上。

onUserRuleUpdated

onUserRuleUpdated
public void onUserRuleUpdated(ZIM * zim, ZIMSelfUserRule userRule)
用户规则变更的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
userRuleZIMSelfUserRule更新后的用户规则信息。

详情

用户规则变更的回调。

  • 通知时机:当前用户的用户规则发生变更时,会通过该回调通知所有端。
  • 支持版本:2.15.0 及以后版本。

onCallInvitationReceived

onCallInvitationReceived
public void onCallInvitationReceived(ZIM * zim, ZIMCallInvitationReceivedInfo info, const std::string & callID)
被邀请者收到的呼叫邀请的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoZIMCallInvitationReceivedInfo已接收到的呼叫邀请的相关信息。
callIDconst std::string &已接收到的CallID。

详情

邀请者发起呼叫邀请后,当被邀请者在线时,将会收到此回调。

  • 业务场景:被邀请者会在邀请者发送呼叫邀请后,会收到此回调。
  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[callInvite]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若用户不在邀请列表里面或者不在线,则不会收到该回调。

onCallInvitationCreated

onCallInvitationCreated
public void onCallInvitationCreated(ZIM * zim, ZIMCallInvitationCreatedInfo info, const std::string & callID)
邀请者创建的呼叫邀请回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoZIMCallInvitationCreatedInfo创建的呼叫邀请的相关信息。
callIDconst std::string &创建的CallID。

详情

邀请者发起呼叫邀请后,当邀请者在线时,将会收到此回调。

  • 业务场景:邀请者会在发送呼叫邀请后,会收到此回调。
  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[callInvite]。
  • 支持版本:2.13.0 及以上。
  • 注意事项:若用户不在邀请列表里面或者不在线,则不会收到该回调。

onCallInvitationCancelled

onCallInvitationCancelled
public void onCallInvitationCancelled(ZIM * zim, ZIMCallInvitationCancelledInfo info, std::string callID)
被邀请者收到的取消邀请的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoZIMCallInvitationCancelledInfo已取消的呼叫邀请的相关信息。
callIDstd::string已取消的callID。

详情

邀请者取消呼叫邀请后,当被邀请者在线时,将会收到此回调。

  • 业务场景:被邀请者会在邀请者取消呼叫邀请后,会收到此回调。
  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[callCancel]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若用户不在取消邀请列表里面或者不在线,则不会收到该回调。

onCallInvitationTimeout

onCallInvitationTimeout
public void onCallInvitationTimeout(ZIM * zim, ZIMCallInvitationTimeoutInfo info, std::string callID)
被邀请者的呼叫邀请超时的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoZIMCallInvitationTimeoutInfo有关超时通知的信息类。
callIDstd::string超时的callID。

详情

当呼叫邀请超时后,被邀请者没有响应,被邀请者会收到此回调。

  • 业务场景:被邀请者没有在超时时间前响应,被邀请者会收到此回调。
  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[callInvite]、[callAccept]、 [callReject]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若用户不在邀请列表或者不在线,则不会收到该回调。

onCallInvitationAccepted

onCallInvitationAccepted
deprecated
public void onCallInvitationAccepted(ZIM * zim, ZIMCallInvitationAcceptedInfo info, std::string callID)
邀请者收到的接受邀请的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoZIMCallInvitationAcceptedInfo已被接受的呼叫邀请的相关信息。
callIDstd::string已被接受的callID。

详情

被邀请者接受呼叫邀请后,当邀请者在线时,将会收到此回调。

  • 业务场景:邀请者会在邀请者接受呼叫邀请后,会收到此回调。
  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[callAccept]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若用户不是发起这次呼叫邀请的邀请者或者不在线,则不会收到该回调。
已废弃
该接口已在 ZIM 2.9.0 废弃,请使用 [onCallUserStateChanged] 代替。

onCallInvitationRejected

onCallInvitationRejected
deprecated
public void onCallInvitationRejected(ZIM * zim, ZIMCallInvitationAcceptedInfo info, std::string callID)
邀请者收到的被邀请者拒绝邀请的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoZIMCallInvitationAcceptedInfo已拒绝的呼叫邀请的相关信息。
callIDstd::string已拒绝的呼叫邀请的callID。

详情

被邀请者拒绝呼叫邀请后,当邀请者在线时,将会收到此回调。

  • 业务场景:邀请者会在邀请者拒绝呼叫邀请后,会收到此回调。
  • 调用时机:通过 [create] 创建ZIM实例并登录后。
  • 相关接口:[callReject]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若用户不是发起这次呼叫邀请的邀请者或者不在线,则不会收到该回调。
已废弃
该接口已在 ZIM 2.9.0 废弃,请使用 [onCallUserStateChanged] 代替。

onCallInviteesAnsweredTimeout

onCallInviteesAnsweredTimeout
deprecated
public void onCallInviteesAnsweredTimeout(ZIM * zim, std::vector<std::string> invitees)
邀请者呼叫邀请超时的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
inviteesstd::vector<std::string>超时的被邀请者ID。

详情

当呼叫邀请超时后,被邀请者没有响应,邀请者会收到此回调。

  • 业务场景:被邀请者没有在超时时间前响应,邀请者会收到此回调。
  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[callInvite]、[callAccept]、 [callReject]。
  • 支持版本:2.0.0 及以上。
  • 注意事项:若用户不是发起这次呼叫邀请的邀请者或者不在线,则不会收到该回调。
已废弃
该接口已在 ZIM 2.9.0 废弃,请使用 [onCallUserStateChanged] 代替。

onCallInvitationEnded

onCallInvitationEnded
public void onCallInvitationEnded(ZIM zim, const ZIMCallInvitationEndedInfo & info, const std::string & callID)
呼叫结束的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIMZIM 实例对象。
infoconst ZIMCallInvitationEndedInfo &事件回调携带的信息。
callIDconst std::string &超时的被邀请者ID。

详情

当进阶模式呼叫邀请建立后,某一参与者结束呼叫后,所有参与者会收到此回调。

  • 相关接口:[callEnd]
  • 支持版本:2.9.0 及以上。
  • 注意事项:若用户不是发起这次呼叫的参与者或者不在线,则不会收到该回调。

onCallUserStateChanged

onCallUserStateChanged
public void onCallUserStateChanged(ZIM * zim, const ZIMCallUserStateChangeInfo & info, std::vector<std::string> callID)
呼叫邀请内的用户状态的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoconst ZIMCallUserStateChangeInfo &呼叫成员状态变化的信息。
callIDstd::vector<std::string>本次呼叫的唯一标识符。

详情

监听呼叫用户状态变化。

  • 通知时机:当呼叫邀请发起后,呼叫中有新的成员被邀请,或者成员接受、拒绝、退出,或者成员应答超时,当前呼叫邀请中所有用户状态为 "Inviting"、"Accepted" 和 "Received" 的用户可在此处收到此回调。若通知时成员不在线,登录成功时呼叫仍然未结束,离线期间的所有成员的状态变更会一次补发给这名用户。详细流程请阅读 https://doc-zh.zego.im/article/13930。
  • 相关接口:[callInvite]、[callingInvite]、[callAccept]、 [callReject]、[callQuit]。
  • 支持版本:2.9.0 及以上。
  • 注意事项:若用户不是这次呼叫的成员(主叫和被叫),则不会收到该回调。

onGroupStateChanged

onGroupStateChanged
public void onGroupStateChanged(ZIM * zim, ZIMGroupState state, ZIMGroupEvent event, ZIMGroupOperatedInfo operatedInfo, ZIMGroupFullInfo groupInfo)
群状态变更通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
stateZIMGroupState群变更后的状态。
eventZIMGroupEvent群相关事件。
operatedInfoZIMGroupOperatedInfo已操作的群信息。
groupInfoZIMGroupFullInfo发生群状态变更的信息。

详情

群组状态发生变更通知回调。

  • 业务场景: 需要根据群组状态进行交互的场景。
  • 通知时机:群组创建、加入、离开、解散操作时会触发通知。
  • 相关接口:[createGroup],创建群组。[joinGroup],加入群组。[leaveGroup],离开群组。[dismissGroup],解散群组。

onGroupAliasUpdated

onGroupAliasUpdated
public void onGroupAliasUpdated(ZIM * zim, const std::string& groupAlias, const std::string& operatedUserID, const std::string& groupID)
群备注更新通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
groupAliasconst std::string&更新后的群备注。
operatedUserIDconst std::string&修改群备注的用户 ID。
groupIDconst std::string&目标群组 ID

详情

群组备注变更通知回调。

  • 业务场景: 群组备注发生变更时,此通知向修改操作用户的所有端同步最新群备注。
  • 通知时机:群组备注发生变更。
  • 相关接口:[updateGroupAlias],更新群组备注。

onGroupNameUpdated

onGroupNameUpdated
public void onGroupNameUpdated(ZIM * zim, const std::string& groupName, ZIMGroupOperatedInfo operatedInfo, const std::string& groupID)
群名称更新通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
groupNameconst std::string&更新后的群名称。
operatedInfoZIMGroupOperatedInfo群名称更新后的操作信息。
groupIDconst std::string&发生群名称更新的groupID。

详情

群组名称发生变更通知回调。

  • 业务场景: 群组名称发生变更时,需要同步最新群名称。
  • 通知时机:群组名称发生变更。
  • 相关接口:[updateGroupName],更新群组名称。

onGroupAvatarUrlUpdated

onGroupAvatarUrlUpdated
public void onGroupAvatarUrlUpdated(ZIM * zim, const std::string & groupAvatarUrl, ZIMGroupOperatedInfo operatedInfo, const std::string & groupID)
群头像 URL 更新通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
groupAvatarUrlconst std::string &更新后的群头像 URL。
operatedInfoZIMGroupOperatedInfo群头像 URL 更新后的操作信息。
groupIDconst std::string &发生群名称更新的groupID。

详情

群组头像 URL 发生变更通知回调。

  • 业务场景: 群组头像 URL 发生变更时,需要同步最新群头像 URL 。
  • 通知时机:群组头像 URL 发生变更。
  • 相关接口:[updateGroupAvatarUrl],更新群组头像 URL 。

onGroupNoticeUpdated

onGroupNoticeUpdated
public void onGroupNoticeUpdated(ZIM * zim, const std::string& groupNotice, const std::string& operatedInfo, const std::string & groupID)
群公告更新的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
groupNoticeconst std::string&更新后的群公告。
operatedInfoconst std::string&群公告更新后的操作信息。
groupIDconst std::string &发生群公告更新的groupID。

详情

群组公告发生变更通知回调。

  • 业务场景: 群组公告发生变更时,需要同步最新公告内容。
  • 通知时机:群组公告发生变更。
  • 相关接口:[updateGroupNotice],更新群组公告。

onGroupMutedInfoUpdated

onGroupMutedInfoUpdated
public void onGroupMutedInfoUpdated(ZIM * zim, ZIMGroupMuteInfo muteInfo, const std::string& operatedInfo, const std::string & groupID)
群禁言更新的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
muteInfoZIMGroupMuteInfo群组禁言信息。
operatedInfoconst std::string&群禁言变更的操作信息。
groupIDconst std::string &发生群禁言变更的 groupID。

详情

群组禁言信息发生变更通知回调。

  • 业务场景: 群组禁言信息发生变更时获知变更详情。
  • 通知时机:群组禁言信息发生变更。
  • 相关接口:[muteGroup],群组禁言。

onGroupVerifyInfoUpdated

onGroupVerifyInfoUpdated
public void onGroupVerifyInfoUpdated(ZIM * zim, ZIMGroupVerifyInfo verifyInfo, ZIMGroupOperatedInfo * operatedInfo, const std::string & groupID)
入群验证模式更新的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
verifyInfoZIMGroupVerifyInfo入群验证模式信息。
operatedInfoZIMGroupOperatedInfo *入群验证模式变更的操人信息。
groupIDconst std::string &发生入群验证模式变更的 groupID。

详情

入群验证模式发生变更通知回调。

  • 通知时机:入群验证模式发生变更。
  • 相关接口:[updateGroupJoinMode,updateGroupInviteMode,updateGroupBeInviteMode],更新入群验证模式。

onGroupAttributesUpdated

onGroupAttributesUpdated
public void onGroupAttributesUpdated(ZIM * zim, std::vector<ZIMGroupAttributesUpdateInfo> infos, ZIMGroupOperatedInfo operatedInfo, const std::string& groupID)
群属性更新通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infosstd::vector<ZIMGroupAttributesUpdateInfo>群属性更新后的信息。
operatedInfoZIMGroupOperatedInfo群属性更新后的操作信息。
groupIDconst std::string&发送群属性更新的groupID。

详情

群组属性发生变更通知回调。

  • 业务场景: 群组属性发生变更时,需要同步最新群属性内容。
  • 通知时机:设置、更新、删除群组属性时触发。
  • 相关接口:[setGroupAttributes],更新群组属性。[deleteGroupAttributes],删除群组属性。

onGroupMemberStateChanged

onGroupMemberStateChanged
public void onGroupMemberStateChanged(ZIM * zim, ZIMGroupMemberState state, ZIMGroupMemberEvent event, std::vector<ZIMGroupMemberInfo> userList, ZIMGroupOperatedInfo operatedInfo, const std::string& groupID)
群成员状态变更通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
stateZIMGroupMemberState更新后的成员状态。
eventZIMGroupMemberEvent更新后的成员事件。
userListstd::vector<ZIMGroupMemberInfo>更新后的成员信息。
operatedInfoZIMGroupOperatedInfo更新后的操作信息。
groupIDconst std::string&发生成员状态变更的groupID。

详情

群成员状态发生变更通知回调。

  • 业务场景: 需要根据群成员状态进行交互的场景。
  • 通知时机:群组创建、加入、离开、解散,邀请用户进群、将用户踢出群组操作时会触发通知。
  • 相关接口:[createGroup],创建群组。[joinGroup],加入群组。[leaveGroup],离开群组。[dismissGroup],解散群组。[intiveUsersIntoGroup],邀请用户进入群组。[kickGroupMembers],将用户踢出群组。

onGroupMemberInfoUpdated

onGroupMemberInfoUpdated
public void onGroupMemberInfoUpdated(ZIM * zim, ArrayList<ZIMGroupMemberInfo> groupMemberInfos, ZIMGroupOperatedInfo operatedInfo, const std::string& groupID)
群成员基本信息变更通知。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
groupMemberInfosArrayList<ZIMGroupMemberInfo>更新后的成员信息。
operatedInfoZIMGroupOperatedInfo更新后的操作信息。
groupIDconst std::string&发生群成员信息变更的groupID。

详情

群组成员基本信息变更操作结果的返回。

  • 业务场景:群组成员基本信息发生变更后,需要在页面进行展示或其他交互。
  • 通知时机:群组成员基本信息变更结束后的结果返回。
  • 相关接口:[setGroupMemberNickname],更新群成员昵称。[setGroupMemberRole],更新群成员角色。[transferGroupOwner],群主转让。

onGroupApplicationListChanged

onGroupApplicationListChanged
public void onGroupApplicationListChanged(ZIM * zim, const std::vector<ZIMGroupApplicationInfo> applicationList, ZIMGroupApplicationListChangeAction action)
当入群申请列表发生变化时会回调当前方法
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
applicationListconst std::vector<ZIMGroupApplicationInfo>入群申请列表变更的数据
actionZIMGroupApplicationListChangeAction接收到入群申请列表的变更时可用该值判断是删除动作还是新增的动作

详情

当入群申请列表发生变化时会回调当前方法

  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[sendGroupJoinApplication],[sendGroupInviteApplications]。
  • 支持版本:2.15.0 及以上。

onGroupApplicationUpdated

onGroupApplicationUpdated
public void onGroupApplicationUpdated(ZIM * zim, const std::vector<ZIMGroupApplicationInfo> applicationList)
当入群申请列表发生变化时会回调当前方法
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
applicationListconst std::vector<ZIMGroupApplicationInfo>入群申请列表变更的数据

详情

当入群申请列表发生变化时会回调当前方法

  • 调用时机:通过 [create] 创建ZIM实例后。
  • 相关接口:[acceptGroupJoinApplication],[rejectGroupJoinApplication],[acceptGroupInviteApplication],[rejectGroupInviteApplication]。
  • 支持版本:2.15.0 及以上。

onConversationChanged

onConversationChanged
public void onConversationChanged(ZIM * zim, std::vector<ZIMConversationChangeInfo> conversationChangeInfoList)
收到会话更新的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
conversationChangeInfoListstd::vector<ZIMConversationChangeInfo>会话变更的信息。

详情

当会话发生增加、删除、修改、置顶、取消置顶时,触发该回调返回会话更新的通知。

  • 通知时机:当会话存在新的消息更新、或会话本身增加、删除、修改时触发通知。
  • 相关接口:可通过 [sendPeerMessage] 、[sendGroupMessage]、[sendRoomMessage]、[deleteConversation]、[deleteMessage]、[deleteMessageByConversationID]、[updateConversationPinnedState] 触发。
  • 支持版本:2.0.0 及以上。
  • 注意事项:conversationID 与单聊的 toUserID、群聊的 GroupID 一致。

onConversationMessageReceiptChanged

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

参数

名称类型描述
zimZIM *ZIM 实例对象。
infosstd::vector<ZIMMessageReceiptInfo>回执信息。

详情

当消息接收方进行会话已读后,消息发送方通过此回调得知。

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

onConversationSyncStateChanged

onConversationSyncStateChanged
public void onConversationSyncStateChanged(ZIM * zim, ZIMConversationSyncState state)
收到会话列表同步进度的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
stateZIMConversationSyncState会话同步的状态。

详情

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

  • 通知时机:当 SDK 确认需要从服务端拉取列表数据时触发通知。
  • 支持版本:2.21.0 及以上。
  • 注意事项:conversationID 与单聊的 toUserID、群聊的 GroupID 一致。

onConversationsAllDeleted

onConversationsAllDeleted
public void onConversationsAllDeleted(ZIM * zim, ZIMConversationsAllDeletedInfo info)
收到全部会话删除的通知回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infoZIMConversationsAllDeletedInfo全部会话被删除的信息。

详情

该回调返回全部会话被删除的通知。

  • 通知时机:当其他端删除全部会话时,本端触发通知。
  • 相关接口:可通过 [deleteAllConversations] 触发。
  • 支持版本:2.12.0 及以上。

onMessageReceiptChanged

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

参数

名称类型描述
zimZIM *ZIM 实例对象。
infosstd::vector<ZIMMessageReceiptInfo>回执信息。

详情

当消息接收方进行消息已读后,消息发送方通过此回调得知。

  • 通知时机:当消息接收方进行消息已读时触发通知。
  • 相关接口:当对端调用通过 [sendMessageReceiptsRead] 触发。
  • 支持版本:2.5.0 及以上。

onConversationTotalUnreadMessageCountUpdated

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

参数

名称类型描述
zimZIM *ZIM 实例对象。
totalUnreadMessageCountunsigned int更新后的总未读数。

详情

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

  • 通知时机:登录时、调用 [deleteConversation]、[deleteMessage]、[deleteAllMessage]、[clearConversationUnreadMessageCount] 、[clearConversationTotalUnreadMessageCount] 使消息未读数发生变化触发该回调。
  • 相关接口:[deleteConversation]、[deleteMessage]、[deleteMessage]、[clearConversationUnreadMessageCount]、[clearConversationTotalUnreadMessageCount]
  • 支持版本:2.0.0 及以上。

onGroupMessageReceived

onGroupMessageReceived
public void onGroupMessageReceived(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const ZIMMessageReceivedInfo & info, const std::string & fromGroupID)
收到群消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。
infoconst ZIMMessageReceivedInfo &消息接收事件相关的信息。
fromGroupIDconst std::string &收到消息的群组 ID。

详情

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

  • 调用时机:通过 [create] 创建 ZIM 实例后,且所在群成员发送消息时,会收到该回调。
  • 相关接口:可通过 [sendGroupMessage] 向其他群成员发送消息。
  • 支持版本:2.18.0 及以上。

onPeerMessageReceived

onPeerMessageReceived
public void onPeerMessageReceived(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const ZIMMessageReceivedInfo& info, const std::string & fromUserID)
收到单聊消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。
infoconst ZIMMessageReceivedInfo&接收消息事件的相关信息。
fromUserIDconst std::string &消息发送者的唯一标识符。

详情

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

  • 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向你发送消息时,会收到该回调。
  • 相关接口:可通过 [sendPeerMessage] 向其他成员发送消息。
  • 支持版本:2.18.0 及以上。

onRoomMessageReceived

onRoomMessageReceived
public void onRoomMessageReceived(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const ZIMMessageReceivedInfo & info, const std::string & fromRoomID)
收到房间消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。
infoconst ZIMMessageReceivedInfo &消息接收事件携带的信息。
fromRoomIDconst std::string &收到消息的房间 ID。

详情

用户在线时,可通过此回调接收在线房间消息。用户从离线恢复到在线后,若仍在房间中,即可通过此回调接收离线期间内的所有房间消息。

  • 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向当前已经加入或创建的房间发送消息时,会收到该回调。
  • 相关接口:可通过 [sendRoomMessage] 向其他房间成员发送消息。
  • 支持版本:2.18.0 及以上。

onMessageEdited

onMessageEdited
public void onMessageEdited(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList)
收到编辑消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。

详情

当其他人编辑消息成功时,将会收到此回调。

  • 调用时机:通过 [create] 创建 ZIM 实例后,且其他用户编辑消息成功时,会收到该回调。
  • 相关接口:可通过 [editMessage] 编辑自己发送成功的消息。
  • 支持版本:2.20.0 及以上。

onMessagePinStatusChanged

onMessagePinStatusChanged
public void onMessagePinStatusChanged(ZIM * zim, const std::vector<ZIMMessagePinStatusChangeInfo> & changeInfoList)
收到消息置顶状态变更的通知。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
changeInfoListconst std::vector<ZIMMessagePinStatusChangeInfo> &收到的消息置顶状态变更信息的列表。

详情

当会话内消息被置顶或取消置顶成功时,将会收到此通知。

  • 调用时机:通过 [create] 创建 ZIM 实例后,且其他用户置顶或取消置顶消息成功时,会收到该回调。
  • 相关接口:可通过 [pinMessage] 编辑自己发送成功的消息。
  • 支持版本:2.25.0 及以上。

onMessageRevokeReceived

onMessageRevokeReceived
public void onMessageRevokeReceived(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList)
收到撤回消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。

详情

当其他人发来消息然后撤回时,将会收到此回调。

  • 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向你发送消息后撤回时,会收到该回调。
  • 相关接口:可通过 [revokeMessage] 撤回向其他成员发送的消息。
  • 支持版本:2.5.0 及以上。

onMessageSentStatusChanged

onMessageSentStatusChanged
public void onMessageSentStatusChanged(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessageSentStatusChangeInfo>> & infos)
收到消息发送状态变化的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infosconst std::vector<std::shared_ptr<ZIMMessageSentStatusChangeInfo>> &收到的消息的列表。

详情

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

  • 调用时机:发送消息状态发生变化时,会收到该回调。
  • 相关接口:可通过 [sendMessage] 向其他成员发送的消息。
  • 支持版本:2.6.0 及以上。

onBroadcastMessageReceived

onBroadcastMessageReceived
public void onBroadcastMessageReceived(ZIM * zim, const std::shared_ptr<ZIMMessage> & message)
收到全员推送消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageconst std::shared_ptr<ZIMMessage> &收到的消息。

详情

当收到服务端接口 [SendMessageToAllUsers] 发送的消息时收到该回调。

  • 调用时机:登录 ZIM 服务后,且服务端调用接口 [SendMessageToAllUsers] 发送的消息时,会收到该回调。
  • 支持版本:2.10.0 及以上。

onMessageReactionsChanged

onMessageReactionsChanged
public void onMessageReactionsChanged(ZIM * zim, ZIMMessageReactionsChangedEventResult result)
收到表态变更的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
resultZIMMessageReactionsChangedEventResult表态变更事件的结果。

详情

当表态发生变更时收到该回调。

  • 调用时机:通过 [create] 创建 ZIM 实例后且登录前,即可注册此回调。
  • 通知时机:其他用户对单聊或群聊的消息添加或删除表态后。
  • 相关接口:[addMessageReaction]、[deleteMessageReaction]。
  • 支持版本:2.28.0 及以上。

onMessageDeleted

onMessageDeleted
public void onMessageDeleted(ZIM * zim, ZIMMessageDeletedInfo deletedInfo)
消息被删除的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
deletedInfoZIMMessageDeletedInfo被删除的消息信息。

详情

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

  • 支持版本:2.11.0 及以上。

onReceivePeerMessage

onReceivePeerMessage
deprecated
public void onReceivePeerMessage(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const std::string & fromUserID)
收到点对点消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。
fromUserIDconst std::string &消息发送方的用户 ID。与单聊会话 ID 一致。

详情

当收到其他人发来的点对点消息时,将会收到此回调。

  • 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向你发送消息时,会收到该回调。
  • 相关接口:可通过 [sendPeerMessage] 向其他成员发送消息。
  • 支持版本:1.1.0 及以上。
已废弃
该函数于 2.18.0 版本被废弃,请使用 [onPeerMessageReceived]。

onReceiveRoomMessage

onReceiveRoomMessage
deprecated
public void onReceiveRoomMessage(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const std::string & fromRoomID)
收到房间消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。
fromRoomIDconst std::string &收到消息的房间 ID。

详情

当收到房间内消息时,将会收到此回调。

  • 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向当前已经加入或创建的房间发送消息时,会收到该回调。
  • 相关接口:可通过 [sendRoomMessage] 向其他房间成员发送消息。
  • 支持版本:1.1.0 及以上。
已废弃
该函数于 2.18.0 版本被废弃,请使用 [onRoomMessageReceived]。

onMessageRepliedCountChanged

onMessageRepliedCountChanged
public void onMessageRepliedCountChanged(ZIM * zim, const std::vector<std::shared_ptr< ZIMMessageRootRepliedCountInfo>> & infos)
回复消息树的数量发生变更的事件。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
infosconst std::vector<std::shared_ptr< ZIMMessageRootRepliedCountInfo>> &根消息的回复数量信息列表。

详情

有新的回复消息时,其对应的的根消息的回复数量通过此事件告知。

  • 支持版本:2.17.0 及以上。

onMessageRepliedInfoChanged

onMessageRepliedInfoChanged
public void onMessageRepliedInfoChanged(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList)
回复消息的回复信息的变更事件。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。

详情

回复消息引用的源消息被删除和撤回后,收到的回复消息的变更事件。

  • 支持版本:2.17.0 及以上。

onReceiveGroupMessage

onReceiveGroupMessage
deprecated
public void onReceiveGroupMessage(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const std::string & fromGroupID)
收到群消息的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
messageListconst std::vector<std::shared_ptr<ZIMMessage>> &收到的消息的列表。
fromGroupIDconst std::string &消息所属的 Group ID。

详情

当收到群消息时,将会收到此回调。

  • 调用时机:通过 [create] 创建 ZIM 实例后,且所在群成员发送消息时,会收到该回调。
  • 相关接口:可通过 [sendGroupMessage] 向其他群成员发送消息。
  • 支持版本:2.0.0 及以上。
已废弃
该函数于 2.18.0 版本被废弃,请使用 [onGroupMessageReceived]。

onRoomStateChanged

onRoomStateChanged
public void onRoomStateChanged(ZIM * zim, ZIMRoomState state, ZIMRoomEvent event, const std::string& extendedData, const std::string& roomID)
房间连接状态发生改变的事件回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
stateZIMRoomState房间连接状态变更后的当前状态。
eventZIMRoomEvent导致房间连接状态发生变更的事件。
extendedDataconst std::string&事件发生时的额外信息,标准 JSON 字符串。
roomIDconst std::string&发生状态改变的房间 ID。

详情

房间连接状态发生改变的事件回调。

  • 调用时机:用户位于房间中且房间状态改变时触发此回调。
  • 相关接口:可通过 [onTokenWillExpire],在token快要过期时会收到该回调。
  • 支持版本:1.1.0 及以上。

onRoomMemberJoined

onRoomMemberJoined
public void onRoomMemberJoined(ZIM * zim, const std::vector<ZIMUserInfo> & memberList, const std::string& roomID)
其他成员加入房间的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
memberListconst std::vector<ZIMUserInfo> &加入房间的成员列表。
roomIDconst std::string&发生此事件的房间 ID。

详情

加入一个房间后,当有其他成员也加入到此房间时,将会收到此回调。

  • 业务场景:当房间内有其他成员加入时,会调用此回调。
  • 调用时机:通过 [create] 创建ZIM实例后,且该用户位于其他成员加入的房间中时可调用该接口。
  • 相关接口:可通过 [onRoomMemberLeft],在有其他房间成员离开时,收到此回调。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若用户当前不在此房间内,则不会调用该回调。

onRoomMemberLeft

onRoomMemberLeft
public void onRoomMemberLeft(ZIM * zim, const std::vector<ZIMUserInfo> & memberList, const std::string & roomID)
其他成员离开房间的回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例对象。
memberListconst std::vector<ZIMUserInfo> &离开房间的成员列表。
roomIDconst std::string &发生此事件的房间 ID。

详情

加入一个房间后,当有其他成员离开此房间时,将会收到此回调。

  • 业务场景:当房间内有其他成员离开房间时,会调用此回调。
  • 调用时机:通过 [create] 创建 ZIM 实例后,且该用户位于其他成员同一房间中时可调用该接口。
  • 相关接口:可通过 [onRoomMemberJoined],在有其他房间成员加入时,收到此回调。
  • 支持版本:1.1.0 及以上。
  • 注意事项:若用户当前不在此房间内,则不会调用该回调。

onRoomAttributesUpdated

onRoomAttributesUpdated
public void onRoomAttributesUpdated(ZIM * zim, ZIMRoomAttributesUpdateInfo info, std::string roomID)
房间属性变更通知。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *zim实例。
infoZIMRoomAttributesUpdateInfo发生变更的房间属性。
roomIDstd::string发生房间属性变更的房间号。

详情

当房间中的房间属性发生变更时,通过该回调通知。

  • 业务场景:语聊房场景下,有其他用户上下麦的通知。
  • 通知时机:房间中的房间属性发生变更会触发该通知。
  • 支持版本:1.3.0。

onRoomAttributesBatchUpdated

onRoomAttributesBatchUpdated
public void onRoomAttributesBatchUpdated(ZIM * zim, std::string roomID, std::vector<ZIMRoomAttributesUpdateInfo> infos)
房间属性变更通知。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *zim实例。
roomIDstd::string发生房间属性变更的房间号。
infosstd::vector<ZIMRoomAttributesUpdateInfo>发生变更的房间属性。

详情

当房间中的房间属性发生变更时,通过该回调通知。

  • 业务场景:语聊房场景下,有其他用户上下麦的通知。
  • 通知时机:房间中的房间属性发生变更会触发该通知。
  • 支持版本:1.3.0。

onRoomMemberAttributesUpdated

onRoomMemberAttributesUpdated
public void onRoomMemberAttributesUpdated(ZIM * zim, const std::vector<ZIMRoomMemberAttributesUpdateInfo> & infos, ZIMRoomOperatedInfo operatedInfo, std::string roomID)
房间用户属性更新回调。
Declared in ZIMEventHandler.h

参数

名称类型描述
zimZIM *ZIM 实例。
infosconst std::vector<ZIMRoomMemberAttributesUpdateInfo> &房间成员属性的更改信息。
operatedInfoZIMRoomOperatedInfo房间操作信息。
roomIDstd::string房间 ID。

详情

当房间内有用户的属性发生变更时,将会收到该回调。

ZIMMediaMessageSendNotification

媒体消息发送时的通知回调,可以通过此通知获取消息对象发送前的相关信息

详情

通过该通知,开发者可以获取到消息对象发送前的相关信息,如 localMessageID 等。

  • 业务场景:当开发者需要记录和缓存消息发送前的相关信息,可以通过监听该通知获取。
  • 注意事项:若无需监听,可传空。

Declared in ZIMDefines.h

属性

onMessageAttached

onMessageAttached
public ZIMMessageAttachedCallback onMessageAttached

消息在落入本地 DB 后,将要向服务端发送消息之前,会回调该通知。

  • 业务场景:用于开发者需要在发送消息之前,提前获取消息里的相关信息时,可以使用此接口。
  • 是否必填:非必填。若无需监听的情况下,可传空。
  • 默认值:空。

onMediaUploadingProgress

onMediaUploadingProgress
public ZIMMediaUploadingProgress onMediaUploadingProgress

通过该通知,开发者可以获取到媒体消息上传时的进度回调。

  • 业务场景:开发者可用于展示发送媒体消息时的进度条,提升 UI 交互体验。
  • 是否必填:非必填。若无需监听的情况下,可传空。
  • 默认值:空。

ZIMMessageSendNotification

消息发送时的通知回调,可以通过此通知获取消息对象发送前的相关信息

详情

通过该通知,开发者可以获取到消息对象发送前的相关信息,如 localMessageID 等。

  • 业务场景:当开发者需要记录和缓存消息发送前的相关信息,可以通过监听该通知获取。
  • 注意事项:若无需监听,可传空。

Declared in ZIMDefines.h

属性

onMessageAttached

onMessageAttached
public ZIMMessageAttachedCallback onMessageAttached

消息在落入本地 DB 后,将要向服务端发送消息之前,会回调该通知。

  • 业务场景:用于开发者需要在发送消息之前,提前获取消息里的相关信息时,可以使用此接口。
  • 是否必填:非必填。若无需监听的情况下,可传空。
  • 默认值:空。

onMediaUploadingProgress

onMediaUploadingProgress
public ZIMMediaUploadingProgress onMediaUploadingProgress

通过该通知,开发者可以获取到媒体消息上传时的进度回调。

  • 业务场景:开发者可用于展示发送媒体消息时的进度条,提升 UI 交互体验。
  • 是否必填:非必填。若无需监听的情况下,可传空。

onMultipleMediaUploadingProgress

onMultipleMediaUploadingProgress
public ZIMMultipleMediaUploadingProgress onMultipleMediaUploadingProgress

通过该通知,开发者可以获取到组合消息里的媒体文件上传时的进度回调。

  • 业务场景:开发者可用于展示各媒体文件的上传进度及总的上传进度,提升 UI 交互体验。
  • 是否必填:非必填。
  • 支持版本:2.19.0 及以上。

上一篇

功能总览

下一篇

Interface

当前页

返回到顶部