Class
ZIM
详情
ZIM SDK 主类。
Declared in ZIM.h
方法
create
public ZIM * create(unsigned int appID)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| appID | unsigned int | ZEGO 为开发者签发的应用 ID,请联系 ZEGO 技术支持申请。 |
详情
创建 ZIM 实例,用于后续调用其他成员函数。
- 调用时机:在调用其他成员函数之前,必须先调用此 API 创建出 ZIM 示例。
- 影响范围:不调用此函数将导致其他成员函数无法调用。
- 平台差异:Android 平台下在调用此函数时,除了传入 appID 之外,还必须将 Application 类对象传入。
- 支持版本:1.1.0 及以上。
- 使用限制:当前仅支持创建一个实例,重复调用将返回 [null]。
- 注意事项:目前 [create] 函数最多只能创建一个实例,若多次调用,则只有第一次返回有效实例,其余都为 [null]。开发者应自行保存 ZIM 实例,并且在使用 ZIM 业务功能的过程中确保实例的生命周期处于可用状态。建议作为单例封装在一个 SDK 管理类中。
返回值
ZIM 实例。
create
public ZIM * create(ZIMAppConfig appConfig)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| appConfig | ZIMAppConfig | ZEGO 为开发者签发的应用 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
public std::string getVersion()ZIM.h获取 SDK 版本号。
- 业务场景:1. SDK 在运行过程中,当开发者发现与预期情况不符时,可将问题与相关日志提交给 ZEGO 技术人员定位,ZEGO 技术人员可能需要 SDK 的版本的信息来辅助定位问题。
- 开发者也可以收集此信息作为 App 所使用的 SDK 的版本信息,以便统计线上各版本 App 对应的各版本 SDK。
- 调用时机:在任意时刻均可调用。
- 支持版本:1.1.0 及以上。
SDK 版本号。
getInstance
public ZIM * getInstance()ZIM.h获取 ZIM 单例对象,用于后续调用其他成员函数。
- 调用时机:必须在调用 [create] 创建实例之后,才能调用此函数获取到单例对象,否则将返回 [null]。
- 相关接口:[create]。
- 支持版本:2.3.0 及以上。
setLogConfig
public void setLogConfig(const ZIMLogConfig & config)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMLogConfig & | 日志配置对象。 |
详情
设置日志相关配置,包括日志路径与日志大小。由于 SDK 内部有默认的日志路径,因此除非开发者有强烈需要自定义日志路径的需求,否则一般情况下不建议客户自行设置。
- 默认值:Android:/storage/Android/data/[packageName]/files/ZIMLogs
iOS:
/Library/Caches/ZIMLogs macOS:(沙箱)/Library/Containers/[Bundle ID]/Data/Library/Caches/ZIMLogs / ;(非沙箱)~/Library/Caches/ZIMLogs Windows:C:\Users[Your UserName]\AppData[App Name]ZEGO.SDK\ZIMLogs - 调用时机:必须在 [create] 之前调用。
- 生命周期:调用 [create] 之前设置,调用 [create] 时生效。若开发者在下一次 [create] 时没有再设置新的日志配置,则上一次配置依然生效。
- 平台差异:不同平台的默认路径不一样,请参考默认值。
- 相关参考:详细内容请参考 https://doc-zh.zego.im/faq/IM_sdkLog?product=IM&platform=all。
- 支持版本:1.1.0 及以上。
- 注意事项:若开发者在 [create] 之后调用,SDK 则保存此配置,直至等到下一次 [create] 时生效。
setGeofencingConfig
public bool setGeofencingConfig(const std::vector\<int> areaList, ZIMGeofencingType type)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| areaList | const std::vector<int> | 地理围栏区域列表。最少设置 1 个,最多设置不得大于 SDK 所支持个数。 |
| type | ZIMGeofencingType | 地理围栏区域类型。 |
- 业务场景:地理围栏指将即时通信数据传输限定在某一区域,用以满足地区数据隐私安全相关法规,即限定访问某一特定区域的通信服务。
- 调用时机/通知时机:[setGeofencingConfig] 接口需要在 [create] 接口之前调用。
- 支持版本:2.12.0及以上。
- 使用限制:如果需要使用地理围栏功能,请联系 ZEGO 技术支持。
- 注意事项:如需更新地理围栏信息,请调用 [destroy] 接口销毁当前 ZIM 实例,再调用本接口。
返回值
地理围栏设置结果。
setCacheConfig
public void setCacheConfig(const ZIMCacheConfig & config)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const 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
public void addFriend(std::string userID, const ZIMFriendAddConfig & config, ZIMFriendAddedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | std::string | 用户ID。 |
| config | const ZIMFriendAddConfig & | 添加好友相关配置。 |
| callback | ZIMFriendAddedCallback | 添加好友结果回调。 |
详情
通过该接口可以将指定 userID 用户添加到好友列表。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[onFriendListChanged]。
- 支持版本:2.14.0 及以上。
返回值
添加好友结果回调。
sendFriendApplication
public void sendFriendApplication(std::string userID, const ZIMFriendApplicationSendConfig & config, ZIMFriendApplicationSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | std::string | 用户ID。 |
| config | const ZIMFriendApplicationSendConfig & | 发起好友申请相关配置。 |
| callback | ZIMFriendApplicationSentCallback | 发起好友申请结果回调。 |
详情
当用户需要发起好友申请,可通过 [sendFriendApplication] 向对方发起好友申请。
- 业务场景:当需要对一个用户发起好友申请时,可调用此接口。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[onFriendApplicationListChanged]。
- 支持版本:2.14.0 及以上。
返回值
发起好友申请结果回调。
deleteFriends
public void deleteFriends(const std::vector\<std::string> userIDs, const ZIMFriendDeleteConfig & config, ZIMFriendsDeletedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> | 要删除的用户ID列表。 |
| config | const ZIMFriendDeleteConfig & | 删除好友相关配置。 |
| callback | ZIMFriendsDeletedCallback | 删除好友结果回调。 |
详情
通过该接口可以将好友列表中指定用户删除。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[onFriendListChanged]。
- 支持版本:2.14.0 及以上。
返回值
删除好友结果回调。
checkFriendsRelation
public void checkFriendsRelation(const std::vector\<std::string> & userIDs, const ZIMFriendRelationCheckConfig & config, ZIMFriendsRelationCheckedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | 要检查的用户ID列表。 |
| config | const ZIMFriendRelationCheckConfig & | 检查好友关系相关配置。 |
| callback | ZIMFriendsRelationCheckedCallback | 检查好友关系结果回调。 |
详情
通过该接口可以检查与指定用户之间的好友关系。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendsRelationCheckedCallback]。
- 支持版本:2.14.0 及以上。
返回值
检查好友关系结果回调。
updateFriendAlias
public void updateFriendAlias(std::string friendAlias, std::string userID, ZIMFriendAliasUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| friendAlias | std::string | 好友备注。 |
| userID | std::string | 用户 ID。 |
| callback | ZIMFriendAliasUpdatedCallback | 更新好友备注结果回调。 |
详情
通过该接口可以将指定 userID 用户更新备注。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendAliasUpdatedCallback]。
- 支持版本:2.14.0 及以上。
返回值
更新好友备注结果回调。
updateFriendAttributes
public void updateFriendAttributes(std::unordered_map<std::string, std::string> friendAttributes, std::string userID, ZIMFriendAliasUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| friendAttributes | std::unordered_map<std::string, std::string> | 好友属性。最多设置 5 个。属性的 key 仅支持从 k0 ~ k4 取值。 |
| userID | std::string | 用户 ID。 |
| callback | ZIMFriendAliasUpdatedCallback | 更新好友属性结果回调。 |
详情
通过该接口可以将指定 userID 用户更新好友属性。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 支持版本:2.14.0 及以上。
返回值
更新好友属性结果回调。
acceptFriendApplication
public void acceptFriendApplication(std::string userID, const ZIMFriendApplicationAcceptConfig & config, ZIMFriendApplicationAcceptedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | std::string | 用户 ID。 |
| config | const ZIMFriendApplicationAcceptConfig & | 接受好友申请配置。 |
| callback | ZIMFriendApplicationAcceptedCallback | 接受好友申请的结果回调。 |
详情
收到好友申请后,通过该接口接受该好友申请。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[onFriendApplicationUpdated]、[onFriendListChanged]。
- 支持版本:2.14.0 及以上。
返回值
接受好友申请的结果回调。
rejectFriendApplication
public void rejectFriendApplication(std::string userID, const ZIMFriendApplicationRejectConfig & config, ZIMFriendApplicationRejectedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | std::string | 用户 ID。 |
| config | const ZIMFriendApplicationRejectConfig & | 拒绝好友申请配置。 |
| callback | ZIMFriendApplicationRejectedCallback | 拒绝好友申请的结果回调。 |
详情
收到好友申请后,通过该接口拒绝该好友申请。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendApplicationRejectedCallback]。
- 支持版本:2.14.0 及以上。
返回值
拒绝好友申请的结果回调。
queryFriendsInfo
public void queryFriendsInfo(std::vector\<std::string> userIDs, ZIMFriendsInfoQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | std::vector<std::string> | 用户 ID 列表。 |
| callback | ZIMFriendsInfoQueriedCallback | 批量查询好友信息的结果回调。 |
详情
需要查询一批指定好友的信息做展示,可通过该接口查询。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendListQueriedCallback]。
- 支持版本:2.14.0 及以上。
返回值
批量查询好友信息的结果回调。
queryFriendList
public void queryFriendList(const ZIMFriendListQueryConfig & config, ZIMFriendListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMFriendListQueryConfig & | 查询好友列表配置。 |
| callback | ZIMFriendListQueriedCallback | 查询好友列表的返回结果。 |
详情
需要分页查询好友列表,可通过该接口查询。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendListQueriedCallback]。
- 支持版本:2.14.0 及以上。
返回值
查询好友列表返回结果。
queryFriendApplicationList
public void queryFriendApplicationList(const ZIMFriendApplicationListQueryConfig & config, ZIMFriendApplicationListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMFriendApplicationListQueryConfig & | 查询好友申请列表配置。 |
| callback | ZIMFriendApplicationListQueriedCallback | 查询好友申请列表的返回结果。 |
详情
需要分页查询好友申请列表,可通过该接口查询。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendApplicationListQueriedCallback]。
- 支持版本:2.14.0 及以上。
返回值
查询好友申请列表的返回结果。
searchLocalFriends
public void searchLocalFriends(const ZIMFriendsSearchConfig & config, ZIMFriendsSearchedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMFriendsSearchConfig & | 好友搜索配置。 |
| callback | ZIMFriendsSearchedCallback | 搜索本地好友信息返回结果。 |
详情
通过该接口可以根据关键词搜索本地好友信息。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendsSearchedCallback]。
- 支持版本:2.14.0 及以上。
返回值
搜索本地好友信息返回结果。
addUsersToBlacklist
public void addUsersToBlacklist(const std::vector<std::string> & userIDs, ZIMBlacklistUsersAddedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | 需要被拉黑的 userID 数组。 |
| callback | ZIMBlacklistUsersAddedCallback | 添加用户到黑名单的操作结果回调。 |
详情
通过该接口可以将指定 userID 用户添加到黑名单。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMBlacklistUsersAddedCallback]。
- 支持版本:2.13.0 及以上。
- 使用限制: 传入的 userID 一次性不能超过 20 个。
removeUsersFromBlacklist
public void removeUsersFromBlacklist(const std::vector<std::string> & userIDs, ZIMBlacklistUsersRemovedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | 需要被解除黑名单的 userID 数组。 |
| callback | ZIMBlacklistUsersRemovedCallback | 移除用户出黑名单的操作结果回调。 |
详情
通过该接口可以将指定 userID 用户移除出黑名单。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMBlacklistUsersRemovedCallback]。
- 支持版本:2.13.0 及以上。
- 使用限制: 传入的 userID 一次性不能超过 20 个。
queryBlacklist
public void queryBlacklist(const ZIMBlacklistQueryConfig & config, ZIMBlacklistQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMBlacklistQueryConfig & | 查询黑名单配置。 |
| callback | ZIMBlacklistQueriedCallback | 查询黑名单结果回调。 |
详情
查询黑名单。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMBlacklistQueriedCallback]。
- 支持版本:2.13.0 及以上。
checkUserIsInBlacklist
public void checkUserIsInBlacklist(const std::string & userID, ZIMBlacklistCheckedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | const std::string & | 需要要检查的用户ID信息。 |
| callback | ZIMBlacklistCheckedCallback | 黑名单检查结果回调。 |
详情
通过该接口可以检查某个 userID 是否在黑名单内。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMBlacklistCheckedCallback]。
- 支持版本:2.13.0 及以上。
querySubscribedUserStatusList
public void querySubscribedUserStatusList(ZIMSubscribedUserStatusQueryConfig config, ZIMSubscribedUserStatusListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMSubscribedUserStatusQueryConfig | 查询订阅列表有关的相关参数。 |
| callback | ZIMSubscribedUserStatusListQueriedCallback | 查询用户状态订阅列表的结果回调。 |
详情
用于查询当前用户用户状态列表。
- 业务场景:您可以通过该接口获得当前用户的用户订阅列表在本地的缓存,方便您了解当前用户订阅了哪些用户,获取订阅用户的订阅过期时间、以及订阅用户上次变更时的状态数据。
- 调用时机/通知时机:登录后即可调用,不受网络状态限制。
- 相关回调:ZIMSubscribedUserStatusListQueriedCallback、subscribeUsersStatus、unsubscribeUsersStatus。
- 相关接口:subscribeUsersStatus、unsubscribeUsersStatus。
- 支持版本:2.18.0
- 使用限制:非联网查询,没有调用频率限制,获取的数据为 SDK 在本地的缓存,登录后网络条件良好的情况下, SDK 定时向后台同步。
返回值
结果回调。
queryUsersStatus
public void queryUsersStatus(const std::vector\<std::string\> & userIDs, ZIMUsersStatusQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | 查询目标用户列表。 |
| callback | ZIMUsersStatusQueriedCallback | 查询用户状态的回调方法。 |
详情
批量查询其他用户的用户状态。
- 业务场景:当您不需要持续关注某些用户的在线状态,仅需要单次获取时可以通过该接口向后台做一次查询。
- 调用时机/通知时机:登录后并且网络条件良好的情况下可以调用。
- 相关回调:ZIMUsersStatusQueriedCallback 。
- 支持版本:2.18.0
- 注意事项:不可以查询未注册的用户。
返回值
结果回调。
subscribeUsersStatus
public void subscribeUsersStatus(const std::vector\<std::string\> & userIDs, ZIMUserStatusSubscribeConfig config, ZIMUsersStatusSubscribedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | 被订阅的用户列表。 |
| config | ZIMUserStatusSubscribeConfig | 订阅相关的配置项。 |
| callback | ZIMUsersStatusSubscribedCallback | 订阅用户状态的操作回调。 |
详情
通过该接口订阅其他用户的用户状态。
- 业务场景:进入群组/房间/好友列表,需要了解当前哪些房间/群成员/好友在线时,通过该接口进行订阅,成功之后这些用户的用户状态将通过 onUserStatusUpdated 接口回调。
- 调用时机/通知时机:登录成功并且网络条件良好的情况下即可调用。
- 相关回调:[ZIMUsersStatusSubscribedCallback]、[onUserStatusUpdated]
- 相关接口:[unsubscribeUsersStatus]
- 支持版本:2.18.0
- 使用限制:单次订阅用户上限为 100 人,单个用户默认最多可以订阅 3000 人,当订阅人数达到上限后,新订阅的用户将会覆盖最早订阅的用户。
- 注意事项:不可以通过该接口订阅当前登录用户,被订阅的用户必须已注册。
返回值
结果回调。
unsubscribeUsersStatus
public void unsubscribeUsersStatus(const std::vector\<std::string\> & userIDs, ZIMUsersStatusUnsubscribedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | 批量取消的用户列表。 |
| callback | ZIMUsersStatusUnsubscribedCallback | 批量取消的操作结果回调。 |
详情
批量取消订阅当前用户订阅列表中的目标用户。
- 业务场景:非多端登录场景下,当您离开房间/群组时,如果您短期内不再关注房间/群组成员的用户状态,并且您在进入房间/群组时订阅过房间/群组成员的用户状态,可以通过该接口取消订阅。
- 调用时机/通知时机:登录后,并且网络情况良好时调用。
- 相关回调:ZIMUsersStatusUnsubscribedCallback。
- 相关接口:subscribeUsersStatus、queryUsersStatus、querySubscribedUserStatusList。
- 支持版本:2.18.0
- 使用限制:单次传入的 userID 列表最大为 100 人。
- 注意事项:不可以取消不在当前用户订阅列表中的用户。
返回值
结果回调。
updateUserCustomStatus
public ZIMUserCustomStatusUpdatedResult updateUserCustomStatus(String customStatus, ZIMUserCustomStatusUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| customStatus | String | 详情描述:用户自定义状态,默认最大值为 64 字节,默认过期时间为 1 天,过期后重置为空字符串。登录时,如果该字段为空字符串(默认为空字符串),那么不会修改当前用户的自定义状态。 |
| callback | ZIMUserCustomStatusUpdatedCallback | 更新自定义状态的回调。 |
详情
根据您业务需要,自行设置定义状态,例如请勿打扰、忙碌等。
- 业务场景:登录后、类似微信用户设置"干饭"、"闭关"等状态、或者类似 QQ 用户设置"请勿打扰"、"忙碌"等状态时,调用该接口来修改当前用户的自定义状态。
- 调用时机/通知时机:在线登录后并且存在连接网络时。
- 相关回调:接口调用成功更新自定义状态后, 多端登录下的其他设备、通过 subscribeUsersStatus 订阅当前用户状态的用户,将会收到 onUserStatusUpdated 并更新当前用户的自定义状态。
- 支持版本:2.20.0 以及以后版本。
- 使用限制:1 次/秒。
返回值
更新自定义状态的异步结果。
updateUserOfflinePushRule
public void updateUserOfflinePushRule(ZIMUserOfflinePushRule offlinePushRule, ZIMUserOfflinePushRuleUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| offlinePushRule | ZIMUserOfflinePushRule | 用户离线推送规则信息,每次调用接口将会使用入参对象的成员属性全量更新。 |
| callback | ZIMUserOfflinePushRuleUpdatedCallback | 修改离线推送的结果回调。 |
详情
通过该接口修改离线推送的自定规则,作用范围为当前用户。
- 业务场景:比如多端登录场景下,开发者希望桌面端在线时,移动端不希望收到离线推送,这种场景可以通过调用该接口来实现此功能。
- 调用时机:登录后且网络状态良好的情况下可以调用。
- 影响范围:接口调用成功后,所有端将会收到 onUserRuleUpdate 通知用户规则发生了更新。
- 相关回调:onUserRuleUpdate、ZIMUserOfflinePushRuleUpdatedCallback
- 相关接口:querySelfUserInfo
- 支持版本:2.15.0 以及以后版本。
返回值
修改离线推送的结果回调。
querySelfUserInfo
public void querySelfUserInfo(ZIMSelfUserInfoQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callback | ZIMSelfUserInfoQueriedCallback | 查询自身用户信息、用户规则的结果回调。 |
详情
查询当前用户的信息、用户规则。离线状态下,可以用于查询本地数据。
- 业务场景:需要展示自身用户信息、规则时可以调用查询,如进入当前用户的个人页时。
- 调用时机:登录后即可调用。
- 相关回调:ZIMSelfUserInfoQueriedCallback、userInfoUpdated、userRuleUpdated
- 支持版本:2.15.0 及以后版本。
返回值
查询自身用户信息、用户规则的结果回调。
setEventHandler
public void setEventHandler(std::shared_ptr<ZIMEventHandler> handler)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| handler | std::shared_ptr<ZIMEventHandler> | 事件通知回调。开发者应根据自身业务场景,重写回调的相关方法以关注特定的通知。 |
详情
设置事件通知回调,传 [null] 则清空已设置的回调。
- 调用时机:必须在调用 [create] 创建实例之后,通过该实例来调用此函数。
- 生命周期:在调用 [create] 之后设置此函数,能正常接收到 ZIM 相关的事件通知;在调用 [destroy] 之后,将不能再收到任何事件通知。
- 相关参考:详情请参考 https://doc-zh.zego.im/article/api?doc=zim_API~cpp_windows~class~ZIMEventHandler 。
- 支持版本:1.1.0 及以上。
- 注意事项:若开发者多次调用此函数将 覆盖 上一次调用此函数设置的回调。
login
public void login(const ZIMUserInfo & userInfo, const std::string& token, ZIMLoggedInCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userInfo | const ZIMUserInfo & | 用于标识用户的信息。包含用户的唯一 ID和用户名。注意 userID 在同一个 appID 下需唯一,否则会出现互踢的情况。 注意:不支持通过此接口设置 ZIMUserInfo.userAvatarUrl。 |
| token | const std::string& | 由开发者业务服务器下发的鉴权 Token,用以保证登录的安全性。Token 有效时长不能超过 24 天。 |
| callback | ZIMLoggedInCallback | 开发者可以通过设置该回调来接收登录的状态。 |
详情
登录 ZIM 服务。[login] 为 ZIM 功能最重要的一个步骤,在使用任何其他功能之前,都需要先进行登录。
- 调用时机:必须在调用 [create] 创建实例之后,调用其他实例函数之前调用此函数。
- 隐私保护声明:提醒用户尽量不要在 userID 参数里传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:开发者除了能在 callback 参数中得到登录结果之外,在登录请求中和登录成功/失败后,还将收到 [onConnectionStateChanged] 回调,用于判断当前用户的登录状态。
- 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617 。
- 支持版本:1.1.0 及以上。
- 注意事项:在使用 ZIM 的单聊、房间、收发消息等功能之前,必须先调用此函数进行登录,通过登录结果可向用户展示 UI。
返回值
登录的结果回调。
login
public void login(const ZIMUserInfo & userInfo, const std::string& callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userInfo | const ZIMUserInfo & | 用于标识用户的信息。包含用户的唯一 ID和用户名。注意 userID 在同一个 appID 下需唯一,否则会出现互踢的情况。 注意:不支持通过此接口设置 ZIMUserInfo.userAvatarUrl。 |
| callback | const std::string& | 开发者可以通过设置该回调来接收登录的状态。 |
详情
登录 ZIM 服务。[login] 为 ZIM 功能最重要的一个步骤,在使用任何其他功能之前,都需要先进行登录。
- 调用时机:必须在调用 [create] 创建实例之后,调用其他实例函数之前调用此函数。
- 隐私保护声明:提醒用户尽量不要在 userID 参数里传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:开发者除了能在 callback 参数中得到登录结果之外,在登录请求中和登录成功/失败后,还将收到 [onConnectionStateChanged] 回调,用于判断当前用户的登录状态。
- 支持版本:2.4.0 及以上。
- 注意事项:在使用 ZIM 的单聊、房间、收发消息等功能之前,必须先调用此函数进行登录,通过登录结果可向用户展示 UI。
返回值
登录的结果回调。
login
public void login(const std::string& userID, const ZIMLoginConfig & config, ZIMLoggedInCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | const std::string& | 用于标识用户的信息,用户的唯一 ID。 |
| config | const ZIMLoginConfig & | 用于特定登录行为的各项参数。 |
| callback | ZIMLoggedInCallback | 开发者可以通过设置该回调来接收登录的状态。 |
详情
登录 ZIM 服务。[login] 为 ZIM 功能最重要的一个步骤,在使用任何其他功能之前,都需要先进行登录。
- 调用时机:必须在调用 [create] 创建实例之后,调用其他实例函数之前调用此函数。
- 隐私保护声明:提醒用户尽量不要在 userID 参数里传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:开发者除了能在 callback 参数中得到登录结果之外,在登录请求中和登录成功/失败后,还将收到 [onConnectionStateChanged] 回调,用于判断当前用户的登录状态。
- 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617 。
- 支持版本:2.13.0 及以上。
- 注意事项:在使用 ZIM 的单聊、房间、收发消息等功能之前,必须先调用此函数进行登录,通过登录结果可向用户展示 UI。
返回值
登录的结果回调。
renewToken
public void renewToken(const std::string & token, ZIMTokenRenewedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| token | const std::string & | 由开发者业务服务器下发的 Token,用以保证安全性。生成规则详见 ZEGO 官网文档。 |
| callback | ZIMTokenRenewedCallback | 更新 Token 的结果的回调。 |
详情
更新鉴权 Token,使鉴权 Token 在过期之后能够及时更新,以继续正常使用 ZIM 的功能。
- 调用时机:必须在调用 [create] 创建实例之后,通过该实例来调用此函数。
- 生命周期:该函数的生命周期依赖鉴权 Token 的有效期,由开发者业务方自行决定。
- 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617 。
- 支持版本:1.1.0 及以上。
- 注意事项:开发者在收到 [onTokenWillExpire] 回调后,开发者需要及时向自己的鉴权服务器请求重新生成一个 Token。
返回值
更新 Token 的结果的回调。
queryUsersInfo
public void queryUsersInfo(const std::vector\<std::string> & userIDs, const ZIMUsersInfoQueryConfig & config, ZIMUsersInfoQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | userID 数组。 |
| config | const ZIMUsersInfoQueryConfig & | 查询用户信息配置。 |
| callback | ZIMUsersInfoQueriedCallback | 查询用户信息的操作回调,返回查询的结果。 |
详情
通过该接口可以通过 userID 来查询获得对应的 UserInfo。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMUsersInfoQueriedCallback]。
- 支持版本:2.3.0 及以上。
- 使用限制:单次调用接口,查询 UserID 不能超过 10 个; 在 10 秒内,多次调用接口,所有查询的 UserID 累计总数不能超过 10 个。
返回值
查询用户信息的结果的回调。
updateUserName
public void updateUserName(const std::string & userName, ZIMUserNameUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userName | const std::string & | 详情描述:需要设置的用户名称。 取值范围:2.0.0 及以后版本,支持最大 256 字节的字符串。 隐私保护声明:不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。 |
| callback | ZIMUserNameUpdatedCallback | 修改用户名的回调函数。 |
详情
在用户登录后,调用该接口可以更新用户自身的用户名。
- 调用时机/通知时机:用户登录后。
- 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:[ZIMUserNameUpdatedCallback]。
- 相关接口:[updateUserExtendedData] 与 [queryUsersInfo]。
- 支持版本:2.2.0 及以上。
- 注意事项:该接口不支持修改房间内用户名。
返回值
修改用户名的回调结果。
updateUserAvatarUrl
public void updateUserAvatarUrl(const std::string & userAvatarUrl, ZIMUserAvatarUrlUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userAvatarUrl | const std::string & | 准备修改为的用户头像 URL。 |
| callback | ZIMUserAvatarUrlUpdatedCallback | 更新用户头像结果的回调。 |
详情
在用户登录后,调用该接口可以设置或者更新用户自身的用户头像 URL。
- 调用时机/通知时机:用户登录后。
- 相关回调:[ZIMUserAvatarUrlUpdatedCallback]。
- 相关接口:[queryUsersInfo]。
- 支持版本:2.3.0 及以上。
- 使用限制:无特殊字符限制,最大 500 字节。
- 注意事项:用户头像本身需要开发者自行存储,ZIM 只作为透传 URL 保存其用户信息。
返回值
修改用户头像 URL 的回调结果。
updateUserExtendedData
public void updateUserExtendedData(const std::string & extendedData, ZIMUserExtendedDataUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| extendedData | const std::string & | 准备修改为的用户扩展字段。 |
| callback | ZIMUserExtendedDataUpdatedCallback | 修改用户扩展字段的回调函数。 |
详情
在用户登录后,调用该接口可以更新用户自身的用户扩展字段。
- 调用时机/通知时机:用户登录后。
- 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:[ZIMUserExtendedDataUpdatedCallback]。
- 相关接口:[updateUserName] 与 [queryUsersInfo]。
- 支持版本:2.2.0 及以上。
返回值
修改用户扩展字段的回调结果。
uploadLog
public void uploadLog(ZIMLogUploadedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callback | ZIMLogUploadedCallback | 开发者可以通过设置该回调来接收日志上传的结果。 |
详情
默认情况下,SDK 会在 App 默认目录创建日志文件并打印,每个日志文件默认最大 5MB,三个日志文件循环覆盖写入。当调用此函数时 SDK 会自动将日志文件打包并上传到 ZEGO 服务器。
- 业务场景:开发者可在 App 提供业务上的“反馈”渠道,当用户反馈的问题属于 ZEGO SDK 时,可调用此函数将 SDK 的本地日志信息上传,并联系 ZEGO 技术支持协助定位用户问题。
- 调用时机:在 [create] 后。
- 相关回调:开发者可以通过 callback 参数获取上传结果。
- 支持版本:1.2.0 及以上。
- 使用限制:10分钟内如果反复调用此接口,只有最后一次调用生效。
- 注意事项:在调用本接口上传日志后,如果过快的调用 [destory] 或 退出 App,则可能存在失败的情况。建议等待几秒,等收到上传成功回调后,再调用 [destory] 或 退出 App。
返回值
日志上传的结果。
logout
public void logout()ZIM.h登出 ZIM 服务。
- 调用时机:必须在调用 [create] 创建实例之后,通过该实例来调用此函数。
- 相关回调:开发者在登出后,将收到 [onConnectionStateChanged] 回调,此时登录状态为 [Disconnected]。
- 支持版本:1.1.0 及以上。
- 注意事项:在调用 [logout] 之后,将无法继续使用 ZIM 的单聊、房间、收发消息等功能。若开发者需要再次使用 ZIM 服务,必须先调用 [login] 再次登录。
destroy
public void destroy()ZIM.h释放 ZIM 实例使用的资源,在不再需要使用 ZIM 的时候必须调用此函数释放占用的内存资源,否则可能将发生内存泄漏的情况。
- 调用时机:在不需要再使用 ZIM 的时候调用,一般可以在对 ZIM 对象置空之前调用。
- 支持版本:1.1.0 及以上版本。
- 注意事项:在调用此函数之后,ZIM 内部功能将不可再使用,且所有回调通知都将不再触发。若需要继续使用 ZIM 功能,则请开发者重新调用 [create] 创建新的实例。
callInvite
public void callInvite(std::vector<std::string> invitees, const ZIMCallInviteConfig & config, ZIMCallInvitationSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| invitees | std::vector<std::string> | 被邀请者列表。 |
| config | const ZIMCallInviteConfig & | 呼叫邀请相关配置。 |
| callback | ZIMCallInvitationSentCallback | 发起呼叫邀请的回调。 |
详情
当主叫发起呼叫邀请后,被叫可通过 [callAccept] 来接受呼叫邀请或者 [callReject] 来拒绝邀请。
- 业务场景:当需要对一个或者多个用户发起邀请时,可调用此接口。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[ZIMCallInvitationSentCallback]。
- 支持版本:2.0.0 及以上。
- 注意事项:呼叫邀请有超时时间,超时时间到了呼叫邀请将结束,使用 [ZIMCallInviteConfig] 中的 timeout 来控制超时时间,范围为1-600,单位为秒。暂不支持离线呼叫邀请,接收或拒绝后呼叫邀请随即结束。invitees 最多为 9 人。
返回值
发起呼叫的结果回调。
callJoin
public void callJoin(const std::string & callID, const ZIMCallJoin & config, ZIMCallJoinSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | const std::string & | 欲加入的进阶模式呼叫邀请 ID。 |
| config | const ZIMCallJoin & | 加入呼叫邀请的相关配置。 |
| callback | ZIMCallJoinSentCallback | 加入呼叫或切换主设备的回调。 |
详情
在实现进阶模式呼叫邀请后,可以调用该接口加入呼叫或者切换主设备。
- 业务场景:没有加入呼叫的用户加入呼叫,或者已在呼叫内的用户切换主设备。
- 调用时机:需要登录后调用。
- 支持版本:2.12.0。
返回值
加入呼叫或切换主设备的回调。
callCancel
public void callCancel(std::vector<std::string> invitees, std::string callID, ZIMCallCancelConfig config, ZIMCallCancelSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| invitees | std::vector<std::string> | 被邀请者列表。 |
| callID | std::string | 欲取消的呼叫邀请ID。 |
| config | ZIMCallCancelConfig | 取消呼叫邀请的相关配置。 |
| callback | ZIMCallCancelSentCallback | 取消呼叫邀请的回调。 |
详情
当主叫发起呼叫邀请后,在超时时间前可通过该接口取消该呼叫邀请。
- 业务场景:需要取消之前发起的呼叫邀请时,可通过该接口来取消呼叫邀请。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[ZIMCallCancelSentCallback]。
- 支持版本:2.0.0 及以上。
- 注意事项:呼叫邀请的超时时间到后再取消呼叫邀请会失败。
返回值
呼叫取消的结果回调。
callAccept
public void callAccept(std::string callID, ZIMCallAcceptConfig config, ZIMCallAcceptanceSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | std::string | 欲接受的呼叫邀请 ID。 |
| config | ZIMCallAcceptConfig | 接受呼叫邀请的相关配置。 |
| callback | ZIMCallAcceptanceSentCallback | 接受呼叫邀请的回调。 |
详情
当主叫发起呼叫邀请后,被叫可通过该接口接受这次呼叫邀请。
- 业务场景:ZIM SDK在接受后无相关业务逻辑,开发者可以自定义接受后的开发逻辑,如收到其他主叫发起的邀请后,通过该接口来接受呼叫邀请,之后使用 RTC 开启语音聊天功能。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[ZIMCallAcceptanceSentCallback]。
- 支持版本:2.0.0 及以上。
- 注意事项:被叫接受未被邀请的 callID 会失败。超时后接受会报错。
返回值
接收呼叫的结果回调。
callReject
public void callReject(std::string callID, ZIMCallRejectConfig config, ZIMCallRejectionSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | std::string | 欲拒绝的呼叫邀请ID。 |
| config | ZIMCallRejectConfig | 拒绝呼叫邀请的相关配置。 |
| callback | ZIMCallRejectionSentCallback | 拒绝呼叫邀请的回调。 |
详情
当主叫发起呼叫邀请后,被叫可通过该接口拒绝这次呼叫邀请。
- 业务场景:收到其他主叫发起的邀请后,可通过该接口来拒绝呼叫邀请。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[ZIMCallRejectionSentCallback]。
- 支持版本:2.0.0 及以上。
- 注意事项:被叫拒绝未被邀请的callid会失败,ZIM SDK在接受后无相关业务逻辑,开发者可以自定义拒绝后的开发逻辑。
返回值
拒绝呼叫的结果回调。
callQuit
public void callQuit(const std::string & callID, const ZIMCallQuitConfig & config, ZIMCallQuitSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | const std::string & | 欲退出的呼叫邀请ID。 |
| config | const ZIMCallQuitConfig & | 退出呼叫邀请的相关配置。 |
| callback | ZIMCallQuitSentCallback | 退出呼叫的回调。 |
详情
退出进阶模式呼叫。
- 调用时机:呼叫建立后,呼叫状态为 Accepted 的用户可调用此接口。
- 相关回调:[ZIMCallQuitSentCallback]。
- 支持版本:2.9.0 及以上。
- 注意事项:被叫退出未接受的呼叫的 callid 会失败。ZIM SDK 在接受后无相关业务逻辑,开发者可以自定义退出呼叫后的开发逻辑。
返回值
退出呼叫的结果回调。
callEnd
public void callEnd(const std::string & callID, const ZIMCallEndConfig & config, ZIMCallEndSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | const std::string & | 欲结束的呼叫ID。 |
| config | const ZIMCallEndConfig & | 结束呼叫邀请的相关配置。 |
| callback | ZIMCallEndSentCallback | 结束呼叫邀请的回调。 |
详情
结束进阶模式呼叫。
- 调用时机:呼叫为进阶模式且用户状态为 "Accepted"。
- 相关回调:[ZIMCallEndSentCallback]。
- 支持版本:2.9.0 及以上。
- 注意事项:不在呼叫内的用户调用会失败。ZIM SDK 无呼叫结束后的相关业务逻辑,开发者可以自定义结束后的开发逻辑。
返回值
结束呼叫邀请的结果回调。
callingInvite
public void callingInvite(const std::vector\<std::string> & invitees, const std::string & callID, const ZIMCallingInviteConfig & config, ZIMCallingInvitationSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| invitees | const std::vector<std::string> & | 邀请的用户 ID 列表。 |
| callID | const std::string & | 当前进阶模式呼叫的 callID。 |
| config | const ZIMCallingInviteConfig & | 邀请加入呼叫的相关配置。 |
| callback | ZIMCallingInvitationSentCallback | 邀请加入当前呼叫的回调。 |
详情
在进阶模式下,当主叫发起呼叫邀请后,呼叫内的用户可通过该接口继续邀请其他用户加入呼叫。
- 调用时机:主叫调用 [callInvite] 发起进阶模式的呼叫邀请后使用,或被叫接受进阶模式呼叫邀请后。
- 相关回调:[ZIMCallingInvitationSentCallback]。
- 支持版本:2.9.0 及以上。
- 注意事项:不在呼叫内的用户调用会失败。ZIM SDK 在接受后无相关业务逻辑,开发者可以自定义加入呼叫后的开发逻辑。呼叫默认最多只能包含 9 名用户。
返回值
邀请加入当前呼叫的结果回调。
queryCallInvitationList
public void queryCallInvitationList(const ZIMCallInvitationQueryConfig & config, ZIMCallInvitationListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMCallInvitationQueryConfig & | 查询呼叫邀请表的相关配置。 |
| callback | ZIMCallInvitationListQueriedCallback | 查询呼叫邀请列表的结果回调。 |
详情
用户可通过该查询呼叫邀请列表。
- 业务场景:用户可通过该查询呼叫邀请列表,用作界面展示或其他功能。
- 调用时机:通过 [create] 创建 ZIM 实例, 登录后可调用。
- 相关回调:[ZIMCallInvitationListQueriedCallback]。
- 支持版本:2.9.0 及以上。
返回值
查询呼叫邀请列表的结果回调。
createGroup
public void createGroup(ZIMGroupInfo groupInfo, const std::vector<std::string> userIDs, ZIMGroupCreatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupInfo | ZIMGroupInfo | 将要被创建的群的配置信息。 |
| userIDs | const std::vector<std::string> | 被邀请入群的用户列表。 |
| callback | ZIMGroupCreatedCallback | 创建群组的结果的回调。 |
详情
可调用该接口来创建一个群组,调用该接口的人为该群群主。群名不填则为空字符串。
- 业务场景:需要创建多人聊天场景时,可通过该接口创建并加入群组。
- 调用时机:通过 [create] 创建 ZIM 实例并 [login] 登录之后。
- 相关回调:通过 [ZIMGroupCreatedCallback] 回调可拿到创建群组的结果。
- 相关接口:可通过 [joinGroup] 加入群组,[leaveGroup] 离开群组, [dismissGroup] 解散群组。
- 支持版本:2.0.0及以上。
- 使用限制:登录后可用,登出后不可用。userIDs 最大 100 人。
searchLocalGroups
virtual void searchLocalGroups(const ZIMGroupSearchConfig & config, ZIMGroupsSearchedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMGroupSearchConfig & | 搜索群组的配置。 |
| callback | ZIMGroupsSearchedCallback | 搜索的结果回调。 |
详情
该方法用于搜索本地群组。
- 业务场景:当需要通过关键字等配置搜索本地群组时,可以调用该接口进行搜索。
- 调用时机/通知时机:调用 [login] 登录后。
- 相关回调:[ZIMGroupsSearchedCallback]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
搜索的结果回调。
searchLocalGroupMembers
virtual void searchLocalGroupMembers(const std::string & groupID, const ZIMGroupMemberSearchConfig & config, ZIMGroupMembersSearchedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string & | 已加入群组的 ID。 |
| config | const ZIMGroupMemberSearchConfig & | 搜索群成员的配置。 |
| callback | ZIMGroupMembersSearchedCallback | 搜索群成员的结果回调。 |
详情
该方法用于搜索群成员。
- 业务场景:当需要通过关键字等配置搜索本地群成员时,可以调用该接口进行搜索。
- 相关回调:[ZIMGroupMembersSearchedCallback]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
搜索群成员的结果回调。
createGroup
public void createGroup(ZIMGroupInfo groupInfo, const std::vector<std::string> userIDs, ZIMGroupAdvancedConfig config, ZIMGroupCreatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupInfo | ZIMGroupInfo | 将要被创建的群的配置信息。 |
| userIDs | const std::vector<std::string> | 被邀请入群的用户列表。 |
| config | ZIMGroupAdvancedConfig | 创建群组的相关配置。 |
| callback | ZIMGroupCreatedCallback | 创建群组的结果的回调。 |
详情
可调用该接口来创建一个群组,调用该接口的人为该群群主。
- 业务场景:需要创建多人聊天场景时,可通过该接口创建并加入群组。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupCreatedCallback] 回调可拿到创建群组的结果。
- 相关接口:可通过 [joinGroup] 加入群组,[leaveGroup] 离开群组, [dismissGroup] 解散群组。
- 支持版本:2.0.0及以上。
- 使用限制:登录后可用,登出后不可用 。 userIDs 最大为 100 人, 一个群最大支持 500 人。
返回值
创建群组的结果的回调。
joinGroup
public void joinGroup(const std::string groupID, ZIMGroupJoinedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string | 将要加入的群组ID。 |
| callback | ZIMGroupJoinedCallback | 加入群组的结果的回调。 |
详情
当一个群组被创建后,其他用户可以通过 [joinGroup] 加入此群组,如果群组不存在,则加入失败。
- 业务场景:需要加入多人聊天场景时,可通过该接口加入群组。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupJoinedCallback] 回调可拿到加入房间的结果。
- 相关接口:可通过 [createGroup] 创建群组,[leaveGroup] 离开群组, [dismissGroup] 解散群组。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。若已在群中加入会返回加入成功。人满后加入失败。
返回值
加入群组的结果的回调。
leaveGroup
public void leaveGroup(const std::string groupID, ZIMGroupLeftCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string | 将要离开的群组ID。 |
| callback | ZIMGroupLeftCallback | 离开群组的结果的回调。 |
详情
当用户加入一个群组后,用户可以通过该接口离开此群组。
- 业务场景:需要退出多人聊天场景时,可通过该接口离开群组。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例后并登录后可调用。
- 相关回调:通过 [ZIMGroupLeftCallback] 回调可拿到离开房间的结果。
- 相关接口:可通过 [createGroup] 创建群组,[joinGroup] 加入群组, [dismissGroup] 解散群组。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
- 注意事项:群主退出群组时,群主身份将自动转让给加入本群组最早的那个成员;所有成员退出群组时,群组自动解散。
返回值
离开群组的结果的回调。
dismissGroup
public void dismissGroup(const std::string groupID, ZIMGroupDismissedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string | 将要解散的群组ID。 |
| callback | ZIMGroupDismissedCallback | 解散群组的结果的回调。 |
详情
当一个群组被创建后,用户可通过 [dismissGroup] 解散此群组。
- 业务场景:创建多人聊天群组后,不需要在此群组进行聊天互动,可通过此接口解散群组。
- 调用时机:通过 [createGroup] 创建群组后可以调用。
- 相关回调:通过 [ZIMGroupDismissedCallback] 回调可拿到解散房间的结果,通过 [onGroupStateChanged] 监听回调可拿到房间状态。
- 相关接口:可通过 [createGroup] 创建群组, [joinGroup] 加入群组,[leaveGroup] 离开群组。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不能解散群。
返回值
解散群组的结果的回调。
kickGroupMembers
public void kickGroupMembers(const std::vector<std::string> userIDs, const std::string groupID, ZIMGroupMemberKickedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> | 被踢出群的用户列表。 |
| groupID | const std::string | 将要踢出成员的群组ID。 |
| callback | ZIMGroupMemberKickedCallback | 踢出群组的结果的回调。 |
详情
当用户加入群组后,可以通过此方法将其踢出群组。
- 业务场景:需要将一个或多个用户踢出群组时,可通过此方法实现该功能。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberKickedCallback] 回调可拿到将用户踢出群组的结果。
- 相关接口:可通过 [inviteUsersIntoGroup] 邀请目标用户进入群组。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不能踢人。
- 注意事项:该接口无需对方同意,也无需对方在线,踢出后无法接受群相关回调。被踢出后历史消息和会话都会保留,且仍可进入该群。
返回值
踢出群组的结果的回调。
inviteUsersIntoGroup
public void inviteUsersIntoGroup(const std::vector<std::string> userIDs, const std::string groupID, ZIMGroupUsersInvitedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> | 被邀请进群的用户列表,单次操作最多支持数量为 100。 |
| groupID | const std::string | 将用户邀请进入的群组ID。 |
| callback | ZIMGroupUsersInvitedCallback | 邀请用户进入群组的结果的回调。 |
详情
当需要邀请用户加入群组,可以通过此方法将其邀请加入群组,如果群组不存在,则邀请失败。
- 业务场景:需要邀请一个或多个用户邀请加入群组时,可通过此方法实现该功能。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberinvitedCallback] 回调可拿到邀请用户加入群组的结果。
- 相关接口:可通过 [kickGroupMembers] 将目标用户踢出群组。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不能邀请。
- 注意事项:该接口无需对方同意,也无需对方在线。
返回值
邀请用户进入群组的结果的回调。
transferGroupOwner
public void transferGroupOwner(const std::string toUserID, const std::string groupID, ZIMGroupOwnerTransferredCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| toUserID | const std::string | 转换后的群主ID。 |
| groupID | const std::string | 将要更换群主的群组ID。 |
| callback | ZIMGroupOwnerTransferredCallback | 转让群主的结果的回调。 |
详情
当一个群组被创建后,群主可以通过此方法将群主转让给指定用户。
- 业务场景:在多人群组聊天场景中,可通过该接口转让群主。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupOwnerTransferredCallback] 回调可拿到转让群主的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不能转让群主。
返回值
转让群主的结果的回调。
updateGroupAlias
public void updateGroupAlias(const std::string& groupAlias, const std::string & groupID, ZIMGroupAliasUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupAlias | const std::string& | 新的群备注。最大长度 256 字节。 |
| groupID | const std::string & | 将要被更新群备注的群组 ID。 |
| callback | ZIMGroupAliasUpdatedCallback | 更新群备注的结果的回调。 |
详情
当用户成为某个群的成员后,改用户可通过调用该方法对该群添加/修改备注,群备注仅对修改者生效,不会影响其他群成员。
- 业务场景:如需区分不同的群聊。
- 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupAliasUpdatedCallback] 回调可拿到更改群备注的结果。
- 支持版本:2.18.0 及以上。
返回值
更新群备注的结果的回调。
updateGroupName
public void updateGroupName(const std::string& groupName, const std::string & groupID, ZIMGroupNameUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupName | const std::string& | 需要更新的群名称。 |
| groupID | const std::string & | 将要被更新群名的群组ID。 |
| callback | ZIMGroupNameUpdatedCallback | 更新群名称的结果的回调。 |
详情
当一个群组被创建后,用户可通过调用该方法修改群名称。
- 业务场景:创建群组后,用户需要更改群名称。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupNameUpdatedCallback] 回调可拿到更改群名称的结果,通过 [onGroupNoticeUpdated] 可拿到更新群名称信息。
- 支持版本:2.0.0 及以上。
- 使用限制:群成员与群主可修改群名称,名称最大长度100字节。
返回值
更新群名称的结果的回调。
muteGroup
public void muteGroup(bool isMute, std::string groupID, ZIMGroupMuteConfig config, ZIMGroupMutedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| isMute | bool | 标识行为是禁言群组或是解除群组禁言。 |
| groupID | std::string | 将要被更新禁言状态的群组 ID。 |
| config | ZIMGroupMuteConfig | 群组禁言配置。 |
| callback | ZIMGroupMutedCallback | 更新群组禁言的结果的回调。 |
详情
当一个群组被创建后,群组的管理者可以调用该接口实行群组禁言与解除群组禁言。
- 业务场景:创建群组后,群组的管理者需要更改群组禁言状态。
- 调用时机:通过 [create] 创建 ZIM 实例并登录进入群组后可调用。
- 相关回调:通过 [ZIMGroupMutedCallback] 回调可拿到更改群禁言状态的结果,通过 [onGroupMuteInfoUpdated] 可拿到更新群禁言状态信息。
- 支持版本:2.14.0 及以上。
- 使用限制:仅限群组的管理者可调用。
返回值
更新群禁言状态的结果的回调。
muteGroupMembers
public void muteGroupMembers(bool isMute, const std::vector\<std::string> & userIDs, const std::string & groupID, ZIMGroupMemberMuteConfig config, ZIMGroupMembersMutedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| isMute | bool | 标识行为是禁言群组成员或是解除群组成员禁言。 |
| userIDs | const std::vector<std::string> & | 需要修改禁言状态的群成员 ID。 |
| groupID | const std::string & | 将要被更新成员禁言状态的群组 ID。 |
| config | ZIMGroupMemberMuteConfig | 群组成员禁言配置。 |
| callback | ZIMGroupMembersMutedCallback | 更新群组成员禁言的结果的回调。 |
详情
当一个群组被创建后,群组的管理者可以调用该接口实行群组成员禁言与解除群组成员禁言。
- 业务场景:创建群组后,用户需要更改群组成员禁言状态。
- 调用时机:通过 [create] 创建 ZIM 实例并登录进入群组后可调用。
- 相关回调:通过 [ZIMGroupMembersMutedCallback] 回调可拿到更改群成员禁言状态的结果,通过 [onGroupMemberInfoUpdated] 可拿到更新群成员禁言状态信息。
- 支持版本:2.14.0 及以上。
- 使用限制:群主与群管理员可调用。
返回值
更新群成员禁言状态的结果的回调。
updateGroupAvatarUrl
public void updateGroupAvatarUrl(std::string groupAvatarUrl, std::string groupID, ZIMGroupAvatarUrlUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupAvatarUrl | std::string | 需要更新的群头像 URL。 使用限制: 无特殊字符限制,最大 500 字节。 |
| groupID | std::string | 将要被更新群头像 URL 的群组ID。 |
| callback | ZIMGroupAvatarUrlUpdatedCallback | 更新群头像 URL 的结果的回调。 |
详情
当一个群组被创建后,用户可通过调用该方法修改群头像 URL。
- 业务场景:创建群组后,用户需要更改群头像 URL。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录、处于对应群中时可调用。
- 相关回调:通过 [ZIMGroupAvatarUrlUpdatedCallback] 回调可拿到更改群头像的结果,通过 [onGroupAvatarUrlUpdated] 可拿到更新群头像信息。
- 支持版本:2.3.0 及以上。
- 使用限制:群成员与群主可修改群头像,最大长度500字节。
返回值
更新群头像 URL 的结果的回调。
updateGroupNotice
public void updateGroupNotice(const std::string groupNotice, const std::string groupID, ZIMGroupNoticeUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupNotice | const std::string | 预更新的群公告。 |
| groupID | const std::string | 将要被更新群公告的群组ID。 |
| callback | ZIMGroupNoticeUpdatedCallback | 更新群公告的结果的回调。 |
详情
当一个群组被创建后,用户可以通过此方法更新群公告。
- 业务场景:需要在群组中,更新群公告。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupNoticeUpdateCallback] 回调可拿到更新群公告的结果,通过 [onGroupNoticeUpdated] 可拿到更新群公告信息。
- 支持版本:2.0.0 及以上。
- 使用限制:只有群成员才能更新群公告,最大字节数为300字节,无特殊字符限制。
返回值
更新群公告的结果的回调。
updateGroupJoinMode
public void updateGroupJoinMode(ZIMGroupJoinMode mode, std::string groupID, ZIMGroupJoinModeUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mode | ZIMGroupJoinMode | 加群验证模式。 |
| groupID | std::string | 群组ID。 |
| callback | ZIMGroupJoinModeUpdatedCallback | 更新操作的结果的回调。 |
详情
当一个群组被创建后,群主和管理员可以通过此方法更新入群模式。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
更新操作的结果的回调。
updateGroupInviteMode
public void updateGroupInviteMode(ZIMGroupInviteMode mode, std::string groupID, ZIMGroupInviteModeUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mode | ZIMGroupInviteMode | 邀请入群验证模式。 |
| groupID | std::string | 群组ID。 |
| callback | ZIMGroupInviteModeUpdatedCallback | 更新操作的结果的回调。 |
详情
当一个群组被创建后,群主和管理员可以通过此方法更新邀请模式。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
更新操作的结果的回调。
acceptGroupInviteApplication
public void acceptGroupInviteApplication(std::string inviterUserID, std::string groupID, ZIMGroupInviteApplicationAcceptConfig config, ZIMGroupInviteApplicationAcceptedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| inviterUserID | std::string | 邀请人 ID。 |
| groupID | std::string | 群组ID。 |
| config | ZIMGroupInviteApplicationAcceptConfig | 同意邀请入群申请的配置。 |
| callback | ZIMGroupInviteApplicationAcceptedCallback | 操作的结果的回调。 |
详情
当一个群组的 beInviteMode 模式为 Auth 时,群组外部用户收到入群邀请后,可以通过此方接受邀请,成为群组成员。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
acceptGroupJoinApplication
public void acceptGroupJoinApplication(std::string userID, std::string groupID, ZIMGroupJoinApplicationAcceptConfig config, ZIMGroupJoinApplicationAcceptedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | std::string | 申请人 ID。 |
| groupID | std::string | 群组ID。 |
| config | ZIMGroupJoinApplicationAcceptConfig | 同意加群申请的配置。 |
| callback | ZIMGroupJoinApplicationAcceptedCallback | 操作的结果的回调。 |
详情
当一个群组的 joinMode 为需要 Auth 时,外部用户发出入群申请后,群主或管理员可以通过此方法同意申请。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
queryGroupApplicationList
public void queryGroupApplicationList(ZIMGroupApplicationListQueryConfig config, ZIMGroupApplicationListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMGroupApplicationListQueryConfig | 查询申请列表的配置。 |
| callback | ZIMGroupApplicationListQueriedCallback | 操作的结果的回调。 |
详情
查询结果包含自己的入群申请和自己被邀请入群的申请。当用户是群主或管理员时,查询结果还会包含他人的入群申请和自己邀请他人入群的申请。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
rejectGroupInviteApplication
public void rejectGroupInviteApplication(std::string inviterUserID, std::string groupID, ZIMGroupInviteApplicationRejectConfig config, ZIMGroupInviteApplicationRejectedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| inviterUserID | std::string | 邀请人 ID。 |
| groupID | std::string | 群组ID。 |
| config | ZIMGroupInviteApplicationRejectConfig | 拒绝邀请入群申请的配置。 |
| callback | ZIMGroupInviteApplicationRejectedCallback | 操作的结果的回调。 |
详情
当一个群组的 beInviteMode 为需要 Auth 时,被邀请入群的用户可以通过此方法拒绝邀请。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
rejectGroupJoinApplication
public void rejectGroupJoinApplication(std::string userID, std::string groupID, ZIMGroupJoinApplicationRejectConfig config, ZIMGroupJoinApplicationRejectedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | std::string | 申请人 ID。 |
| groupID | std::string | 群组ID。 |
| config | ZIMGroupJoinApplicationRejectConfig | 拒绝加群申请的配置。 |
| callback | ZIMGroupJoinApplicationRejectedCallback | 操作的结果的回调。 |
详情
当一个群组的 joinMode 为 Auth 时,群主或管理员可以通过此方法拒绝用户的加群申请。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
sendGroupInviteApplications
public void sendGroupInviteApplications(std::vector\<std::string> userIDs, std::string groupID, ZIMGroupInviteApplicationSendConfig config, ZIMGroupInviteApplicationsSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | std::vector<std::string> | 被邀请用户列表,单次操作最多支持数量为 20。 |
| groupID | std::string | 群组ID。 |
| config | ZIMGroupInviteApplicationSendConfig | 邀请申请的配置。 |
| callback | ZIMGroupInviteApplicationsSentCallback | 操作的结果的回调。 |
详情
当一个群组的被邀请入群验证模式为需要被邀请人审批时,群成员可以通过此方法发送邀请入群。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
sendGroupJoinApplication
public void sendGroupJoinApplication(std::string groupID, ZIMGroupJoinApplicationSendConfig config, ZIMGroupJoinApplicationSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | std::string | 群组ID。 |
| config | ZIMGroupJoinApplicationSendConfig | 加群申请配置。 |
| callback | ZIMGroupJoinApplicationSentCallback | 操作的结果的回调。 |
详情
当一个群组的 joinMode 为 Auth 时,用户可以通过此方法申请加入群组。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
updateGroupBeInviteMode
public void updateGroupBeInviteMode(ZIMGroupBeInviteMode mode, std::string groupID, ZIMGroupBeInviteModeUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mode | ZIMGroupBeInviteMode | 被邀请入群验证模式。 |
| groupID | std::string | 群组ID。 |
| callback | ZIMGroupBeInviteModeUpdatedCallback | 更新操作的结果的回调。 |
详情
当一个群组被创建后,群主和管理员可以通过此方法更新邀请目标入群验证模式。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
更新操作的结果的回调。
queryGroupInfo
public void queryGroupInfo(const std::string groupID, ZIMGroupInfoQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string | 将要被查询群信息的群组ID。 |
| callback | ZIMGroupInfoQueriedCallback | 查询群组信息的结果的回调。 |
详情
查询一个已被创建的群组信息。
- 业务场景:需获取群组信息进行展示。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupInfoQueriedCallback] 回调可拿到查询群组信息的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群组信息的结果的回调。
queryGroupList
public void queryGroupList(ZIMGroupListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callback | ZIMGroupListQueriedCallback | 查询群列表的结果的回调。 |
详情
查询当前所有群列表。
- 业务场景:需要获取群列表进行展示。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupListQueriedCallback] 回调查询当前所有群列表的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群列表的结果的回调。
setGroupAttributes
public void setGroupAttributes(std::unordered_map<std::string, std::string> groupAttributes, std::string groupID, ZIMGroupAttributesOperatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupAttributes | std::unordered_map<std::string, std::string> | 群属性。 |
| groupID | std::string | 被设置群属性的groupID. |
| callback | ZIMGroupAttributesOperatedCallback | 设置群组属性的回调。 |
详情
当一个群组已存在时,所有该群用户可以该方法设置群属性。
- 业务场景:新增对群组描述的扩展字段信息,如群的家族、标签、行业类别等。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupAttributesOperatedCallback] 回调可拿到设置群属性的结果。
- 相关接口:可通过 [deleteGroupAttributes] 删除群属性,[queryGroupAttributes] 查询群属性,[queryAllGroupAttributes] 查询全部群属性。
- 支持版本:2.0.0 及以上。
- 使用限制:只有群成员才可设置群属性。
返回值
设置群组属性的回调。
deleteGroupAttributes
public void deleteGroupAttributes(std::vector<std::string> keys, const std::string groupID, ZIMGroupAttributesOperatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| keys | std::vector<std::string> | 欲删除的群属性的key。 |
| groupID | const std::string | 将要被删除群属性的群组ID。 |
| callback | ZIMGroupAttributesOperatedCallback | 删除群组属性的结果的回调。 |
详情
当一个群组已存在时,用户可以调用该方法删除群属性,该接口群主与群内成员均可调用。
- 业务场景:删除对群组描述的扩展字段信息。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupAttributesOperatedCallback] 回调可拿到删除群属性的结果。
- 相关接口:可通过 [setGroupAttributes] 设置群属性,[queryGroupAttributes] 查询群属性,[queryAllGroupAttributes] 查询全部群属性。
- 支持版本:2.0.0 及以上。
- 使用限制:只有群成员才可删除群属性。
返回值
删除群组属性的结果的回调。
queryGroupAttributes
public void queryGroupAttributes(std::vector<std::string> keys, const std::string groupID, ZIMGroupAttributesQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| keys | std::vector<std::string> | 欲查询的群属性的key。 |
| groupID | const std::string | 将要被查询群属性的群组ID。 |
| callback | ZIMGroupAttributesQueriedCallback | 查询群属性的结果的回调。 |
详情
当一个群组被创建后,可以通过此方法查询指定的群属性。
- 业务场景:需要查询指定群属性进行展示的场景。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并 [login] 登录之后。
- 相关回调:通过 [ZIMGroupAttributesQuriedCallback] 回调可拿到查询指定群属性的结果。
- 相关接口:[queryAllGroupAttributes] 查询所有群属性。
- 支持版本:2.0.0及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群属性的结果的回调。
queryGroupAllAttributes
public void queryGroupAllAttributes(const std::string groupID, ZIMGroupAttributesQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string | 将要被查询全部群属性的群组ID。 |
| callback | ZIMGroupAttributesQueriedCallback | 查询群组全部属性的结果的回调。 |
详情
当一个群组被创建后,可以通过此方法查询所有的群属性。
- 业务场景:需要查询所有群属性进行展示的场景。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupAttributesQuriedCallback] 回调可拿到查询所有群属性的结果。
- 相关接口:[queryGroupAttributes] 查询指定群属性。
- 支持版本:2.0.0 及以上。
返回值
查询群组全部属性的结果的回调。
setGroupMemberRole
public void setGroupMemberRole(int role, std::string forUserID, const std::string & groupID, ZIMGroupMemberRoleUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| role | int | 设置的群角色。 - 2: 管理员。 - 3: 普通成员。 - 其他值:可自定义群角色,权限与普通成员一致,建议取值大于 100。 |
| forUserID | std::string | 被设置群角色的用户ID。 |
| groupID | const std::string & | 将要被设置群角色的群组ID。 |
| callback | ZIMGroupMemberRoleUpdatedCallback | 设置群成员角色的结果的回调。 |
详情
当一个群组被创建后,用户可以通过该方法设置群成员角色。
- 业务场景:在多人群组中,需要对指定群成员角色进行设置。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberRoleUpdatedCallback] 回调可拿到设置群成员角色的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不可用。
- 注意事项:群主 role 为1 、管理员 role 为 2、普通成员 role 为 3。可调用该接口修改,role 不可修改为 1。如需自定义 role,建议将数值设置为 100 以后,其权限与普通成员一致。
返回值
设置群成员角色的结果的回调。
setGroupMemberNickname
public void setGroupMemberNickname(const std::string & nickname, const std::string & forUserID, const std::string& groupID, ZIMGroupMemberNicknameUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| nickname | const std::string & | 设置的成员昵称。 |
| forUserID | const std::string & | 被设置群昵称的用户ID。 |
| groupID | const std::string& | 被设置群成员昵称的群组ID。 |
| callback | ZIMGroupMemberNicknameUpdatedCallback | 设置群成员昵称的结果的回调。 |
详情
当一个群组被创建后,用户可以通过该方法设置群成员昵称。
- 业务场景:需要对群成员设置昵称。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberNicknameUpdatedCallback] 回调可拿到设置群成员昵称的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。群主可以修改自己和群内成员的昵称,群内成员只能修改自己的昵称。
- 注意事项:群成员昵称限制最大长度为 100,无特殊字符限制。
返回值
设置群成员昵称的结果的回调。
queryGroupMemberInfo
public void queryGroupMemberInfo(const std::string userID, const std::string groupID, ZIMGroupMemberInfoQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | const std::string | 被查询成员信息的用户ID。 |
| groupID | const std::string | 将要被查询成员信息的群组ID。 |
| callback | ZIMGroupMemberInfoQueriedCallback | 查询群成员信息的结果的回调。 |
详情
当一个群组被创建后,用户可以通过该方法查询指定群成员信息。
- 业务场景:需要获取指定群成员信息进行展示或交互。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberInfoQueriedCallback] 回调可拿到查询指定群成员信息的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群成员信息的结果的回调。
queryGroupMemberList
public void queryGroupMemberList(const std::string& groupID, ZIMGroupMemberQueryConfig config, ZIMGroupMemberListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string& | 将要被查询群成员列表的群组ID。 |
| config | ZIMGroupMemberQueryConfig | 群成员查询的配置。 |
| callback | ZIMGroupMemberListQueriedCallback | 查询群成员列表的回调。 |
详情
当一个群组被创建后,用户可以通过该方法查询群成员列表。
- 业务场景:需要获取指定群成员列表信息进行展示或交互。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberListQueriedCallback] 回调可拿到查询群成员列表的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群成员列表的回调。
queryGroupMemberMutedList
public void queryGroupMemberMutedList(const std::string& groupID, ZIMGroupMemberMutedListQueryConfig config, ZIMGroupMemberMutedListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string& | 将要被查询群禁言成员列表的群组ID。 |
| config | ZIMGroupMemberMutedListQueryConfig | 群禁言成员查询的配置。 |
| callback | ZIMGroupMemberMutedListQueriedCallback | 查询群禁言成员列表的回调。 |
详情
当一个群组被创建后,用户可以通过该方法查询群禁言成员列表。
- 业务场景:需要获取指定群禁言成员列表信息进行展示或交互。
- 调用时机:通过 [create] 创建 ZIM 实例并登录且加入群后可调用。
- 相关回调:通过 [ZIMGroupMembersMutedCallback] 回调可拿到查询群禁言成员列表的结果。
- 支持版本:2.14.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群禁言成员列表的回调。
queryGroupMemberCount
public void queryGroupMemberCount(const std::string & groupID, ZIMGroupMemberCountQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | const std::string & | 需要查询群人数的群的 ID。 |
| callback | ZIMGroupMemberCountQueriedCallback | 查询群人数的回调。 |
详情
用户仅需要展示群内人数且不需要拉取群成员列表时,可通过该接口获取群内人数。
- 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:[ZIMGroupMemberCountQueriedCallback]。
- 支持版本:2.2.0 及以上。
- 使用限制:该函数仅可查询用户当前已进入的群。
返回值
查询群人数的回调。
queryConversation
public void queryConversation(const std::string& conversationID, ZIMConversationType conversationType, ZIMConversationQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | const std::string& | 会话ID. |
| conversationType | ZIMConversationType | 会话类型。 |
| callback | ZIMConversationQueriedCallback | 会话查询的回调。 |
详情
该方法可以查询指定会话。
- 业务场景:需要得知指定会话的相关信息时,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationQueriedCallback]。
- 支持版本:2.8.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
返回值
查询会话的结果回调。
queryConversationList
public void queryConversationList(ZIMConversationQueryConfig config, ZIMConversationListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationQueryConfig | 会话查询的配置。 |
| callback | ZIMConversationListQueriedCallback | 会话查询的回调。 |
详情
该方法可以查询已登录用户的会话列表。
- 业务场景:登录后需要展示已有的消息会话,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationListQueriedCallback]。
- 相关接口:[deleteConversation] 删除会话;[clearConversationUnreadMessageCount] 清除会话未读数。
- 支持版本:2.0.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
- 注意事项:nextConversation 为查询消息的铆点,首次查询时可以传空,后续查询时可以将最早的一条 conversation 做为 nextconversation 来查询更早以前的会话,分页查询时,[ZIMConversationQueryConfig] 中的 count 填每次拉取的会话数量。
返回值
查询会话列表的结果回调。
queryConversationList
public void queryConversationList(ZIMConversationQueryConfig config, ZIMConversationFilterOption option, ZIMConversationListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationQueryConfig | 会话查询的配置。 |
| option | ZIMConversationFilterOption | 会话列表查询的过滤项。 |
| callback | ZIMConversationListQueriedCallback | 会话查询的回调。 |
详情
该方法可以按照过滤项查询已登录用户的会话列表。
- 业务场景:登录后需要展示已有的特定会话,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationListQueriedCallback]。
- 支持版本:2.17.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
- 注意事项:nextConversation 为查询消息的铆点,首次查询时可以传空,后续查询时可以将最早的一条 conversation 做为 nextconversation 来查询更早以前的会话,分页查询时,[ZIMConversationQueryConfig] 中的 count 填每次拉取的会话数量。
返回值
查询会话列表的结果回调。
queryConversationPinnedList
public void queryConversationPinnedList(const ZIMConversationQueryConfig & config, ZIMConversationPinnedListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMConversationQueryConfig & | 会话查询的配置。 |
| callback | ZIMConversationPinnedListQueriedCallback | 置顶会话列表查询的回调。 |
详情
该方法可以查询已登录用户的置顶会话列表。
- 业务场景:登录后需要展示已有的置顶消息会话,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 支持版本:2.8.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
- 注意事项:nextConversation 为查询消息的铆点,首次查询时可以传空,后续查询时可以将最早的一条 conversation 做为 nextConversation 来查询更早以前的会话,分页查询时,[ZIMConversationQueryConfig] 中的 count 填每次拉取的会话数量。
queryConversationTotalUnreadMessageCount
public void queryConversationTotalUnreadMessageCount(ZIMConversationTotalUnreadMessageCountQueryConfig config, ZIMConversationTotalUnreadMessageCountQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationTotalUnreadMessageCountQueryConfig | 会话未读消息总数查询的配置。 |
| callback | ZIMConversationTotalUnreadMessageCountQueriedCallback | 会话未读消息总数查询的回调。 |
详情
该方法可以按照配置项查询已登录用户的会话未读消息总数。
- 业务场景:登录后需要展示已有的特定会话未读消息总数,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationTotalUnreadMessageCountQueriedCallback]。
- 支持版本:2.17.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
返回值
会话未读消息总数查询的回调。
updateConversationPinnedState
public void updateConversationPinnedState(bool isPinned, const std::string & conversationID, ZIMConversationType conversationType, ZIMConversationPinnedStateUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| isPinned | bool | 会话是否置顶,true 为置顶,false 为取消置顶。 |
| conversationID | const std::string & | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| callback | ZIMConversationPinnedStateUpdatedCallback | 更新会话置顶的回调。 |
详情
该方法可以修改已登录用户指定会话的置顶状态。
- 业务场景:需要修改某个会话置顶状态时,可以调用该接口。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationPinnedStateUpdatedCallback]。
- 支持版本:2.8.0 及以上。
- 使用限制:登录后可用,登出后不可用。
deleteAllConversations
public void deleteAllConversations(ZIMConversationDeleteConfig config, ZIMConversationsAllDeletedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationDeleteConfig | 删除全部会话的配置。 |
| callback | ZIMConversationsAllDeletedCallback | 删除全部会话的回调。 |
详情
需要删除会话时,调用此接口,会话内成员均可调用该接口。
- 业务场景:在所有会话不再被需要时,若要将所有会话删除,此时可调用该接口实现。
- 调用时机/通知时机:需要删除会话时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
- 影响范围:若所删除会话包含未读消息会触发 [onConversationTotalUnreadMessageCountUpdated] 回调,调用成功在多端登录时,其他端会触发 [onConversationsAllDeleted] 回调。
- 相关回调:[ZIMConversationsAllDeletedCallback]
- 支持版本:2.12.0 及以上。
返回值
删除全部会话的结果回调。
deleteConversation
public void deleteConversation(const std::string& conversationID, ZIMConversationType conversationType, ZIMConversationDeleteConfig config, ZIMConversationDeletedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | const std::string& | 会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMConversationDeleteConfig | 删除会话的配置。 |
| callback | ZIMConversationDeletedCallback | 删除会话的回调。 |
详情
需要删除某个会话时,调用此接口,会话内成员均可调用该接口。
- 业务场景:在会话不再被需要时,若要将整个会话删除,此时可调用该接口实现。
- 调用时机/通知时机:需要删除会话时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
- 影响范围:调用成功会触发 deleteConversation 的 callback 回调。若所删除会话包含未读消息会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMConversationDeletedCallback]
- 支持版本:2.0.0 及以上。
返回值
删除会话的结果回调。
setConversationDraft
public void setConversationDraft(std::string draft, const std::string& conversationID, ZIMConversationType conversationType, ZIMConversationDraftSetCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| draft | std::string | 会话需要设置的文本消息草稿。 |
| conversationID | const std::string& | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。仅支持“单聊”和“群聊”会话。 |
| callback | ZIMConversationDraftSetCallback | 设置会话草稿的回调。 |
详情
需要为某个会话设置草稿时,调用此接口,会话内成员均可调用该接口。
- 业务场景:当需要临时保存用户正在编辑但尚未发送的文本消息,此时可调用该接口实现。
- 调用时机/通知时机:需要设置会话草稿时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
- 影响范围:调用成功会触发 [onConversationchanged] 回调。
- 相关回调:[ZIMConversationDraftSetCallback]
- 支持版本:2.14.0 及以上。
返回值
设置会话草稿的回调。
clearConversationTotalUnreadMessageCount
public void clearConversationTotalUnreadMessageCount(ZIMConversationTotalUnreadMessageCountClearedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callback | ZIMConversationTotalUnreadMessageCountClearedCallback | 清除全部会话未读数的回调。 |
详情
用于清除全部会话的未读数。
- 业务场景:当需要将全部会话未读数清零时,可调用该接口。
- 调用时机/通知时机:需要清除全部会话未读数时调用。
- 影响范围:调用该方法会触发总未读数更新的回调 [onConversationTotalUnreadMessageCountUpdated] 。
- 相关回调:[ZIMConversationTotalUnreadMessageCountClearedCallback]。
- 相关接口:[onConversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.12.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
清除全部会话未读数的回调。
clearConversationUnreadMessageCount
public void clearConversationUnreadMessageCount(const std::string& conversationID, ZIMConversationType conversationType, ZIMConversationUnreadMessageCountClearedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | const std::string& | 会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| callback | ZIMConversationUnreadMessageCountClearedCallback | 删除会话未读数的回调。 |
详情
用于清除当前用户目标会话的未读数。
- 业务场景:当由会话进入聊天页,此时该会话原先的消息未读数需要清零,可调用该接口。
- 调用时机/通知时机:需要清除目标未读数时调用。
- 影响范围:调用该方法会触发总未读数更新的回调 [conversationTotalUnreadMessageCountUpdated] ,会触发会话更新的回调 [conversationChanged] 。
- 相关回调:[ZIMConversationUnreadMessageCountClearedCallback]。
- 相关接口:[conversationTotalUnreadMessageCountUpdated]、[conversationChanged]。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
清除会话未读消息数的结果回调。
setConversationMark
public void setConversationMark(int markType, bool enable, const std::vector<ZIMConversationBaseInfo> & conversationInfos, ZIMConversationMarkSetCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| markType | int | 标记类型。数值范围为 [1, 20]。 |
| enable | bool | 会话标记操作。true 为设置标记,false 为取消标记。 |
| conversationInfos | const std::vector<ZIMConversationBaseInfo> & | 需要被修改会话标记的会话简要信息列表。最大可传入 100 个会话。 |
| callback | ZIMConversationMarkSetCallback | 设置会话标记的回调。 |
详情
该方法可以对会话设置标记。
- 业务场景:您需要基于对会话进行标记实现自定义的业务逻辑时。
- 默认值:会话标记默认为空。
- 调用时机:登录并存在有效的会话的前提下,若想要设置或取消设置目标会话的标记,调用该接口。
- 相关回调:[ZIMConversationMarkSetCallback]。
- 支持版本:2.17.0 及以上。
返回值
设置会话标记的回调。
setConversationNotificationStatus
public void setConversationNotificationStatus(ZIMConversationNotificationStatus status, const std::string& conversationID, ZIMConversationType conversationType, ZIMConversationNotificationStatusSetCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| status | ZIMConversationNotificationStatus | 会话通知状态。 |
| conversationID | const std::string& | 会话ID。当前仅支持为“群组”会话和“单聊”(需 2.14.0 版本或以上SDK)设置免打扰状态。 群聊会话时,conversationID 为群组的 groupID。 单聊会话时,conversationID 为对端用户的 userID。 |
| conversationType | ZIMConversationType | 会话类型。当前仅支持为“群组”会话和“单聊”(需 2.14.0 版本或以上SDK)设置免打扰状态。 |
| callback | ZIMConversationNotificationStatusSetCallback | 设置会话通知状态的回调。 |
详情
该方法可以选择目标会话的未读数是否在收到消息时更新,从而实现免打扰功能。
- 业务场景:用户选择消息免打扰,可以调用对应方法,未读数不增加。
- 默认值:消息免打扰默认不开启。
- 调用时机/通知时机:登录并存在目标会话的前提下,若想要开关目标会话的消息免打扰状态,调用该接口。
- 影响范围:使用该方法开启免打扰状态后,收到消息不会触发 [onConversationTotalUnreadMessageCountUpdated]。
- 相关回调:[ZIMConversationNotificationStatusSetCallback]。
- 相关接口:[onConversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
设置会话通知状态的结果回调。
cancelSendingMessage
public void cancelSendingMessage(ZIMMessage message, ZIMSendingMessageCancelConfig config, ZIMSendingMessageCancelledCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要取消发送的消息对象。 |
| config | ZIMSendingMessageCancelConfig | 取消发送消息的相关配置。 |
| callback | ZIMSendingMessageCancelledCallback | 取消发送消息的结果的回调。 |
详情
此方法可用于取消上传中的本地媒体文件消息的发送。
- 相关接口:[queryHistoryMessage]、[sendMessage]。
- 支持版本:2.22.0 及以上。
返回值
取消发送消息的结果的回调。
editMessage
public void editMessage(ZIMMessage message, ZIMMessageEditConfig config, ZIMMessageSendNotification notification, ZIMMessageEditedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要编辑的消息对象。 |
| config | ZIMMessageEditConfig | 编辑消息的相关配置。 |
| notification | ZIMMessageSendNotification | 编辑消息时的相关通知。 |
| callback | ZIMMessageEditedCallback | 消息的编辑结果的回调。 |
详情
此方法可用于单聊、群聊中编辑自己发送成功的消息。
- 业务场景:登录后需要向目标用户、目标群聊编辑自己发送成功的消息时,通过该接口编辑。
- 相关回调:[ZIMMessageSendNotification]、[ZIMMessageEditedCallback]、[onMessageEdited]、[onConversationChanged]、[onMessageRepliedInfoChanged]。
- 相关接口:[queryHistoryMessage]、[sendMessage]。
- 支持版本:2.20.0 及以上。
返回值
消息的编辑结果的回调。
pinMessage
public void pinMessage(ZIMMessage message, bool isPinned, ZIMMessagePinnedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要置顶或取消置顶的消息对象。 |
| isPinned | bool | 置顶或取消置顶。 |
| callback | ZIMMessagePinnedCallback | 置顶或取消置顶结果的回调。 |
详情
此方法可用于单聊、群聊中置顶或取消置顶自己发送成功的消息。
- 业务场景:登录后需要向目标用户、目标群聊置顶或取消置顶自己发送成功的消息时,通过该接口进行操作。
- 相关回调:[ZIMMessagePinnedCallback]、[onMessagePinStatusChanged]。
- 相关接口:[queryPinnedMessageList]、[sendMessage]。
- 支持版本:2.25.0 及以上。
返回值
消息的置顶或取消置顶结果的回调。
sendMessage
public void sendMessage(std::shared_ptr<ZIMMessage> message, std::string toConversationID, ZIMConversationType conversationType, ZIMMessageSendConfig config, ZIMMessageSendNotification notification, ZIMMessageSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | std::shared_ptr<ZIMMessage> | 要发送的消息,使用时,请根据消息类型修改 message 的类型。 例如,发送文本消息时,请使用 ZIMTextMessage。 |
| toConversationID | std::string | 消息需要发送的会话 ID。 |
| conversationType | ZIMConversationType | 会话类型,支持单聊、房间以及群聊。 |
| config | ZIMMessageSendConfig | 发送消息的相关配置。 |
| notification | ZIMMessageSendNotification | 发送消息时的相关通知。 |
| callback | ZIMMessageSentCallback | 消息的发送结果的回调。 |
详情
此方法可用于单聊、房间和群聊中发送消息。
- 业务场景:登录后需要向目标用户、目标、目标群聊发送消息时,通过该接口发送。
- 调用时机:登录后即可调用。
- 相关回调:[ZIMMessageSentCallback]、[ZIMMessageSendNotification]、[onReceivePeerMessage]、[onReceiveRoomMessage]、[onReceiveGroupMessage]、[onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
- 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]、[sendMediaMessage]
- 支持版本:2.4.0 及以上。
- 使用限制:两次发送消息的间隔要大于 100ms。登录后可用,注销后不可用。
sendMediaMessage
public void sendMediaMessage(std::shared_ptr<ZIMMediaMessage> message, const std::string & toConversationID, ZIMConversationType conversationType, ZIMMessageSendConfig config, ZIMMediaMessageSendNotification notification, ZIMMessageSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | std::shared_ptr<ZIMMediaMessage> | 要发送的消息,使用时,请根据多媒体消息类型,修改 message 的类型。例如,发送图片消息时,请使用 ZIMImageMessage。 |
| toConversationID | const std::string & | 消息接收方的会话 ID,支持单聊、房间以及群聊。 |
| conversationType | ZIMConversationType | 会话类型,支持单聊、房间以及群聊。 |
| config | ZIMMessageSendConfig | 发送消息的相关配置。 |
| notification | ZIMMediaMessageSendNotification | 发送媒体消息时的相关通知,包含上传进度等。 |
| callback | ZIMMessageSentCallback | 发送媒体消息的结果回调。 |
详情
该方法可用于发送单聊、房间以及群聊消息。
- 业务场景:登录后需要向目标用户、目标房间以及目标群聊发送媒体消息时,通过本接口发送。
- 调用时机:登录后可调用。
- 影响范围:使用该方法会触发消息接收方的 [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
public void insertMessageToLocalDB(std::shared_ptr<ZIMMessage> message, const std::string & conversationID, ZIMConversationType conversationType, const std::string & senderUserID, ZIMMessageInsertedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | std::shared_ptr<ZIMMessage> | 要插入的消息。 |
| conversationID | const std::string & | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| senderUserID | const std::string & | 该消息的发送者 ID。 |
| callback | ZIMMessageInsertedCallback | 插入消息的结果回调。 |
详情
该方法可以在客户端直接向本地 DB 插入一条消息。
- 业务场景:开发者可结合系统消息类型,在客户端将回调通知(例如:邀请某人进群、把某人移出群等),转为系统消息类型,插入本地 DB,以达到系统提示的效果。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMMessageInsertedCallback]。
- 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]。
- 支持版本:2.4.0 及以上。
- 使用限制: 不支持插入“信令”消息。如需插入“房间”消息,请将 SDK 升级到 2.13.0 及以上。
返回值
插入消息的结果。
clearLocalFileCache
public void clearLocalFileCache(ZIMFileCacheClearConfig config, ZIMFileCacheClearedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMFileCacheClearConfig | 清理缓存的配置。 |
| callback | ZIMFileCacheClearedCallback | 清理缓存的结果的返回。 |
详情
该方法用于清理当前用户本地消息缓存。
- 业务场景:当需要清理本地消息缓存时,调用该接口。
- 相关回调:[ZIMFileCacheClearedCallback]。
- 支持版本:2.15.0 及以上。
- 使用限制:登录后生效,登出后失效。
queryLocalFileCache
public void queryLocalFileCache(ZIMFileCacheQueryConfig config, ZIMFileCacheQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMFileCacheQueryConfig | 查询缓存的配置。 |
| callback | ZIMFileCacheQueriedCallback | 查询缓存的结果的返回。 |
详情
该方法用于查询当前用户本地消息缓存。
- 业务场景:当需要查询本地消息缓存时,调用该接口。
- 相关回调:[ZIMFileCacheQueriedCallback]。
- 支持版本:2.15.0 及以上。
- 使用限制:登录后生效,登出后失效。
exportLocalMessages
public void exportLocalMessages(String folderPath, ZIMMessageExportConfig config, ZIMMessageExportingProgress progress, ZIMMessageExportedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| folderPath | String | 请填入文件保存地址,路径为绝对路径。 |
| config | ZIMMessageExportConfig | 导出消息的配置。 |
| progress | ZIMMessageExportingProgress | 导出消息进度的返回。 |
| callback | ZIMMessageExportedCallback | 导出消息结果的返回。 |
详情
该方法用于导出当前用户本地消息。
- 业务场景:当需要导出消息时,调用该接口。
- 相关回调:[ZIMMessageExportedCallback]
- 支持版本:2.15.0 及以上。
- 使用限制:登录后生效,登出后失效。
- 注意事项:本接口导出的消息文件名称为 zim_backup_msg_text。如果多次调用本接口时,传入的路径相同,ZIM SDK 会自行将旧的 zim_backup_msg_text 文件更名,以确保最新导出的文件名称为 zim_backup_msg_text。
importLocalMessages
public void importLocalMessages(String folderPath, ZIMMessageImportConfig config, ZIMMessageImportingProgress progress, ZIMMessageImportedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| folderPath | String | 请填入导入文件所在目录的地址,路径为绝对路径,不包括文件名。 |
| config | ZIMMessageImportConfig | 导入消息的配置。 |
| progress | ZIMMessageImportingProgress | 导出消息进度的返回。 |
| callback | ZIMMessageImportedCallback | 导入消息结果的返回。 |
详情
该方法用于导入当前用户本地消息。
- 业务场景:当需要导入消息时,调用该接口。
- 相关回调:[ZIMMessageImportedCallback]
- 支持版本:2.15.0 及以上。
- 使用限制:登录后生效,登出后失效。
- 注意事项:ZIM SDK 默认读取目录中名称为 zim_backup_msg_text 的文件。如果该路径下存在多份备份,请确认待导入的文件名称是否为 zim_backup_msg_text。
sendConversationMessageReceiptRead
public void sendConversationMessageReceiptRead(String conversationID, ZIMConversationType conversationType, ZIMConversationMessageReceiptReadSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | String | 会话的ID。 |
| conversationType | ZIMConversationType | 会话类型,仅支持 Peer 类型。 |
| callback | ZIMConversationMessageReceiptReadSentCallback | 设置会话已读回调。 |
详情
设置会话所有已接收的回执已读。
- 业务场景:设置整个会话所有已接收的回执消息已读,会话里消息回执的发送者会从 ZIMEventHandler 收到 [onConversationMessageReceiptChanged] 的回调。
- 调用时机/通知时机:登录后即可调用,建议在进入消息列表页面之前调用,在消息列表页面内建议调用 [sendMessageReceiptsRead] 对需要设置已读的消息批量设置。
- 相关回调:[ZIMConversationMessageReceiptReadSentCallback]。
- 相关接口:[sendMessageReceiptsRead] 、[sendMessage] 。
- 支持版本:2.5.0及以上。
- 注意事项:只允许单聊的会话使用。
返回值
设置会话已读回调。
sendMessageReceiptsRead
public void sendMessageReceiptsRead(const std::vector<std::shared_ptr<ZIMMessage>> &messageList, messageList, const std::string & conversationID, ZIMConversationType conversationType, ZIMMessageReceiptsReadSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> &messageList, | 要设置已读的消息列表,所含消息不能超过 10 条。 |
| conversationID | const std::string & | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| callback | ZIMMessageReceiptsReadSentCallback | 设置消息已读的结果回调。 |
详情
该方法可以设置一批消息的回执变成已读。
- 业务场景:开发者可通过这个方法,设置一批带回执的消息已经被读了。发送端如果在线,则会收到 [onMessageReceiptChanged] 的回调。
- 调用时机:登录后可调用。建议在消息列表页对需要设置已读的消息设置。不建议和 [sendConversationMessageReceiptRead] 一起混用。
- 相关回调:[ZIMMessageReceiptsReadSentCallback]。
- 相关接口:[sendMessage]。
- 支持版本:2.5.0 及以上。
- 使用限制:仅支持对收到的,且回执状态为 PROCESSING 的消息设置。
返回值
设置消息已读的结果回调。
queryMessageReceiptsInfo
public void queryMessageReceiptsInfo(const std::vector<std::shared_ptr<ZIMMessage>> &messageList, messageList, const std::string & conversationID, ZIMConversationType conversationType, ZIMMessageReceiptsInfoQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> &messageList, | 要查询的消息列表。 |
| conversationID | const std::string & | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| callback | ZIMMessageReceiptsInfoQueriedCallback | 查询消息回执信息的结果回调。 |
详情
该方法可以查询一批消息的回执信息,包括状态、未读用户数和已读用户数。
- 业务场景:如果需要查询消息的回执状态、未读用户数和已读用户数,可以调用此接口。
- 调用时机:登录后可调用。如果需要查询详细的成员列表,则可以通过接口[queryGroupMessageReceiptReadMemberList] 或[queryGroupMessageReceiptUnreadMemberList] 查询。
- 相关回调:[ZIMMessageReceiptsInfoQueriedCallback]。
- 相关接口:[queryGroupMessageReceiptReadMemberList] , [queryGroupMessageReceiptUnreadMemberList]。
- 支持版本:2.5.0 及以上。
- 使用限制:仅支持查询回执状态不为 NONE 的消息。
返回值
查询消息回执信息的结果回调。
queryGroupMessageReceiptReadMemberList
public void queryGroupMessageReceiptReadMemberList(std::shared_ptr<ZIMMessage> message, const std::string & groupID, ZIMGroupMessageReceiptMemberQueryConfig config, ZIMGroupMessageReceiptMemberListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | std::shared_ptr<ZIMMessage> | 要查询的消息。 |
| groupID | const std::string & | 群组 ID。 |
| config | ZIMGroupMessageReceiptMemberQueryConfig | 查询的配置。 |
| callback | ZIMGroupMessageReceiptMemberListQueriedCallback | 查询具体已读成员列表的结果回调。 |
详情
该方法可以查询一个群某一条自己发的消息的具体已读成员列表。
- 业务场景:开发者可通过这个方法,查询一条自己发的消息的具体已读成员列表。
- 调用时机:登录后可调用。
- 相关回调:[ZIMGroupMessageReceiptMemberListQueriedCallback]。
- 相关接口:如果需要查询某一条消息的回执状态或只需要查询已读/未读数,通过接口 [queryMessageReceiptsInfo] 查询。
- 支持版本:2.5.0 及以上。
- 使用限制:仅支持查询本端发送的消息,且消息的回执状态不为 NONE。如果该用户不在群组,或已被踢出群组,则无法查到对应的成员列表。
返回值
查询具体已读成员列表的结果回调。
queryGroupMessageReceiptUnreadMemberList
public void queryGroupMessageReceiptUnreadMemberList(std::shared_ptr<ZIMMessage> message, const std::string & groupID, ZIMGroupMessageReceiptMemberQueryConfig config, ZIMGroupMessageReceiptMemberListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | std::shared_ptr<ZIMMessage> | 要查询的消息。 |
| groupID | const std::string & | 群组 ID。 |
| config | ZIMGroupMessageReceiptMemberQueryConfig | 查询的配置。 |
| callback | ZIMGroupMessageReceiptMemberListQueriedCallback | 查询具体未读成员列表的的结果回调。 |
详情
该方法可以查询一个群某一条自己发的消息的具体未读成员列表。
- 业务场景:开发者可通过这个方法,查询一条自己发的消息的具体未读成员列表。
- 调用时机:登录后可调用。
- 相关回调:[ZIMGroupMessageReceiptMemberListQueriedCallback]。
- 相关接口:如果需要查询某一条消息的回执状态或只需要查询已读/未读数,通过接口 [queryMessageReceiptsInfo] 查询。
- 支持版本:2.5.0 及以上。
- 使用限制:仅支持查询本端发送的消息,且消息的回执状态不为 NONE。如果该用户不在群组,或已被踢出群组,则无法查到对应的成员列表。
返回值
查询具体未读成员列表的的结果回调。
searchLocalMessages
public void searchLocalMessages(const std::string & conversationID, ZIMConversationType conversationType, const ZIMMessageSearchConfig & config, ZIMMessagesSearchedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | const std::string & | 要搜索的本地消息的会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | const ZIMMessageSearchConfig & | 搜索本地消息的配置。 |
| callback | ZIMMessagesSearchedCallback | 搜索本地消息的的结果的返回。 |
详情
该方法用于搜索本地消息。
- 业务场景:当需要通过关键字等条件搜索以往的本地消息,可以调用该接口来分页搜索本地消息。
- 相关回调:[ZIMMessagesSearchedCallback]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。
返回值
搜索本地消息的的结果的返回。
searchLocalConversations
public void searchLocalConversations(const ZIMConversationSearchConfig & config, ZIMConversationsSearchedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMConversationSearchConfig & | 全局搜索会话的配置。 |
| callback | ZIMConversationsSearchedCallback | 搜索会话的的结果的返回。 |
详情
该方法用于基于本地消息搜索本地会话。
- 业务场景:当需要通过关键字等条件进行全局搜索会话时,可以调用该接口进行搜索。
- 调用时机/通知时机:需要通过关键字等条件进行搜索会话时调用。
- 相关回调:[ZIMConversationsSearchedCallback]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。
返回值
搜索会话的的结果的返回。
searchGlobalLocalMessages
public void searchGlobalLocalMessages(const ZIMMessageSearchConfig & config, ZIMMessagesGlobalSearchedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | const ZIMMessageSearchConfig & | 全局搜索本地消息的配置。 |
| callback | ZIMMessagesGlobalSearchedCallback | 全局搜索本地消息的的结果的返回。 |
详情
该方法用于全局搜索本地消息。
- 业务场景:当需要通过关键字等条件进行全局搜索以往的本地消息,可以调用该接口按会话进行分组来搜索本地消息。
- 相关回调:[ZIMMessagesGlobalSearchedCallback]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。
返回值
全局搜索本地消息的的结果的返回。
replyMessage
public void replyMessage(std::shared_ptr<ZIMMessage> message, std::shared_ptr<ZIMMessage> toOriginalMessage, ZIMMessageSendConfig config, ZIMMessageSendNotification notification, ZIMMessageSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | std::shared_ptr<ZIMMessage> | 要发送的消息,使用时,请根据消息类型修改 message 的类型。 例如,发送文本消息时,请使用 ZIMTextMessage。仅支持:ZIMTextMessage(1)、ZIMImageMessage(11)、ZIMFileMessage(12)、ZIMAudioMessage(13)、ZIMVideoMessage(14)、ZIMCombineMessage(100)、ZIMCustomMessage(200)。 |
| toOriginalMessage | std::shared_ptr<ZIMMessage> | 引用的源消息。仅支持:ZIMTextMessage(1)、ZIMImageMessage(11)、ZIMFileMessage(12)、ZIMAudioMessage(13)、ZIMVideoMessage(14)、ZIMCombineMessage(100)、ZIMCustomMessage(200)。 |
| config | ZIMMessageSendConfig | 发送消息的相关配置。 |
| notification | ZIMMessageSendNotification | 发送消息时的相关通知。 |
| callback | ZIMMessageSentCallback | 消息的发送结果的回调。 |
详情
此方法可用于单聊、群聊中发送回复消息。
- 业务场景:登录后需要向目标用户、目标群聊发送回复消息时,通过该接口发送。
- 调用时机:登录后即可调用。
- 相关回调:[onReceivePeerMessage]、[onReceiveGroupMessage]。
- 相关接口:[queryHistoryMessage]、[sendMessage]、[sendMediaMessage]。
- 支持版本:2.17.0 及以上。
- 使用限制:两次发送消息的间隔要大于 100ms。登录后可用,注销后不可用。
queryMessageRepliedList
public void queryMessageRepliedList(ZIMMessage message, ZIMMessageRepliedListQueryConfig config, ZIMMessageRepliedListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 传入回复列表中的某一条消息。 |
| config | ZIMMessageRepliedListQueryConfig | 查询回复列表的配置。 |
| callback | ZIMMessageRepliedListQueriedCallback | 查询结果的回调。 |
详情
查询回复消息列表。
- 业务场景:开发者可通过这个方法,查询整个回复消息树。
- 调用时机:登录后可调用。
- 支持版本:2.17.0 及以上。
返回值
查询结果的回调。
sendMediaMessage
public void sendMediaMessage(ZIMMediaMessage * message, const std::string& toConversationID, ZIMConversationType conversationType, ZIMMessageSendConfig config, ZIMMediaUploadingProgress progress, ZIMMessageSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMediaMessage * | 要发送的消息。 |
| toConversationID | const std::string& | 消息接收方的会话 ID,支持单聊、房间以及群聊。 |
| conversationType | ZIMConversationType | 会话类型,支持单聊、房间以及群聊。 |
| config | ZIMMessageSendConfig | 发送消息的相关配置。 |
| progress | ZIMMediaUploadingProgress | 发送媒体消息的进度回调。 |
| callback | ZIMMessageSentCallback | 发送媒体消息的结果回调。 |
详情
该方法可用于发送单聊、房间以及群聊消息。
- 业务场景:登录后需要向目标用户、目标房间以及目标群聊发送媒体消息时,通过本接口发送。
- 调用时机/通知时机:登录后可调用。
- 影响范围:使用该方法会触发消息接收方的 [onReceivePeerMessage] / [onReceiveRoomMessage] / [onReceiveGroupMessage] 回调,会触发发送方和接收方的 [onConversationChanged] 回调,若该消息所在会话未设置消息免打扰,会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMMessageSentCallback]、[ZIMMediaUploadingProgress]、[onReceivePeerMessage]、[onReceiveRoomMessage]、[onReceiveGroupMessage]、 [onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
- 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]
- 支持版本:2.1.0 及以上。
- 使用限制:不得超过10条/s,登录后可用,登出后不可用。
- 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。若向房间发送媒体消息,则不支持离线推送,也不支持回调 [onConversationChanged] 和 [onConversationTotalUnreadMessageCountUpdated]。
返回值
发送媒体消息的结果。
downloadMediaFile
public void downloadMediaFile(ZIMMediaMessage * message, ZIMMediaFileType fileType, ZIMMediaDownloadConfig config, ZIMMediaDownloadingProgress progress, ZIMMediaDownloadedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMediaMessage * | 要下载的媒体文件消息。 |
| fileType | ZIMMediaFileType | 媒体文件类型。 |
| config | ZIMMediaDownloadConfig | 下载配置对象。 |
| progress | ZIMMediaDownloadingProgress | 下载媒体文件的进度回调。 |
| callback | ZIMMediaDownloadedCallback | 下载媒体文件的结果回调。 |
详情
该方法可用于下载媒体文件的内容,包含图片消息原图、大图、缩略图,文件消息,音频消息,视频消息以及其首帧图。
- 业务场景:用户收到消息之后,若该消息包含媒体文件,则可以调用本接口下载其内容。
- 调用时机/通知时机:登录后且收到包含媒体文件的消息之后可调用。
- 相关回调:[ZIMMediaDownloadedCallback]、[ZIMMediaDownloadingProgress]。
- 支持版本:2.19.0 及以上。
- 使用限制:若下载的是外部 URL,则最大只能下载 200MB 的资源,如需配置,请联系 ZEGO 技术支持。
返回值
下载媒体文件的结果。
downloadMediaFile
public void downloadMediaFile(ZIMMediaMessage * message, ZIMMediaFileType fileType, ZIMMediaDownloadingProgress progress, ZIMMediaDownloadedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMediaMessage * | 要下载的媒体消息。 |
| fileType | ZIMMediaFileType | 媒体文件类型。 |
| progress | ZIMMediaDownloadingProgress | 下载媒体文件的进度回调。 |
| callback | ZIMMediaDownloadedCallback | 下载媒体文件的结果回调。 |
详情
该方法可用于下载媒体消息内容,包含图片消息原图、大图、缩略图,文件消息,音频消息,视频消息以及其首帧图。
- 业务场景:用户收到消息之后,若该消息为媒体消息,则可以调用本接口下载其内容。
- 调用时机/通知时机:登录后且收到媒体消息之后可调用。
- 相关回调:[ZIMMediaDownloadedCallback]、[ZIMMediaDownloadingProgress]。
- 支持版本:2.1.0 及以上。
- 使用限制:若下载的是外部 URL,则最大只能下载 200MB 的资源,如需配置,请联系 ZEGO 技术支持。
- 注意事项:若 [sendMediaMessage] 发送的是网络 URL,则 2.9.0 版本以前的 SDK 无法通过此接口下载。
返回值
下载媒体文件的结果。
sendPeerMessage
public void sendPeerMessage(ZIMMessage * message, const std::string& toUserID, ZIMMessageSendConfig config, ZIMMessageSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage * | 要发送的消息。 |
| toUserID | const std::string& | 消息接收方的用户 ID。 |
| config | ZIMMessageSendConfig | 发送单聊消息的相关配置。 |
| callback | ZIMMessageSentCallback | 消息的发送结果的回调。 |
详情
该方法用于发送单聊消息。
- 业务场景:登录后需要向目标用户发送单聊消息时,通过本接口发送聊天消息。
- 调用时机/通知时机:登录后可调用。
- 影响范围:使用该方法会触发消息接收方的 [receivePeerMessage] 回调,会触发发送方和接收方的 [onConversationChanged] 回调,若该消息所在会话未设置消息免打扰,会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMMessageSentCallback]、[receivePeerMessage]、[onConversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
- 相关接口:[queryHistoryMessage]、[deleteMessageByConversationID]、[deleteMessage]
- 支持版本:2.0.0 及以上。
- 使用限制:不得超过10条/s,登录后可用,登出后不可用。
- 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。
返回值
发送消息的结果的回调。
sendRoomMessage
public void sendRoomMessage(ZIMMessage * message, const std::string& toRoomID, ZIMMessageSendConfig config, ZIMMessageSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage * | 要发送的消息。 |
| toRoomID | const std::string& | 消息接收方的房间 ID。 |
| config | ZIMMessageSendConfig | 发送房间消息的相关配置。 |
| callback | ZIMMessageSentCallback | 消息的发送结果的回调。 |
详情
调用此函数后会指定房间内发送消息,同时将收到 [ZIMMessageSentCallback] 回调,可用于判断是否发送成功。
- 业务场景:在进行房间内多人聊天时的场景时需要用到该功能。
- 调用时机:初始化 ZIM,登录成功并创建或加入房间后,用户需要发送房间消息时调用该方法。
- 支持版本:1.1.0 及以上。
- 注意事项:发送时需要注意 [ZIMMessageSentCallback] 回调,如果因为某些原因发送失败可以通过该回调用于判断。
返回值
消息的发送结果的回调。
sendGroupMessage
public void sendGroupMessage(ZIMMessage * message, const std::string& toGroupID, ZIMMessageSendConfig config, ZIMMessageSentCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage * | 要发送的消息。 |
| toGroupID | const std::string& | 消息接收方的用户 ID。 |
| config | ZIMMessageSendConfig | 发送单聊消息的相关配置。 |
| callback | ZIMMessageSentCallback | 消息的发送结果的回调。 |
详情
需要发送群聊消息时,调用该接口。
- 业务场景:发送群消息时,可使用该接口。
- 调用时机/通知时机:需要发送群聊消息时调用此接口。
- 影响范围:使用该方法会触发消息接收方的 onReceiveGroupMessage 回调,会触发发送方和接收方的 onConversationChanged 回调,若该消息所在会话未设置消息免打扰,会触发 onConversationTotalUnreadMessageCountUpdated 回调。
- 相关回调:[ZIMMessageSentCallback]、[onReceiveGroupMessage]、[onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
- 相关接口:[queryHistoryMessage]、[deleteMessage]
- 支持版本:2.0.0 及以上。
- 使用限制:不得超过10条/s,登录后可用,登出后不可用。
- 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。
返回值
发送消息的结果的回调。
queryHistoryMessage
public void queryHistoryMessage(const std::string& conversationID, ZIMConversationType conversationType, ZIMMessageQueryConfig config, ZIMMessageQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | const std::string& | 被查询历史消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMMessageQueryConfig | 查询历史消息的配置。 |
| callback | ZIMMessageQueriedCallback | 查询历史消息的的结果的返回。 |
详情
该方法用于查询历史消息。
- 业务场景:当需要获得以往的历史消息,可以调用该接口来分页查询历史消息。
- 调用时机/通知时机:需要查询历史消息时调用。
- 相关回调:[ZIMMessageQueriedCallback]
- 支持版本:2.0.0 及以上。
- 使用限制:登录后生效,登出后失效。默认房间场景(conversationType=1)下不开通离线消息缓存,如需开通请联系对应技术支持。
返回值
查询历史消息的结果回调。
queryPinnedMessageList
public void queryPinnedMessageList(const std::string& conversationID, ZIMConversationType conversationType, ZIMMessageQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | const std::string& | 被查询置顶消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| callback | ZIMMessageQueriedCallback | 查询历史消息的的结果的返回。 |
详情
该方法用于查询置顶消息列表。
- 业务场景:当需要展示置顶消息时,可以调用该接口来查询会话内置顶消息列表。
- 调用时机:需要查询置顶消息时调用。
- 相关回调:[ZIMPinnedMessageListQueriedCallback]
- 支持版本:2.25.0 及以上。
- 使用限制:已登录 SDK 且支持消息置顶功能才能使用。
返回值
查询置顶消息的结果回调。
queryMessages
public void queryMessages(std::vector<long> messageSeqs, std::string conversationID, ZIMConversationType conversationType, ZIMMessageQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| messageSeqs | std::vector<long> | 查询的消息seq列表。 |
| conversationID | std::string | 被查询消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| callback | ZIMMessageQueriedCallback | 查询消息的的结果的返回。 |
详情
根据消息seq列表查询一批消息。
- 业务场景:在聊天页面跳转到回复消息引用的源消息位置。
- 支持版本:2.17.0 及以上。
返回值
查询消息的的结果的返回。
deleteAllConversationMessages
public void deleteAllConversationMessages(ZIMMessageDeleteConfig config, ZIMConversationMessagesAllDeletedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMMessageDeleteConfig | 删除消息的配置。 |
| callback | ZIMConversationMessagesAllDeletedCallback | 删除全部会话的全部消息的结果的结果回调。 |
详情
该方法实现了删除所有会话的所有消息的功能。
- 业务场景:用户需要将所有消息删除时,可用此方法,此方法不会将会话删除。
- 调用时机/通知时机:需要删除所有会话的所有消息时调用。
- 影响范围:调用该接口触发 [onMessageDeleted] 回调,若此时存在未读的消息,则会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMConversationMessagesAllDeletedCallback]、[onMessageDeleted]、[onConversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.14.0 及以上。
- 使用限制:登录后才能使用。
- 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。
返回值
删除全部会话的全部消息的结果的结果回调。
queryCombineMessageDetail
public void queryCombineMessageDetail(const std::shared_ptr<ZIMCombineMessage> & message, ZIMCombineMessageDetailQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | const std::shared_ptr<ZIMCombineMessage> & | 需要被拉取子消息的合并消息。 |
| callback | ZIMCombineMessageDetailQueriedCallback | 查询合并消息详情的回调参数。 |
详情
该方法用于查询合并消息下具体有哪些子消息。
- 业务场景:当需要获得合并消息下具体有哪些子消息,可以调用该接口来查询。
- 调用时机/通知时机:需要查询合并消息下具体有哪些子消息时调用。
- 支持版本:2.14.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
合并消息详情拉取结果。
revokeMessage
public void revokeMessage(std::shared_ptr<ZIMMessage> message, const ZIMMessageRevokeConfig & config, ZIMMessageRevokedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | std::shared_ptr<ZIMMessage> | 需要被撤回的消息。 |
| config | const ZIMMessageRevokeConfig & | 撤回消息的配置。 |
| callback | ZIMMessageRevokedCallback | 撤回消息的结果的返回。 |
详情
该方法实现了撤回消息的功能。该接口只能撤回 2 分钟内的消息,如需撤回更早之前的消息,请联系技术支持。
- 业务场景:用户需要撤回某条消息,当用户不想让其他用户看到该信息时,可用此方法撤回。
- 影响范围:若撤回的消息为会话的最新一条消息,会触发 [conversationChanged] 回调,若此条消息未读,则会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[receiveMessageRevoked]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.5.0 及以上。
- 使用限制:登录后才能使用。如需群主撤回群内其他成员消息,需要使用 2.9.0 及以上版本。
- 注意事项:不支持房间消息撤回。
返回值
撤回消息的结果回调。
deleteMessages
public void deleteMessages(std::vector<ZIMMessage *> messageList, const std::string& conversationID, ZIMConversationType conversationType, ZIMMessageDeleteConfig config, ZIMMessageDeletedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| messageList | std::vector<ZIMMessage *> | 被删除的消息列表。 |
| conversationID | const std::string& | 被删除消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMMessageDeleteConfig | 删除消息的配置。 |
| callback | ZIMMessageDeletedCallback | 删除消息的结果的返回。 |
详情
该方法实现了删除消息的功能。
- 业务场景:用户需要删除某条消息,当用户无需展示某条消息时,可用此方法删除。
- 调用时机/通知时机:需要删除消息时调用。
- 影响范围:若删除的消息为会话的最新一条消息,会触发 [conversationChanged] 回调,若此条消息未读,则会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMMessageDeletedCallback]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后才能使用。
- 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。
返回值
删除消息的结果回调。
addMessageReaction
public void addMessageReaction(std::string reactionType, std::shared_ptr<ZIMMessage> message, ZIMMessageReactionAddedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| reactionType | std::string | 表态类型,由您定义,长度上限为 32 字节。 |
| message | std::shared_ptr<ZIMMessage> | 需要被表态的消息。 |
| callback | ZIMMessageReactionAddedCallback | 添加消息表态的结果回调。 |
详情
消息表态,是指用户对消息的反应。一般可用于对单聊或群聊的消息添加或删除表情,也可用于发起群组投票、确认群组结果等操作。
- 业务场景:用户需要对某条消息进行表态,例如点赞,可用此方法进行表态。
- 相关回调:若表态成功,则会触发 [onMessageReactionsChanged] 回调;若表态的消息为会话的最新一条消息,成功后还会触发 [onConversationChanged] 回调。
- 支持版本:2.10.0 及以上。
- 使用限制:登录后才能使用。且仅支持单聊和群聊的消息表态。
- 注意事项:不支持房间消息表态。
返回值
增加消息表态的结果回调。
deleteMessageReaction
public void deleteMessageReaction(std::string reactionType, std::shared_ptr<ZIMMessage> message, ZIMMessageReactionDeletedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| reactionType | std::string | 表态类型,必须为本端用户所作的表态类型。 |
| message | std::shared_ptr<ZIMMessage> | 需要被删除表态的消息。 |
| callback | ZIMMessageReactionDeletedCallback | 撤回消息的结果的返回。 |
详情
删除本端添加的表态。
- 业务场景:用户需要对某条已表态的消息进行表态删除,可用此方法。
- 相关回调:若删除成功,则会触发 [onMessageReactionsChanged] 回调;若相关消息为会话的最新一条消息,成功后还会触发 [onConversationChanged] 回调。
- 支持版本:2.10.0 及以上。
- 使用限制:登录后才能使用。且仅支持单聊和群聊的消息表态
- 注意事项:不支持房间消息表态操作。
返回值
删除消息表态的结果回调。
queryMessageReactionUserList
public void queryMessageReactionUserList(const std::shared_ptr<ZIMMessage> & message, const ZIMMessageReactionUserQueryConfig & config, ZIMMessageReactionUserListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | const std::shared_ptr<ZIMMessage> & | 需要被拉取表态用户详情的消息。 |
| config | const ZIMMessageReactionUserQueryConfig & | 拉取表态用户配置。 |
| callback | ZIMMessageReactionUserListQueriedCallback | 拉取表态用户返回的结果。 |
详情
该方法用于查询消息某个表态下的具体用户信息。
- 业务场景:当需要获得消息某个表态下的具体用户信息,可以调用该接口来分页查询表态用户消息。
- 调用时机/通知时机:需要查询表态用户信息时调用。
- 支持版本:2.10.0 及以上。
- 使用限制:登录后生效,登出后失效。不支持查询房间消息的表态详情。
返回值
消息表态用户详情拉取结果。
deleteAllMessage
public void deleteAllMessage(const std::string& conversationID, ZIMConversationType conversationType, ZIMMessageDeleteConfig config, ZIMMessageDeletedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | const std::string& | 将要被删除消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMMessageDeleteConfig | 删除会话配置。 |
| callback | ZIMMessageDeletedCallback | 通过会话ID删除消息的结果的返回。 |
详情
当你需要删除目标会话下的所有消息时,调用该方法。
- 业务场景:如想要实现一个群设置页面的清空当前会话下的聊天信息,可调用该接口。
- 调用时机/通知时机:目标会话存在、并且用户属于此会话的一员。
- 影响范围:触发 [conversationChanged] 回调,若存在未读消息,则会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMMessageDeletedCallback]。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后生效,登出后失效。
- 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。
返回值
删除消息的结果的返回。
updateMessageLocalExtendedData
public void updateMessageLocalExtendedData(const std::string & localExtendedData, const std::shared_ptr<ZIMMessage> & message, ZIMMessageLocalExtendedDataUpdatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| localExtendedData | const std::string & | 仅本端可见的消息拓展字段,可附带额外的信息存储到本地,目前长度的限制是 128K。如有特殊需求,可联系 ZEGO 技术支持进行配置。 |
| message | const std::shared_ptr<ZIMMessage> & | 需要更新的消息体。 |
| callback | ZIMMessageLocalExtendedDataUpdatedCallback | 修改本地扩展字段的回调函数。 |
详情
在用户登录后,调用该接口可以更新消息本地扩展字段。
- 调用时机/通知时机:用户登录后。
- 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:[ZIMMessageLocalExtendedDataUpdatedCallback]。
- 支持版本:2.9.0 及以上。
返回值
修改用户扩展字段的回调结果。
createRoom
public void createRoom(const ZIMRoomInfo & roomInfo, ZIMRoomCreatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomInfo | const ZIMRoomInfo & | 将要被创建的房间的配置信息。 |
| callback | ZIMRoomCreatedCallback | 创建房间的结果的回调。 |
详情
用户可以通过该接口,创建且加入房间,其他用户可通过 [joinRoom] 加入此房间。
- 业务场景:需要创建多人聊天场景时,可通过该接口创建并加入房间。
- 调用时机:登录后可调用。
- 相关回调:通过 [onRoomCreated] 回调可拿到创建房间的结果。
- 相关接口:可通过 [joinRoom] 加入房间,[leaveRoom] 离开房间。
- 支持版本:1.1.0 及以上。
- 注意事项:当所有人都离开房间后,此房间将被自动销毁,一个用户最多同时在 5 个房间内。 如果房间已存在,调用此接口将会出错,具体请参考返回的错误码处理。
queryRoomMembers
public void queryRoomMembers(const std::vector\<std::string\> & userIDs, const std::string & roomID, ZIMRoomMembersQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | 需要查询的用户 ID 列表。最多 10 名用户。 |
| roomID | const std::string & | 指定房间的房间 ID。 |
| callback | ZIMRoomMembersQueriedCallback | 查询房间用户信息的回调。 |
详情
该方法可以查询指定房间中最多 10 名用户的信息。
- 业务场景:需要得知指定房间内的用户信息时,这时可以调用该接口来获得数据源。可以确认用户是否在房间中。
- 调用时机/通知时机:登录后可调用。
- 支持版本:2.8.0 及以上。
- 使用限制:登录后可用,登出后不可用,一次最多查询 10 名用户。
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)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| attributes | const std::unordered_map<std::string, std::string> & | 欲设置的房间成员属性。 |
| userIDs | const std::vector<std::string> & | 批量设置的 userID 列表。 |
| roomID | const std::string & | 房间 ID。 |
| config | ZIMRoomMemberAttributesSetConfig | 该操作的行为配置。 |
| callback | ZIMRoomMembersAttributesOperatedCallback | 设置房间成员属性的操作回调。 |
详情
调用该 API 来设置房间内成员的房间用户属性。
- 业务场景:如需要为房间内成员设置一个等级,设置一个状态时,可用此接口来设置。
- 默认值:[ZIMRoomMemberAttributesSetConfig] 默认构造 isDeleteAfterOwnerLeft 为 true。
- 调用时机:登录后,并处于相关房间内调用。
- 相关回调:[ZIMRoomMembersAttributesOperatedCallback]、[onRoomMemberAttributesUpdated]。
- 相关接口:[queryRoomMembersAttributes]、[queryRoomMemberAttributesList]。
- 支持版本:2.4.0 及以上。
- 使用限制:每个房间中,最多允许设置 500 个用户的用户属性,以 Key-Value 的方式进行存储。开发者如果需要提高属性上限,请联系 ZEGO 技术支持。房间内的每个用户,所拥有的用户属性 Key-Value 的总长度不超过 144 字节,且 Key-Value 的个数不超过 30 对。单个 Key-Value 的长度,Key 不超过 8 字节、Value 不超过 64 字节。开发者如果需要提高上限,请联系 ZEGO 技术支持。房间销毁后,设置的自定义用户属性也会同时销毁。
返回值
设置房间属性的操作结果。
queryRoomMembersAttributes
public void queryRoomMembersAttributes(const std::vector<std::string> & userIDs, std::string roomID, ZIMRoomMembersAttributesQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | const std::vector<std::string> & | 需要查询的 userID 列表。 |
| roomID | std::string | 房间 ID。 |
| callback | ZIMRoomMembersAttributesQueriedCallback | 批量查询房间用户属性的结果回调。 |
详情
调用该 API 来批量查询房间内成员的房间用户属性。
- 调用时机:当需要指定查询部分房间用户的时候使用该接口。
- 相关回调:[ZIMRoomMembersAttributesQueriedCallback]。
- 相关接口:[setRoomMembersAttributes]、[queryRoomMemberAttributesList]。
- 生命周期:登录并加入对应房间后可用,离开对应房间后不可用。
- 支持版本:2.4.0 及以上。
- 使用限制:最大调用频率默认 30 秒内 5 次,一次最大查询 100 人。
返回值
批量查询房间用户属性的结果。
queryRoomMemberAttributesList
public void queryRoomMemberAttributesList(const std::string & roomID, ZIMRoomMemberAttributesQueryConfig config, ZIMRoomMemberAttributesListQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | const std::string & | 房间 ID。 |
| config | ZIMRoomMemberAttributesQueryConfig | 该操作的行为配置。 |
| callback | ZIMRoomMemberAttributesListQueriedCallback | 查询房间内成员属性的结果回调。 |
详情
分页查询房间内拥有房间属性成员的房间用户属性。
- 调用时机:当需要指定查询全部房间用户的时候使用该接口。
- 相关回调:[ZIMRoomMemberAttributesListQueriedCallback]。
- 相关接口:[setRoomMembersAttributes]、[queryRoomMembersAttributes]。
- 生命周期:登录并加入对应房间后可用,离开对应房间后不可用。
- 支持版本:2.4.0 及以上。
- 使用限制:最大调用频率默认 30 秒内 5 次,一页的 count 最大 100 人。
返回值
分页查询房间用户属性的结果。
createRoom
public void createRoom(ZIMRoomInfo roomInfo, ZIMRoomAdvancedConfig config, ZIMRoomCreatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomInfo | ZIMRoomInfo | 将要被创建的房间的配置信息。 |
| config | ZIMRoomAdvancedConfig | 将要被创建的房间的高级属性。 |
| callback | ZIMRoomCreatedCallback | 创建房间的结果的回调。 |
详情
用户可以通过该接口,创建且加入房间,其他用户可通过 [joinRoom] 加入此房间。
- 业务场景:需要创建具有自定义属性的多人聊天场景时,可通过该接口创建并加入房间。
- 调用时机:登录后可调用。
- 相关回调:通过 [onRoomCreated] 回调可拿到创建房间的结果。
- 相关接口:可通过 [joinRoom] 加入房间,[leaveRoom] 离开房间。
- 支持版本:1.3.0。
- 注意事项:当所有人都离开房间后,此房间将被自动销毁,一个用户最多同时在 5 个房间内。 如果房间已存在,调用此接口将会出错,具体请参考返回的错误码处理。
返回值
创建房间的结果的回调。
enterRoom
public void enterRoom(ZIMRoomInfo roomInfo, ZIMRoomAdvancedConfig config, ZIMRoomEnteredCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomInfo | ZIMRoomInfo | 将要被创建的房间的配置信息。只有第一个进入房间的用户创建 roomName 生效。 |
| config | ZIMRoomAdvancedConfig | 将要被创建的房间的高级属性。只有第一个进入房间的用户配置生效。 |
| callback | ZIMRoomEnteredCallback | 进入房间的结果的回调。 |
详情
调用该 API 后,如果房间已存在,则直接加入房间;如果房间不存在,则创建一个房间并加入。同时,如果房间不存在时,调用该接口后,用户设置的房间高级属性生效。
- 业务场景:需要进入具有自定义属性的多人聊天场景,同时不需要区分房间是被创建还是被加入时,可通过该接口进入一个房间。
- 调用时机:登录后可调用。
- 相关回调:通过 [onRoomEntered] 回调可拿到进入房间的结果。
- 相关接口:可通过 [enterRoom] 进入房间,[leaveRoom] 离开房间。
- 支持版本:2.1.0。
- 注意事项:当所有人都离开房间后,此房间将被自动销毁,一个用户最多同时在 5 个房间内。[enterRoom] 相当于 [createRoom] 或 [joinRoom] 的作用,因此两者只需选用其中一种 API 即可。
返回值
进入房间的结果的回调。
switchRoom
public void switchRoom(std::string fromRoomID, const ZIMRoomInfo & toRoomInfo, bool isCreateWhenRoomNotExisted, const ZIMRoomAdvancedConfig & config, ZIMRoomSwitchedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| fromRoomID | std::string | 将要被创建的房间的配置信息。只有第一个进入房间的用户创建 roomName 生效。 |
| toRoomInfo | const ZIMRoomInfo & | 需要切换至的房间的基本信息。其中的 roomName 字段,仅在切换至的房间不存在,且 isCreateWhenRoomNotExisted 字段为 true 的情况下生效。 |
| isCreateWhenRoomNotExisted | bool | 当需要切换至的房间不存在时,基于该字段决定是否要创建对应房间。 |
| config | const ZIMRoomAdvancedConfig & | 如果 isCreateWhenRoomNotExisted 字段为 true,且需要切换至的房间不存在时,创建对应房间所使用的房间进阶属性配置。 |
| callback | ZIMRoomSwitchedCallback | 切换房间的结果的回调。 |
详情
从一个房间切换至另一个房间;如果房间不存在,则根据传入参数决定是否创建对应房间。
- 业务场景:需要快速从一个房间切换至另一房间的场景。
- 调用时机:登录后可调用。
- 相关回调:通过 [ZIMRoomSwitchedCallback] 回调可拿到切换房间的结果。
- 支持版本:2.18.0。
返回值
切换房间的结果的回调。
joinRoom
public void joinRoom(const std::string& roomID, ZIMRoomJoinedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | const std::string& | 将要加入的房间 ID。 |
| callback | ZIMRoomJoinedCallback | 加入房间的结果的回调。 |
详情
若房间不存在,则加入失败,需要先调用 [createRoom] 创建房间。
- 业务场景:多人聊天场景下,用户需要加入房间时可调用该接口进入房间。
- 调用时机:登录后可调用,且该用户位于房间中时可调用。
- 相关回调:通过 [ZIMRoomJoinedCallback] 回调可获得加入房间的结果。
- 相关接口:可通过 [createRoom] 创建房间,[leaveRoom] 离开房间。
- 支持版本:1.1.0 及以上。
- 注意事项:当所有人都离开房间后,此房间将被自动销毁。一个用户最多同时在 5 个房间内。
返回值
加入房间的结果的回调
leaveRoom
public void leaveRoom(const std::string & roomID, ZIMRoomLeftCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | const std::string & | 将要离开的房间 ID。 |
| callback | ZIMRoomLeftCallback | 离开房间的结果的回调。 |
详情
当房间中的用户需要离开房间时,通过 [leaveRoom] 离开此房间,若房间不存在,则离开失败。
- 业务场景:多人聊天场景下,房间中的用户需要离开房间时,可通过该接口离开房间。
- 调用时机:登录后可调用,且该用户位于房间中时可调用。
- 相关回调:通过 [ZIMRoomLeftCallback] 回调可拿到离开房间的结果。
- 相关接口:可通过 [createRoom] 创建房间,[joinRoom] 加入房间。
- 支持版本:1.1.0 及以上。
- 注意事项:若当前用户不在此房间内,则离开失败。当所有人都离开房间后,此房间将被自动销毁。
返回值
离开房间的结果的回调。
leaveAllRoom
public void leaveAllRoom(ZIMRoomAllLeftCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callback | ZIMRoomAllLeftCallback | 离开所有房间结果回调。 |
详情
调用此接口可以一次性退出已进入的所有房间。
- 调用时机:登录后可调用。
- 相关回调:通过 [ZIMRoomAllLeftCallback] 回调获取离开的房间列表。
- 支持版本:2.15 及以上。
返回值
离开所有房间的结果的回调。
queryRoomMemberList
public void queryRoomMemberList(const std::string& roomID, const ZIMRoomQueryMemberConfig & config, ZIMRoomMemberQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | const std::string& | 将要查询的房间 ID。 |
| config | const ZIMRoomQueryMemberConfig & | 查询房间成员操作的配置。 |
| callback | ZIMRoomMemberQueriedCallback | 查询房间成员的结果的回调。 |
详情
当加入了一个房间后,可通过此函数获取房间内的成员列表。
- 业务场景:当开发者需要获取房间成员列表以做其他业务操作时,可调用该接口以获得成员列表。
- 调用时机:登录后,且该用户位于需要查询的房间中时可调用该接口。
- 相关回调:通过 [ZIMRoomMemberQueriedCallback] 回调可拿到查询房间成员列表的结果。
- 相关接口:可通过 [queryRoomOnlineMemberCount] 查询房间在线人数。
- 支持版本:1.1.0 及以上。
- 注意事项:如需使用此功能,请联系 ZEGO 技术支持开通服务。若用户当前不在此房间内,则查询失败。当房间成员超过 500 人时,查询房间成员列表的结果最多只能包含 500 名成员的信息。
返回值
查询房间成员的结果的回调。
queryRoomOnlineMemberCount
public void queryRoomOnlineMemberCount(const std::string& roomID, ZIMRoomOnlineMemberCountQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | const std::string& | 将要查询的房间 ID。 |
| callback | ZIMRoomOnlineMemberCountQueriedCallback | 查询房间内在线成员数量的结果回调。 |
详情
当加入了一个房间后,可通过此函数获取房间内在线成员的数量。
- 业务场景:当开发者需要获取房间在线的房间成员人数时,可以调用此接口。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该用户位于需要查询的房间中时可调用该接口。
- 相关回调:通过 [ZIMRoomOnlineMemberCountQueriedCallback] 回调可拿到查询房间成员在线人数的的结果。
- 相关接口:可通过 [queryRoomMember] 查询房间成员。
- 支持版本:1.1.0 及以上。
- 注意事项:若用户当前不在此房间内,则查询失败。
返回值
查询房间内在线成员数量的结果回调。
queryRoomAllAttributes
public void queryRoomAllAttributes(const std::string& roomID, ZIMRoomAttributesQueriedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | const std::string& | 需要查询自定义属性的房间号。 |
| callback | ZIMRoomAttributesQueriedCallback | 查询房间属性的回调。 |
详情
用于查询房间属性。
- 调用时机: 登录后,并处于相关房间内调用。
- 业务场景:语聊房需要查询麦位时,可以使用该接口。
- 相关回调:[ZIMRoomAttributesQueriedCallback]。
- 相关接口:[deleteRoomAttributes],删除房间属性。[setRoomAttributes],设置房间属性。
- 支持版本:1.3.0。
返回值
查询房间属性的回调。
setRoomAttributes
public void setRoomAttributes(std::unordered_map<std::string, std::string> & roomAttributes, const std::string& roomID, ZIMRoomAttributesSetConfig * config, ZIMRoomAttributesOperatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomAttributes | std::unordered_map<std::string, std::string> & | 欲设置的房间属性。 |
| roomID | const std::string& | 需要进行房间属性修改的房间号。 |
| config | ZIMRoomAttributesSetConfig * | 该操作的行为配置。 |
| callback | ZIMRoomAttributesOperatedCallback | 设置房间属性的操作回调。 |
详情
用于设置房间属性。
- 业务场景:语聊房需要设置麦位时,可以使用该接口。
- 调用时机: 登录后,并处于相关房间内调用。
数量限制: 每个房间中,最多允许设置 20 个属性。
大小限制: 房间属性的key-value,默认 key 的长度是 16,默认 value 的长度是 1024。
- 默认值:[ZIMRoomAttributesSetConfig] 传空时的默认配置是非强制操作,且不更新拥有者,且涉及到的房间属性在拥有者退出后不自动删除。
- 隐私保护声明:尽量不要在房间属性中传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 影响范围:新增或修改现有房间的房间属性。
- 相关回调:[ZIMRoomAttributesOperatedCallback]。
- 相关接口:[DeleteRoomAttributes],删除房间属性。[QueryRoomAllAttributes],查询房间属性。
- 支持版本:1.3.0。
返回值
设置房间属性的操作回调。
deleteRoomAttributes
public void deleteRoomAttributes(std::vector<std::string> & keys, const std::string & roomID, ZIMRoomAttributesDeleteConfig * config, ZIMRoomAttributesOperatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| keys | std::vector<std::string> & | 欲删除的房间属性的key。 |
| roomID | const std::string & | 欲修改房间属性的房间号 |
| config | ZIMRoomAttributesDeleteConfig * | 该操作的行为配置。 |
| callback | ZIMRoomAttributesOperatedCallback | 设置房间属性的操作回调。 |
详情
用于删除房间属性。
- 业务场景:语聊房需要删除麦位时,可以使用该接口。
- 调用时机: 登录后,并处于相关房间内调用。
- 默认值:[ZIMRoomAttributesDeleteConfig] 传空时的默认配置是非强制操作。
- 影响范围:删除现有房间的房间属性。
- 相关回调:[ZIMRoomAttributesOperatedCallback]。
- 相关接口:[setRoomAttributes],设置房间属性。[queryRoomAllAttributes],查询房间属性。
- 支持版本:1.3.0。
返回值
设置房间属性的操作回调。
beginRoomAttributesBatchOperation
public void beginRoomAttributesBatchOperation(const std::string& roomID, ZIMRoomAttributesBatchOperationConfig * config)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | const std::string& | 需要开启组合操作的房间号。 |
| config | ZIMRoomAttributesBatchOperationConfig * | 组合操作的配置。 |
详情
用于开启房间属性的组合操作,一个组合操作视为一次原子操作。
- 业务场景:语聊房需要切换麦位时,可以使用该接口发起组合操作以完成,如先下麦,然后抢占其他麦位,若抢占失败再回到原来麦位,这期间原来的麦位是锁定的,保证了原来的麦位不会被其他用户上麦。
- 调用时机: 登录后,并处于相关房间内调用。
- 影响范围:开启后设置、删除房间属性操作会被纳入到本次组合操作中。
- 相关接口:[endRoomAttributesBatchOperation],完成本次组合操作。
- 支持版本:1.3.0。
- 注意事项:开启房间属性的组合操作后,直到调用完成组合操作接口前,所有的设置与删除操作均会纳入到组合操作中。连续调用开启组合操作接口,会重置状态。若不执行[endRoomAttributesBatchOperation]视为没有操作。
endRoomAttributesBatchOperation
public void endRoomAttributesBatchOperation(const std::string& roomID, ZIMRoomAttributesBatchOperatedCallback callback)ZIM.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | const std::string& | 需要进行房间属性修改的房间号。 |
| callback | ZIMRoomAttributesBatchOperatedCallback | 组合操作的回调。 |
详情
完成组合房间属性操作,会将该房间上次调用 [beginRoomAttributesBatchOperation] 到本次操作期间的所有 设置/删除 操作组合完成。
- 业务场景:语聊房需要切换麦位时,可以使用该接口。
- 调用时机:登录后,在 [beginRoomAttributesBatchOperation] 执行后执行该操作。
- 影响范围:同房间内的设置,删除房间属性。
- 相关回调:[ZIMRoomAttributesBatchOperatedCallback]。
- 相关接口:[beginRoomAttributesBatchOperation],开启组合操作。
- 支持版本:1.3.0。
- 使用限制:需要该房间中已开启组合操作。
- 注意事项:在 [beginRoomAttributesBatchOperation] 未执行时调用,会返还错误。若执行[beginRoomAttributesBatchOperation]后不执行[endRoomAttributesBatchOperation]视为没有操作。
返回值
组合操作的回调。
ZIMCacheConfig
缓存配置。
详情
配置缓存文件(例如聊天记录)的存储路径。
Declared in ZIMDefines.h
属性
cachePath
public std::string cachePath缓存文件的存储路径。
- 是否必填:非必填。
- 默认值: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 - 建议值:建议使用默认值。
- 注意事项:请注意设置的目录是否有读写权限,否则会导致 SDK 无法正确执行。
ZIMCommandMessage
自定义二进制消息对象。
详情
标识一条二进制消息。
- 注意事项:回调时若基类的 Type 参数为 command,可将基类消息对象强转为此类。
Declared in ZIMDefines.h
属性
message
public std::vector<uint8_t> message消息的内容,支持任意数据。
- 是否必填:发送端必填,否则消息会发送失败。
type
messageID
public long long messageID标识这条消息的唯一 ID。
- 业务场景:可用于索引其他消息。
- 注意事项:开发者主动创建一条消息时,不需要修改这个参数,此参数仅在回调时有值。
timestamp
public unsigned long long timestamp标识一条消息的发送时间。
- 业务场景:用于呈现一条消息的发送时间,并可用于消息排序。
- 注意事项:此为标准 UNIX 时间戳,单位为毫秒。
senderUserID
public String senderUserID展示本条消息发送者的 userID。
conversationID
public String conversationID会话的 ID,相同会话类型下的 ID 是唯一的。
direction
sentStatus
conversationType
conversationSeq
public unsigned long long conversationSeq表示该消息在会话中的序号。
orderKey
public long long orderKeyorderKey 越大消息越新,可用于消息排序。
localMessageID
public long long localMessageIDSDK 本地生成的 MessageID,开发者无需关注。
isUserInserted
public bool isUserInserted该消息是否是开发者通过 [insertMessageToLocalDB] 接口插入的消息。
- 默认值:false。
receiptStatus
extendedData
public std::string extendedData消息拓展字段。
- 业务场景:可为消息附加拓展字段,然后发送给对端。
- 是否必填:否。
- 支持版本:2.6.0 及以上。
- 注意事项:长度为1k,可联系技术支持进行配置。
localExtendedData
public String localExtendedData仅本端可见的消息拓展字段,可附带额外的信息存储到本地,可通过 [updateMessageLocalExtendedData] 修改,目前长度的限制是 128K。如有特殊需求,可联系 ZEGO 技术支持进行配置。
isBroadcastMessage
public bool isBroadcastMessage该消息是否是全员推送消息。
- 是否必填:SDK内部赋值。
isMentionAll
public boolean isMentionAll是否需要提醒所有人。业务表现可为“@所有人”。
- 业务场景:例如在群或者房间可使用。
- 是否必填:否。
- 默认值:false。
- 建议值:如果需要提醒所有人,可以设置为 true。
- 注意事项:该值并不会在消息文本上增加 @所有人 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs提醒一批相关的用户。业务表现可为“@某用户”。
- 业务场景:发消息时可以带上
- 是否必填:否。
- 注意事项:该值并不会在消息文本上增加 @某用户 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
messageSeq
public unsigned long long messageSeq表示该消息在会话中的序号。
rootRepliedCount
public unsigned int rootRepliedCount回复消息树对应的根消息的回复消息数量。
repliedInfo
editorUserID
public std::string editorUserID本条消息最新的编辑者的 userID。
editedTime
public unsigned long long editedTime本条消息最新的编辑时间戳。
isGroupTargetedMessage
public bool isGroupTargetedMessage标识该消息是否为群定向消息。
pinnedUserID
public std::string pinnedUserID该消息的最后一次置顶的置顶者。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
pinnedTime
public long long pinnedTime该消息最后一次置顶的置顶时间。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
方法
ZIMCommandMessage
ZIMConversation
会话具体内容。
详情
会话的具体内容。
Declared in ZIMDefines.h
属性
conversationID
public std::string conversationID会话ID。
conversationName
public String conversationNameconversationName,与会话对应的 groupName/userName 值相同。
type
unreadMessageCount
public int unreadMessageCount会话未读数。
lastMessage
orderKey
public long orderKey用于描述消息在会话中的顺序,orderKey 越大越新。
notificationStatus
conversationAvatarUrl
public std::string conversationAvatarUrl会话头像 URL。单聊会话头像 URL 与用户头像 URL 相同,群聊会话头像 URL 与群头像 URL 相同。
- 使用限制: 最大 500 字节,无特殊字符限制。
isPinned
public bool isPinned会话是否置顶。
- 支持版本:2.8.0。
mentionedInfoList
public std::vector<ZIMMessageMentionedInfo> mentionedInfoList当在会话的消息中被提醒到或者被提醒所有人时,该数组会有记录。
- 业务场景:比如可以在会话列表根据该数组显示当前会话有多少个提醒,还可以显示是哪个用户的提醒。
conversationAlias
public String conversationAlias会话别名,通过 [updateFriendAlias] 设置好友备注后,对应的单聊会话该参数会同步修改。通过 [updateGroupAlias] 设置群备注后,对应的群聊会话该参数会同步修改。
- 业务场景:为好友或群组设置备注后,渲染会话页时,对应的会话优先选择展示 alias 别名,而不是 conversation name(好友的用户名或群组名)。
marks
public std::vector\<int> marks描述了该会话现有的所有标记。
- 业务场景:业务层可以按照不同会话拥有的不同标记做分组逻辑等。
draft
public std::string draft会话草稿,当设置会话草稿后,会话中会带有该字段。
ZIMConversationBaseInfo
会话简要内容。
详情
会话的简要内容。
Declared in ZIMDefines.h
属性
conversationID
public std::string conversationID会话ID。
conversationType
ZIMConversationChangeInfo
会话变更信息。
详情
包含会话变更后的信息。
Declared in ZIMDefines.h
属性
event
conversation
ZIMConversationDeleteConfig
删除会话配置。
详情
删除会话的相关配置。
Declared in ZIMDefines.h
属性
isAlsoDeleteServerConversation
public bool isAlsoDeleteServerConversation是否删除服务端会话
- 是否必填:非必填。
- 默认值:true。
ZIMConversationFilterOption
查询会话的相关过滤项。
详情
查询会话时可配置的过滤项。
Declared in ZIMDefines.h
属性
marks
public std::vector\<int> marks会话标记列表,只支持 [1, 20] 的整数。若列表包含 -1,查询结果为所有已标记会话;若列表包含 0,查询结果为所有无标记的会话;若传入多个标记,查询结果为所有传入标记的并集;若列表为空,则查询结果为所有会话。
- 业务场景:需要查询包含指定的会话标记时可使用该过滤项。
conversationTypes
public std::vector<ZIMConversationType> conversationTypes会话类型。仅支持单聊和群聊。
- 业务场景:需要按照会话类型查询时可使用该过滤项。
isOnlyUnreadConversation
public bool isOnlyUnreadConversation是否仅查询存在未读数的会话。传 true 时,则仅查询存在未读数的会话。传 false 时,则查询时将不考虑会话是否存在未读数。
- 业务场景:需要查询出仅存在消息未读数的会话。
ZIMConversationQueryConfig
查询会话的相关配置。
详情
查询会话时可配置的信息。
Declared in ZIMDefines.h
属性
nextConversation
count
public unsigned int count需要查询的会话数量。
- 是否必填:必填。
ZIMConversationTotalUnreadMessageCountQueryConfig
查询会话未读消息总数的相关配置项。
详情
查询会话未读消息总数时可配置的过滤项。
Declared in ZIMDefines.h
属性
marks
public std::vector\<int> marks会话标记列表,只支持 [1, 20] 的整数。若列表包含 -1,查询结果为所有已标记会话;若列表包含 0,查询结果为所有无标记的会话;若传入多个标记,查询结果为所有传入标记的并集;若列表为空,则查询结果为所有会话。
- 业务场景:需要查询包含指定的会话标记时可使用该过滤项。
conversationTypes
public std::vector<ZIMConversationType> conversationTypes会话类型。仅支持单聊和群聊。
- 业务场景:需要按照会话类型查询时可使用该过滤项。
ZIMCustomMessage
自定义消息对象。
详情
标识一条自定义消息。
- 支持版本:2.8.0 及以上。
- 注意事项:回调时若基类的 Type 参数为 Custom,可将基类消息对象强转为此类。
Declared in ZIMDefines.h
属性
message
public std::string message消息的文本内容,应为标准 UTF-8 字符串。
- 是否必填:发送端必填,否则消息会发送失败。
subType
public unsigned int subType消息的子类型,用于客户自定义不同自定义消息的用法。取值范围为 [0, 200]。
- 是否必填:发送端必填,否则消息会发送失败。
searchedContent
public std::string searchedContent自定义消息的检索字段。由于无法通过直接搜索 message 字段来搜索自定义消息,您可把该自定义消息中希望被搜索的内容(如投票的标题等)拼接后放到此参数(长度上限默认为 64 字节),以便后续搜索。
type
messageID
public long long messageID标识这条消息的唯一 ID。
- 业务场景:可用于索引其他消息。
- 注意事项:开发者主动创建一条消息时,不需要修改这个参数,此参数仅在回调时有值。
timestamp
public unsigned long long timestamp标识一条消息的发送时间。
- 业务场景:用于呈现一条消息的发送时间,并可用于消息排序。
- 注意事项:此为标准 UNIX 时间戳,单位为毫秒。
senderUserID
public String senderUserID展示本条消息发送者的 userID。
conversationID
public String conversationID会话的 ID,相同会话类型下的 ID 是唯一的。
direction
sentStatus
conversationType
conversationSeq
public unsigned long long conversationSeq表示该消息在会话中的序号。
orderKey
public long long orderKeyorderKey 越大消息越新,可用于消息排序。
localMessageID
public long long localMessageIDSDK 本地生成的 MessageID,开发者无需关注。
isUserInserted
public bool isUserInserted该消息是否是开发者通过 [insertMessageToLocalDB] 接口插入的消息。
- 默认值:false。
receiptStatus
extendedData
public std::string extendedData消息拓展字段。
- 业务场景:可为消息附加拓展字段,然后发送给对端。
- 是否必填:否。
- 支持版本:2.6.0 及以上。
- 注意事项:长度为1k,可联系技术支持进行配置。
localExtendedData
public String localExtendedData仅本端可见的消息拓展字段,可附带额外的信息存储到本地,可通过 [updateMessageLocalExtendedData] 修改,目前长度的限制是 128K。如有特殊需求,可联系 ZEGO 技术支持进行配置。
isBroadcastMessage
public bool isBroadcastMessage该消息是否是全员推送消息。
- 是否必填:SDK内部赋值。
isMentionAll
public boolean isMentionAll是否需要提醒所有人。业务表现可为“@所有人”。
- 业务场景:例如在群或者房间可使用。
- 是否必填:否。
- 默认值:false。
- 建议值:如果需要提醒所有人,可以设置为 true。
- 注意事项:该值并不会在消息文本上增加 @所有人 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs提醒一批相关的用户。业务表现可为“@某用户”。
- 业务场景:发消息时可以带上
- 是否必填:否。
- 注意事项:该值并不会在消息文本上增加 @某用户 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
messageSeq
public unsigned long long messageSeq表示该消息在会话中的序号。
rootRepliedCount
public unsigned int rootRepliedCount回复消息树对应的根消息的回复消息数量。
repliedInfo
editorUserID
public std::string editorUserID本条消息最新的编辑者的 userID。
editedTime
public unsigned long long editedTime本条消息最新的编辑时间戳。
isGroupTargetedMessage
public bool isGroupTargetedMessage标识该消息是否为群定向消息。
pinnedUserID
public std::string pinnedUserID该消息的最后一次置顶的置顶者。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
pinnedTime
public long long pinnedTime该消息最后一次置顶的置顶时间。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
ZIMCustomMessageLiteInfo
自定义消息的简要对象。
详情
标识一条自定义消息。
Declared in ZIMDefines.h
属性
message
public std::string message消息的文本内容,为标准 UTF-8 字符串。
- 是否必填:发送端必填,否则消息会发送失败。
subType
public unsigned int subType消息的子类型,用于客户自定义不同自定义消息的用法。取值范围为 [0, 200]。
- 是否必填:发送端必填,否则消息会发送失败。
searchedContent
public std::string searchedContent自定义消息的检索字段。由于无法通过直接搜索 message 字段来搜索自定义消息,您可把该自定义消息中希望被搜索的内容(如投票的标题等)拼接后放到此参数(长度上限默认为 64 字节),以便后续搜索。
type
ZIMError
错误信息
详情
错误信息。
Declared in ZIMDefines.h
属性
code
message
public std::string message错误信息描述。
ZIMEventHandler
详情
回调。
Declared in ZIMEventHandler.h
方法
onBlacklistChanged
public void onBlacklistChanged(ZIM * zim, const std::vector<ZIMUserInfo> userList, ZIMBlacklistChangeAction action)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| userList | const std::vector<ZIMUserInfo> | 黑名单列表变更的用户信息集合 |
| action | ZIMBlacklistChangeAction | 接收到黑名单列表的变更时可用该值判断是删除动作还是新增的动作 |
详情
当黑名单列表发生变化时会回调当前方法
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[addUsersToBlacklist]。
- 支持版本:2.13.0 及以上。
onFriendListChanged
public void onFriendListChanged(ZIM * zim, const std::vector<ZIMFriendInfo> friendInfoList, ZIMFriendListChangeAction action)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| friendInfoList | const std::vector<ZIMFriendInfo> | 好友列表变更的用户信息集合 |
| action | ZIMFriendListChangeAction | 接收到好友列表的变更时可用该值判断是删除动作还是新增的动作 |
详情
当好友列表发生变化时会回调当前方法
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[addFriend]。
- 支持版本:2.14.0 及以上。
onFriendApplicationListChanged
public void onFriendApplicationListChanged(ZIM * zim, const std::vector<ZIMFriendApplicationInfo> friendApplicationInfoList, ZIMFriendApplicationListChangeAction action)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| friendApplicationInfoList | const std::vector<ZIMFriendApplicationInfo> | 好友申请列表变更的数据 |
| action | ZIMFriendApplicationListChangeAction | 接收到好友列表的变更时可用该值判断是删除动作还是新增的动作 |
详情
当好友列表发生变化时会回调当前方法
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[sendFriendApplication]。
- 支持版本:2.14.0 及以上。
onFriendApplicationUpdated
public void onFriendApplicationUpdated(ZIM * zim, const std::vector<ZIMFriendApplicationInfo> friendApplicationInfoList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| friendApplicationInfoList | const std::vector<ZIMFriendApplicationInfo> | 好友申请列表更新的数据。 |
详情
当好友申请列表发生更新时会回调当前方法
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[acceptFriendApplication] [rejectFriendApplication]。
- 支持版本:2.14.0 及以上。
onFriendInfoUpdated
public void onFriendInfoUpdated(ZIM * zim, const std::vector<ZIMFriendInfo> friendInfoList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| friendInfoList | const std::vector<ZIMFriendInfo> | 好友信息更新数据 |
详情
当好友信息更新时候会触发该回调。
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[updateFriendAlias] [updateFriendAttributes]。
- 支持版本:2.14.0 及以上。
onUserStatusUpdated
public void onUserStatusUpdated(ZIM * zim, const std::vector<ZIMUserStatus>& userStatusList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | zim 实例。 |
| userStatusList | const std::vector<ZIMUserStatus>& | 携带用户在线状态数据的列表。 |
详情
用户在线状态变更通知。
- 业务场景:当业务上需关注某些人的在线状态,比如展示在线的群成员,通过 subscribeUsersStatus 接口订阅这些用户后,这些用户的在线状态以及订阅有效期间在线状态发生的变更将通过此接口通知给您。
- 调用时机/通知时机:当前用户首次订阅目标用户后,如果目标用户首次被添加到订阅列表,或者被订阅的用户的在线状态、在线平台列表时,该事件将会被触发。此外,当前用户如果开通了多端登录,并且在线平台发生了变更时,该回调也会被触发。
- 支持版本:2.18.0
- 注意事项:当 userStatusUpdated 回调返回当前用户的 userStatus 信息时,其中的 onlineStatus 将为 unknown, lastUpdateTime 为 0,并不能真实反馈在线状态,请根据 connectionStateChanged 来映射当前用户的在线状态。
onError
onConnectionStateChanged
public void onConnectionStateChanged(ZIM * zim, ZIMConnectionState state, ZIMConnectionEvent event, const std::string& extendedData)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| state | ZIMConnectionState | 连接状态变更后的当前状态。 |
| event | ZIMConnectionEvent | 导致连接状态发生变更的事件。 |
| extendedData | const std::string& | 事件发生时的额外信息,标准 JSON 格式数据。 |
详情
连接状态发生改变时会通过该回调将目前的状态与事件通知用户。
- 业务场景:需要监测连接状态,以及使得连接状态改变的事件时,可通过该回调中的 [ZIMConnectionState] 和 [ZIMConnectionEvent] 以完成不同的业务逻辑。
- 通知时机:连接状态发生改变时会回调此函数通知。
- 支持版本:1.1.0 及以上。
onTokenWillExpire
public void onTokenWillExpire(ZIM * zim, unsigned int second)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| second | unsigned int | Token 即将过期的剩余时间,单位秒。 |
详情
当收到此回调时,开发者应当及时调用 [renewToken] 函数更新 Token。
- 通知时机:在鉴权 Token 只剩下 30秒时,SDK 会回调此函数通知开发者更新鉴权 Token。若开发者 [login] 时传入的鉴权 Token 不足 30秒的有效期,则在 [login] 成功之后即会回调出来。
- 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617 。
- 支持版本:1.1.0 及以上。
onUserInfoUpdated
public void onUserInfoUpdated(ZIM * zim, ZIMUserFullInfo info)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | ZIMUserFullInfo | 更新后的用户信息。 |
详情
多端登录场景时,用户在 A 设备修改自己的信息后,其他在线的多端设备会收到此回调。对于离线设备,用户上线后,需要调用 [queryUsersInfo] 接口,主动查询用户信息。
- 支持版本:2.11.0 及以上。
onUserRuleUpdated
public void onUserRuleUpdated(ZIM * zim, ZIMSelfUserRule userRule)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| userRule | ZIMSelfUserRule | 更新后的用户规则信息。 |
详情
用户规则变更的回调。
- 通知时机:当前用户的用户规则发生变更时,会通过该回调通知所有端。
- 支持版本:2.15.0 及以后版本。
onCallInvitationReceived
public void onCallInvitationReceived(ZIM * zim, ZIMCallInvitationReceivedInfo info, const std::string & callID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | ZIMCallInvitationReceivedInfo | 已接收到的呼叫邀请的相关信息。 |
| callID | const std::string & | 已接收到的CallID。 |
详情
邀请者发起呼叫邀请后,当被邀请者在线时,将会收到此回调。
- 业务场景:被邀请者会在邀请者发送呼叫邀请后,会收到此回调。
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[callInvite]。
- 支持版本:2.0.0 及以上。
- 注意事项:若用户不在邀请列表里面或者不在线,则不会收到该回调。
onCallInvitationCreated
public void onCallInvitationCreated(ZIM * zim, ZIMCallInvitationCreatedInfo info, const std::string & callID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | ZIMCallInvitationCreatedInfo | 创建的呼叫邀请的相关信息。 |
| callID | const std::string & | 创建的CallID。 |
详情
邀请者发起呼叫邀请后,当邀请者在线时,将会收到此回调。
- 业务场景:邀请者会在发送呼叫邀请后,会收到此回调。
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[callInvite]。
- 支持版本:2.13.0 及以上。
- 注意事项:若用户不在邀请列表里面或者不在线,则不会收到该回调。
onCallInvitationCancelled
public void onCallInvitationCancelled(ZIM * zim, ZIMCallInvitationCancelledInfo info, std::string callID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | ZIMCallInvitationCancelledInfo | 已取消的呼叫邀请的相关信息。 |
| callID | std::string | 已取消的callID。 |
详情
邀请者取消呼叫邀请后,当被邀请者在线时,将会收到此回调。
- 业务场景:被邀请者会在邀请者取消呼叫邀请后,会收到此回调。
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[callCancel]。
- 支持版本:2.0.0 及以上。
- 注意事项:若用户不在取消邀请列表里面或者不在线,则不会收到该回调。
onCallInvitationTimeout
public void onCallInvitationTimeout(ZIM * zim, ZIMCallInvitationTimeoutInfo info, std::string callID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | ZIMCallInvitationTimeoutInfo | 有关超时通知的信息类。 |
| callID | std::string | 超时的callID。 |
详情
当呼叫邀请超时后,被邀请者没有响应,被邀请者会收到此回调。
- 业务场景:被邀请者没有在超时时间前响应,被邀请者会收到此回调。
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[callInvite]、[callAccept]、 [callReject]。
- 支持版本:2.0.0 及以上。
- 注意事项:若用户不在邀请列表或者不在线,则不会收到该回调。
onCallInvitationAccepted
public void onCallInvitationAccepted(ZIM * zim, ZIMCallInvitationAcceptedInfo info, std::string callID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | ZIMCallInvitationAcceptedInfo | 已被接受的呼叫邀请的相关信息。 |
| callID | std::string | 已被接受的callID。 |
详情
被邀请者接受呼叫邀请后,当邀请者在线时,将会收到此回调。
- 业务场景:邀请者会在邀请者接受呼叫邀请后,会收到此回调。
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[callAccept]。
- 支持版本:2.0.0 及以上。
- 注意事项:若用户不是发起这次呼叫邀请的邀请者或者不在线,则不会收到该回调。
onCallInvitationRejected
public void onCallInvitationRejected(ZIM * zim, ZIMCallInvitationAcceptedInfo info, std::string callID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | ZIMCallInvitationAcceptedInfo | 已拒绝的呼叫邀请的相关信息。 |
| callID | std::string | 已拒绝的呼叫邀请的callID。 |
详情
被邀请者拒绝呼叫邀请后,当邀请者在线时,将会收到此回调。
- 业务场景:邀请者会在邀请者拒绝呼叫邀请后,会收到此回调。
- 调用时机:通过 [create] 创建ZIM实例并登录后。
- 相关接口:[callReject]。
- 支持版本:2.0.0 及以上。
- 注意事项:若用户不是发起这次呼叫邀请的邀请者或者不在线,则不会收到该回调。
onCallInviteesAnsweredTimeout
public void onCallInviteesAnsweredTimeout(ZIM * zim, std::vector\<std::string> invitees)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| invitees | std::vector<std::string> | 超时的被邀请者ID。 |
详情
当呼叫邀请超时后,被邀请者没有响应,邀请者会收到此回调。
- 业务场景:被邀请者没有在超时时间前响应,邀请者会收到此回调。
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[callInvite]、[callAccept]、 [callReject]。
- 支持版本:2.0.0 及以上。
- 注意事项:若用户不是发起这次呼叫邀请的邀请者或者不在线,则不会收到该回调。
onCallInvitationEnded
public void onCallInvitationEnded(ZIM zim, const ZIMCallInvitationEndedInfo & info, const std::string & callID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM | ZIM 实例对象。 |
| info | const ZIMCallInvitationEndedInfo & | 事件回调携带的信息。 |
| callID | const std::string & | 超时的被邀请者ID。 |
详情
当进阶模式呼叫邀请建立后,某一参与者结束呼叫后,所有参与者会收到此回调。
- 相关接口:[callEnd]
- 支持版本:2.9.0 及以上。
- 注意事项:若用户不是发起这次呼叫的参与者或者不在线,则不会收到该回调。
onCallUserStateChanged
public void onCallUserStateChanged(ZIM * zim, const ZIMCallUserStateChangeInfo & info, std::vector\<std::string> callID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | const ZIMCallUserStateChangeInfo & | 呼叫成员状态变化的信息。 |
| callID | std::vector<std::string> | 本次呼叫的唯一标识符。 |
详情
监听呼叫用户状态变化。
- 通知时机:当呼叫邀请发起后,呼叫中有新的成员被邀请,或者成员接受、拒绝、退出,或者成员应答超时,当前呼叫邀请中所有用户状态为 "Inviting"、"Accepted" 和 "Received" 的用户可在此处收到此回调。若通知时成员不在线,登录成功时呼叫仍然未结束,离线期间的所有成员的状态变更会一次补发给这名用户。详细流程请阅读 https://doc-zh.zego.im/article/13930。
- 相关接口:[callInvite]、[callingInvite]、[callAccept]、 [callReject]、[callQuit]。
- 支持版本:2.9.0 及以上。
- 注意事项:若用户不是这次呼叫的成员(主叫和被叫),则不会收到该回调。
onGroupStateChanged
public void onGroupStateChanged(ZIM * zim, ZIMGroupState state, ZIMGroupEvent event, ZIMGroupOperatedInfo operatedInfo, ZIMGroupFullInfo groupInfo)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| state | ZIMGroupState | 群变更后的状态。 |
| event | ZIMGroupEvent | 群相关事件。 |
| operatedInfo | ZIMGroupOperatedInfo | 已操作的群信息。 |
| groupInfo | ZIMGroupFullInfo | 发生群状态变更的信息。 |
详情
群组状态发生变更通知回调。
- 业务场景: 需要根据群组状态进行交互的场景。
- 通知时机:群组创建、加入、离开、解散操作时会触发通知。
- 相关接口:[createGroup],创建群组。[joinGroup],加入群组。[leaveGroup],离开群组。[dismissGroup],解散群组。
onGroupAliasUpdated
public void onGroupAliasUpdated(ZIM * zim, const std::string& groupAlias, const std::string& operatedUserID, const std::string& groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| groupAlias | const std::string& | 更新后的群备注。 |
| operatedUserID | const std::string& | 修改群备注的用户 ID。 |
| groupID | const std::string& | 目标群组 ID |
详情
群组备注变更通知回调。
- 业务场景: 群组备注发生变更时,此通知向修改操作用户的所有端同步最新群备注。
- 通知时机:群组备注发生变更。
- 相关接口:[updateGroupAlias],更新群组备注。
onGroupNameUpdated
public void onGroupNameUpdated(ZIM * zim, const std::string& groupName, ZIMGroupOperatedInfo operatedInfo, const std::string& groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| groupName | const std::string& | 更新后的群名称。 |
| operatedInfo | ZIMGroupOperatedInfo | 群名称更新后的操作信息。 |
| groupID | const std::string& | 发生群名称更新的groupID。 |
详情
群组名称发生变更通知回调。
- 业务场景: 群组名称发生变更时,需要同步最新群名称。
- 通知时机:群组名称发生变更。
- 相关接口:[updateGroupName],更新群组名称。
onGroupAvatarUrlUpdated
public void onGroupAvatarUrlUpdated(ZIM * zim, const std::string & groupAvatarUrl, ZIMGroupOperatedInfo operatedInfo, const std::string & groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| groupAvatarUrl | const std::string & | 更新后的群头像 URL。 |
| operatedInfo | ZIMGroupOperatedInfo | 群头像 URL 更新后的操作信息。 |
| groupID | const std::string & | 发生群名称更新的groupID。 |
详情
群组头像 URL 发生变更通知回调。
- 业务场景: 群组头像 URL 发生变更时,需要同步最新群头像 URL 。
- 通知时机:群组头像 URL 发生变更。
- 相关接口:[updateGroupAvatarUrl],更新群组头像 URL 。
onGroupNoticeUpdated
public void onGroupNoticeUpdated(ZIM * zim, const std::string& groupNotice, const std::string& operatedInfo, const std::string & groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| groupNotice | const std::string& | 更新后的群公告。 |
| operatedInfo | const std::string& | 群公告更新后的操作信息。 |
| groupID | const std::string & | 发生群公告更新的groupID。 |
详情
群组公告发生变更通知回调。
- 业务场景: 群组公告发生变更时,需要同步最新公告内容。
- 通知时机:群组公告发生变更。
- 相关接口:[updateGroupNotice],更新群组公告。
onGroupMutedInfoUpdated
public void onGroupMutedInfoUpdated(ZIM * zim, ZIMGroupMuteInfo muteInfo, const std::string& operatedInfo, const std::string & groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| muteInfo | ZIMGroupMuteInfo | 群组禁言信息。 |
| operatedInfo | const std::string& | 群禁言变更的操作信息。 |
| groupID | const std::string & | 发生群禁言变更的 groupID。 |
详情
群组禁言信息发生变更通知回调。
- 业务场景: 群组禁言信息发生变更时获知变更详情。
- 通知时机:群组禁言信息发生变更。
- 相关接口:[muteGroup],群组禁言。
onGroupVerifyInfoUpdated
public void onGroupVerifyInfoUpdated(ZIM * zim, ZIMGroupVerifyInfo verifyInfo, ZIMGroupOperatedInfo * operatedInfo, const std::string & groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| verifyInfo | ZIMGroupVerifyInfo | 入群验证模式信息。 |
| operatedInfo | ZIMGroupOperatedInfo * | 入群验证模式变更的操人信息。 |
| groupID | const std::string & | 发生入群验证模式变更的 groupID。 |
详情
入群验证模式发生变更通知回调。
- 通知时机:入群验证模式发生变更。
- 相关接口:[updateGroupJoinMode,updateGroupInviteMode,updateGroupBeInviteMode],更新入群验证模式。
onGroupAttributesUpdated
public void onGroupAttributesUpdated(ZIM * zim, std::vector<ZIMGroupAttributesUpdateInfo> infos, ZIMGroupOperatedInfo operatedInfo, const std::string& groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| infos | std::vector<ZIMGroupAttributesUpdateInfo> | 群属性更新后的信息。 |
| operatedInfo | ZIMGroupOperatedInfo | 群属性更新后的操作信息。 |
| groupID | const std::string& | 发送群属性更新的groupID。 |
详情
群组属性发生变更通知回调。
- 业务场景: 群组属性发生变更时,需要同步最新群属性内容。
- 通知时机:设置、更新、删除群组属性时触发。
- 相关接口:[setGroupAttributes],更新群组属性。[deleteGroupAttributes],删除群组属性。
onGroupMemberStateChanged
public void onGroupMemberStateChanged(ZIM * zim, ZIMGroupMemberState state, ZIMGroupMemberEvent event, std::vector<ZIMGroupMemberInfo> userList, ZIMGroupOperatedInfo operatedInfo, const std::string& groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| state | ZIMGroupMemberState | 更新后的成员状态。 |
| event | ZIMGroupMemberEvent | 更新后的成员事件。 |
| userList | std::vector<ZIMGroupMemberInfo> | 更新后的成员信息。 |
| operatedInfo | ZIMGroupOperatedInfo | 更新后的操作信息。 |
| groupID | const std::string& | 发生成员状态变更的groupID。 |
详情
群成员状态发生变更通知回调。
- 业务场景: 需要根据群成员状态进行交互的场景。
- 通知时机:群组创建、加入、离开、解散,邀请用户进群、将用户踢出群组操作时会触发通知。
- 相关接口:[createGroup],创建群组。[joinGroup],加入群组。[leaveGroup],离开群组。[dismissGroup],解散群组。[intiveUsersIntoGroup],邀请用户进入群组。[kickGroupMembers],将用户踢出群组。
onGroupMemberInfoUpdated
public void onGroupMemberInfoUpdated(ZIM * zim, ArrayList<ZIMGroupMemberInfo> groupMemberInfos, ZIMGroupOperatedInfo operatedInfo, const std::string& groupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| groupMemberInfos | ArrayList<ZIMGroupMemberInfo> | 更新后的成员信息。 |
| operatedInfo | ZIMGroupOperatedInfo | 更新后的操作信息。 |
| groupID | const std::string& | 发生群成员信息变更的groupID。 |
详情
群组成员基本信息变更操作结果的返回。
- 业务场景:群组成员基本信息发生变更后,需要在页面进行展示或其他交互。
- 通知时机:群组成员基本信息变更结束后的结果返回。
- 相关接口:[setGroupMemberNickname],更新群成员昵称。[setGroupMemberRole],更新群成员角色。[transferGroupOwner],群主转让。
onGroupApplicationListChanged
public void onGroupApplicationListChanged(ZIM * zim, const std::vector<ZIMGroupApplicationInfo> applicationList, ZIMGroupApplicationListChangeAction action)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| applicationList | const std::vector<ZIMGroupApplicationInfo> | 入群申请列表变更的数据 |
| action | ZIMGroupApplicationListChangeAction | 接收到入群申请列表的变更时可用该值判断是删除动作还是新增的动作 |
详情
当入群申请列表发生变化时会回调当前方法
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[sendGroupJoinApplication],[sendGroupInviteApplications]。
- 支持版本:2.15.0 及以上。
onGroupApplicationUpdated
public void onGroupApplicationUpdated(ZIM * zim, const std::vector<ZIMGroupApplicationInfo> applicationList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| applicationList | const std::vector<ZIMGroupApplicationInfo> | 入群申请列表变更的数据 |
详情
当入群申请列表发生变化时会回调当前方法
- 调用时机:通过 [create] 创建ZIM实例后。
- 相关接口:[acceptGroupJoinApplication],[rejectGroupJoinApplication],[acceptGroupInviteApplication],[rejectGroupInviteApplication]。
- 支持版本:2.15.0 及以上。
onConversationChanged
public void onConversationChanged(ZIM * zim, std::vector<ZIMConversationChangeInfo> conversationChangeInfoList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| conversationChangeInfoList | std::vector<ZIMConversationChangeInfo> | 会话变更的信息。 |
详情
当会话发生增加、删除、修改、置顶、取消置顶时,触发该回调返回会话更新的通知。
- 通知时机:当会话存在新的消息更新、或会话本身增加、删除、修改时触发通知。
- 相关接口:可通过 [sendPeerMessage] 、[sendGroupMessage]、[sendRoomMessage]、[deleteConversation]、[deleteMessage]、[deleteMessageByConversationID]、[updateConversationPinnedState] 触发。
- 支持版本:2.0.0 及以上。
- 注意事项:conversationID 与单聊的 toUserID、群聊的 GroupID 一致。
onConversationMessageReceiptChanged
public void onConversationMessageReceiptChanged(ZIM * zim, std::vector<ZIMMessageReceiptInfo> infos)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| infos | std::vector<ZIMMessageReceiptInfo> | 回执信息。 |
详情
当消息接收方进行会话已读后,消息发送方通过此回调得知。
- 通知时机:当消息接收方进行会话已读时触发通知。
- 相关接口:当对端调用通过 [sendConversationMessageReceiptRead] 触发。
- 支持版本:2.5.0 及以上。
onConversationSyncStateChanged
public void onConversationSyncStateChanged(ZIM * zim, ZIMConversationSyncState state)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| state | ZIMConversationSyncState | 会话同步的状态。 |
详情
当 SDK 首次登录后开始从服务端同步会话的流程,以及流程完成或失败时,触发该回调返回会话更新的通知。
- 通知时机:当 SDK 确认需要从服务端拉取列表数据时触发通知。
- 支持版本:2.21.0 及以上。
- 注意事项:conversationID 与单聊的 toUserID、群聊的 GroupID 一致。
onConversationsAllDeleted
public void onConversationsAllDeleted(ZIM * zim, ZIMConversationsAllDeletedInfo info)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| info | ZIMConversationsAllDeletedInfo | 全部会话被删除的信息。 |
详情
该回调返回全部会话被删除的通知。
- 通知时机:当其他端删除全部会话时,本端触发通知。
- 相关接口:可通过 [deleteAllConversations] 触发。
- 支持版本:2.12.0 及以上。
onMessageReceiptChanged
public void onMessageReceiptChanged(ZIM * zim, std::vector<ZIMMessageReceiptInfo> infos)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| infos | std::vector<ZIMMessageReceiptInfo> | 回执信息。 |
详情
当消息接收方进行消息已读后,消息发送方通过此回调得知。
- 通知时机:当消息接收方进行消息已读时触发通知。
- 相关接口:当对端调用通过 [sendMessageReceiptsRead] 触发。
- 支持版本:2.5.0 及以上。
onConversationTotalUnreadMessageCountUpdated
public void onConversationTotalUnreadMessageCountUpdated(ZIM * zim, unsigned int totalUnreadMessageCount)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| totalUnreadMessageCount | unsigned int | 更新后的总未读数。 |
详情
该回调用于返回会话的总未读数。
- 通知时机:登录时、调用 [deleteConversation]、[deleteMessage]、[deleteAllMessage]、[clearConversationUnreadMessageCount] 、[clearConversationTotalUnreadMessageCount] 使消息未读数发生变化触发该回调。
- 相关接口:[deleteConversation]、[deleteMessage]、[deleteMessage]、[clearConversationUnreadMessageCount]、[clearConversationTotalUnreadMessageCount]
- 支持版本:2.0.0 及以上。
onGroupMessageReceived
public void onGroupMessageReceived(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const ZIMMessageReceivedInfo & info, const std::string & fromGroupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
| info | const ZIMMessageReceivedInfo & | 消息接收事件相关的信息。 |
| fromGroupID | const std::string & | 收到消息的群组 ID。 |
详情
用户在线时,可通过此回调接收在线群组消息。用户重新登录 ZIM SDK 后,可以通过通过此回调接收离线期间(最长7天)收到的所有群聊消息。
- 调用时机:通过 [create] 创建 ZIM 实例后,且所在群成员发送消息时,会收到该回调。
- 相关接口:可通过 [sendGroupMessage] 向其他群成员发送消息。
- 支持版本:2.18.0 及以上。
onPeerMessageReceived
public void onPeerMessageReceived(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const ZIMMessageReceivedInfo& info, const std::string & fromUserID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
| info | const ZIMMessageReceivedInfo& | 接收消息事件的相关信息。 |
| fromUserID | const std::string & | 消息发送者的唯一标识符。 |
详情
用户在线时,可通过此回调接收在线单聊消息。用户重新登录 ZIM SDK 后,可以通过此回调接收离线期间(最长 7 天)收到的所有单聊消息。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向你发送消息时,会收到该回调。
- 相关接口:可通过 [sendPeerMessage] 向其他成员发送消息。
- 支持版本:2.18.0 及以上。
onRoomMessageReceived
public void onRoomMessageReceived(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const ZIMMessageReceivedInfo & info, const std::string & fromRoomID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
| info | const ZIMMessageReceivedInfo & | 消息接收事件携带的信息。 |
| fromRoomID | const std::string & | 收到消息的房间 ID。 |
详情
用户在线时,可通过此回调接收在线房间消息。用户从离线恢复到在线后,若仍在房间中,即可通过此回调接收离线期间内的所有房间消息。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向当前已经加入或创建的房间发送消息时,会收到该回调。
- 相关接口:可通过 [sendRoomMessage] 向其他房间成员发送消息。
- 支持版本:2.18.0 及以上。
onMessageEdited
public void onMessageEdited(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
详情
当其他人编辑消息成功时,将会收到此回调。
- 调用时机:通过 [create] 创建 ZIM 实例后,且其他用户编辑消息成功时,会收到该回调。
- 相关接口:可通过 [editMessage] 编辑自己发送成功的消息。
- 支持版本:2.20.0 及以上。
onMessagePinStatusChanged
public void onMessagePinStatusChanged(ZIM * zim, const std::vector<ZIMMessagePinStatusChangeInfo> & changeInfoList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| changeInfoList | const std::vector<ZIMMessagePinStatusChangeInfo> & | 收到的消息置顶状态变更信息的列表。 |
详情
当会话内消息被置顶或取消置顶成功时,将会收到此通知。
- 调用时机:通过 [create] 创建 ZIM 实例后,且其他用户置顶或取消置顶消息成功时,会收到该回调。
- 相关接口:可通过 [pinMessage] 编辑自己发送成功的消息。
- 支持版本:2.25.0 及以上。
onMessageRevokeReceived
public void onMessageRevokeReceived(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
详情
当其他人发来消息然后撤回时,将会收到此回调。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向你发送消息后撤回时,会收到该回调。
- 相关接口:可通过 [revokeMessage] 撤回向其他成员发送的消息。
- 支持版本:2.5.0 及以上。
onMessageSentStatusChanged
public void onMessageSentStatusChanged(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessageSentStatusChangeInfo>> & infos)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| infos | const std::vector<std::shared_ptr<ZIMMessageSentStatusChangeInfo>> & | 收到的消息的列表。 |
详情
当消息发送状态发生变化时,将会收到此回调。
- 调用时机:发送消息状态发生变化时,会收到该回调。
- 相关接口:可通过 [sendMessage] 向其他成员发送的消息。
- 支持版本:2.6.0 及以上。
onBroadcastMessageReceived
public void onBroadcastMessageReceived(ZIM * zim, const std::shared_ptr<ZIMMessage> & message)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| message | const std::shared_ptr<ZIMMessage> & | 收到的消息。 |
详情
当收到服务端接口 [SendMessageToAllUsers] 发送的消息时收到该回调。
- 调用时机:登录 ZIM 服务后,且服务端调用接口 [SendMessageToAllUsers] 发送的消息时,会收到该回调。
- 支持版本:2.10.0 及以上。
onMessageReactionsChanged
public void onMessageReactionsChanged(ZIM * zim, std::vector<ZIMMessageReaction> reactions)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| reactions | std::vector<ZIMMessageReaction> | 变更的表态列表。 |
详情
当表态发生变更时收到该回调。
- 调用时机:通过 [create] 创建 ZIM 实例后且登录前,即可注册此回调。
- 通知时机:其他用户对单聊或群聊的消息添加或删除表态后。
- 相关接口:[addMessageReaction]、[deleteMessageReaction]。
- 支持版本:2.10.0 及以上。
onMessageDeleted
public void onMessageDeleted(ZIM * zim, ZIMMessageDeletedInfo deletedInfo)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| deletedInfo | ZIMMessageDeletedInfo | 被删除的消息信息。 |
详情
多端登录场景时,用户在 A 设备删除服务端消息后,其他在线的多端设备会收到此回调。
- 支持版本:2.11.0 及以上。
onReceivePeerMessage
public void onReceivePeerMessage(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const std::string & fromUserID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
| fromUserID | const std::string & | 消息发送方的用户 ID。与单聊会话 ID 一致。 |
详情
当收到其他人发来的点对点消息时,将会收到此回调。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向你发送消息时,会收到该回调。
- 相关接口:可通过 [sendPeerMessage] 向其他成员发送消息。
- 支持版本:1.1.0 及以上。
onReceiveRoomMessage
public void onReceiveRoomMessage(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const std::string & fromRoomID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
| fromRoomID | const std::string & | 收到消息的房间 ID。 |
详情
当收到房间内消息时,将会收到此回调。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该其他用户向当前已经加入或创建的房间发送消息时,会收到该回调。
- 相关接口:可通过 [sendRoomMessage] 向其他房间成员发送消息。
- 支持版本:1.1.0 及以上。
onMessageRepliedCountChanged
public void onMessageRepliedCountChanged(ZIM * zim, const std::vector<std::shared_ptr< ZIMMessageRootRepliedCountInfo>> & infos)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| infos | const std::vector<std::shared_ptr< ZIMMessageRootRepliedCountInfo>> & | 根消息的回复数量信息列表。 |
详情
有新的回复消息时,其对应的的根消息的回复数量通过此事件告知。
- 支持版本:2.17.0 及以上。
onMessageRepliedInfoChanged
public void onMessageRepliedInfoChanged(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
详情
回复消息引用的源消息被删除和撤回后,收到的回复消息的变更事件。
- 支持版本:2.17.0 及以上。
onReceiveGroupMessage
public void onReceiveGroupMessage(ZIM * zim, const std::vector<std::shared_ptr<ZIMMessage>> & messageList, const std::string & fromGroupID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| messageList | const std::vector<std::shared_ptr<ZIMMessage>> & | 收到的消息的列表。 |
| fromGroupID | const std::string & | 消息所属的 Group ID。 |
详情
当收到群消息时,将会收到此回调。
- 调用时机:通过 [create] 创建 ZIM 实例后,且所在群成员发送消息时,会收到该回调。
- 相关接口:可通过 [sendGroupMessage] 向其他群成员发送消息。
- 支持版本:2.0.0 及以上。
onRoomStateChanged
public void onRoomStateChanged(ZIM * zim, ZIMRoomState state, ZIMRoomEvent event, const std::string& extendedData, const std::string& roomID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| state | ZIMRoomState | 房间连接状态变更后的当前状态。 |
| event | ZIMRoomEvent | 导致房间连接状态发生变更的事件。 |
| extendedData | const std::string& | 事件发生时的额外信息,标准 JSON 字符串。 |
| roomID | const std::string& | 发生状态改变的房间 ID。 |
详情
房间连接状态发生改变的事件回调。
- 调用时机:用户位于房间中且房间状态改变时触发此回调。
- 相关接口:可通过 [onTokenWillExpire],在token快要过期时会收到该回调。
- 支持版本:1.1.0 及以上。
onRoomMemberJoined
public void onRoomMemberJoined(ZIM * zim, const std::vector<ZIMUserInfo> & memberList, const std::string& roomID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| memberList | const std::vector<ZIMUserInfo> & | 加入房间的成员列表。 |
| roomID | const std::string& | 发生此事件的房间 ID。 |
详情
加入一个房间后,当有其他成员也加入到此房间时,将会收到此回调。
- 业务场景:当房间内有其他成员加入时,会调用此回调。
- 调用时机:通过 [create] 创建ZIM实例后,且该用户位于其他成员加入的房间中时可调用该接口。
- 相关接口:可通过 [onRoomMemberLeft],在有其他房间成员离开时,收到此回调。
- 支持版本:1.1.0 及以上。
- 注意事项:若用户当前不在此房间内,则不会调用该回调。
onRoomMemberLeft
public void onRoomMemberLeft(ZIM * zim, const std::vector<ZIMUserInfo> & memberList, const std::string & roomID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例对象。 |
| memberList | const std::vector<ZIMUserInfo> & | 离开房间的成员列表。 |
| roomID | const std::string & | 发生此事件的房间 ID。 |
详情
加入一个房间后,当有其他成员离开此房间时,将会收到此回调。
- 业务场景:当房间内有其他成员离开房间时,会调用此回调。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该用户位于其他成员同一房间中时可调用该接口。
- 相关接口:可通过 [onRoomMemberJoined],在有其他房间成员加入时,收到此回调。
- 支持版本:1.1.0 及以上。
- 注意事项:若用户当前不在此房间内,则不会调用该回调。
onRoomAttributesUpdated
public void onRoomAttributesUpdated(ZIM * zim, ZIMRoomAttributesUpdateInfo info, std::string roomID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | zim实例。 |
| info | ZIMRoomAttributesUpdateInfo | 发生变更的房间属性。 |
| roomID | std::string | 发生房间属性变更的房间号。 |
详情
当房间中的房间属性发生变更时,通过该回调通知。
- 业务场景:语聊房场景下,有其他用户上下麦的通知。
- 通知时机:房间中的房间属性发生变更会触发该通知。
- 支持版本:1.3.0。
onRoomAttributesBatchUpdated
public void onRoomAttributesBatchUpdated(ZIM * zim, std::string roomID, std::vector<ZIMRoomAttributesUpdateInfo> infos)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | zim实例。 |
| roomID | std::string | 发生房间属性变更的房间号。 |
| infos | std::vector<ZIMRoomAttributesUpdateInfo> | 发生变更的房间属性。 |
详情
当房间中的房间属性发生变更时,通过该回调通知。
- 业务场景:语聊房场景下,有其他用户上下麦的通知。
- 通知时机:房间中的房间属性发生变更会触发该通知。
- 支持版本:1.3.0。
onRoomMemberAttributesUpdated
public void onRoomMemberAttributesUpdated(ZIM * zim, const std::vector<ZIMRoomMemberAttributesUpdateInfo> & infos, ZIMRoomOperatedInfo operatedInfo, std::string roomID)ZIMEventHandler.h参数
| 名称 | 类型 | 描述 |
|---|---|---|
| zim | ZIM * | ZIM 实例。 |
| infos | const std::vector<ZIMRoomMemberAttributesUpdateInfo> & | 房间成员属性的更改信息。 |
| operatedInfo | ZIMRoomOperatedInfo | 房间操作信息。 |
| roomID | std::string | 房间 ID。 |
详情
当房间内有用户的属性发生变更时,将会收到该回调。
ZIMLogConfig
日志配置。
详情
配置日志文件保存路径和日志文件大小上限。
Declared in ZIMDefines.h
属性
logPath
public std::string logPath日志文件的存储路径,默认路径参考官网文档。
- 是否必填:非必填。
- 默认值: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 - 建议值:建议使用默认值。
- 注意事项:请注意设置的目录是否有读写权限,否则会导致 SDK 无法正确执行。
logSize
public unsigned long long logSize日志文件大小上限 (Bytes)。
- 是否必填:非必填。
- 默认值:默认大小 5MB (5 * 1024 * 1024 Bytes)。
- 建议值:建议使用默认大小,太大会导致磁盘占用过多,太小会导致日志记录不全。
ZIMMediaMessageSendNotification
媒体消息发送时的通知回调,可以通过此通知获取消息对象发送前的相关信息
详情
通过该通知,开发者可以获取到消息对象发送前的相关信息,如 localMessageID 等。
- 业务场景:当开发者需要记录和缓存消息发送前的相关信息,可以通过监听该通知获取。
- 注意事项:若无需监听,可传空。
Declared in ZIMDefines.h
属性
onMessageAttached
public ZIMMessageAttachedCallback onMessageAttached消息在落入本地 DB 后,将要向服务端发送消息之前,会回调该通知。
- 业务场景:用于开发者需要在发送消息之前,提前获取消息里的相关信息时,可以使用此接口。
- 是否必填:非必填。若无需监听的情况下,可传空。
- 默认值:空。
onMediaUploadingProgress
public ZIMMediaUploadingProgress onMediaUploadingProgress通过该通知,开发者可以获取到媒体消息上传时的进度回调。
- 业务场景:开发者可用于展示发送媒体消息时的进度条,提升 UI 交互体验。
- 是否必填:非必填。若无需监听的情况下,可传空。
- 默认值:空。
ZIMMessage
消息对象的基类。
详情
标识一条消息的基本参数。
- 注意事项:其中的部分参数如 Message ID 仅在回调时有值。 开发者主动创建此对象用于发送消息时不需要给这些参数赋值。
Declared in ZIMDefines.h
属性
type
messageID
public long long messageID标识这条消息的唯一 ID。
- 业务场景:可用于索引其他消息。
- 注意事项:开发者主动创建一条消息时,不需要修改这个参数,此参数仅在回调时有值。
timestamp
public unsigned long long timestamp标识一条消息的发送时间。
- 业务场景:用于呈现一条消息的发送时间,并可用于消息排序。
- 注意事项:此为标准 UNIX 时间戳,单位为毫秒。
senderUserID
public String senderUserID展示本条消息发送者的 userID。
conversationID
public String conversationID会话的 ID,相同会话类型下的 ID 是唯一的。
direction
sentStatus
conversationType
conversationSeq
public unsigned long long conversationSeq表示该消息在会话中的序号。
orderKey
public long long orderKeyorderKey 越大消息越新,可用于消息排序。
localMessageID
public long long localMessageIDSDK 本地生成的 MessageID,开发者无需关注。
isUserInserted
public bool isUserInserted该消息是否是开发者通过 [insertMessageToLocalDB] 接口插入的消息。
- 默认值:false。
receiptStatus
extendedData
public std::string extendedData消息拓展字段。
- 业务场景:可为消息附加拓展字段,然后发送给对端。
- 是否必填:否。
- 支持版本:2.6.0 及以上。
- 注意事项:长度为1k,可联系技术支持进行配置。
localExtendedData
public String localExtendedData仅本端可见的消息拓展字段,可附带额外的信息存储到本地,可通过 [updateMessageLocalExtendedData] 修改,目前长度的限制是 128K。如有特殊需求,可联系 ZEGO 技术支持进行配置。
isBroadcastMessage
public bool isBroadcastMessage该消息是否是全员推送消息。
- 是否必填:SDK内部赋值。
isMentionAll
public boolean isMentionAll是否需要提醒所有人。业务表现可为“@所有人”。
- 业务场景:例如在群或者房间可使用。
- 是否必填:否。
- 默认值:false。
- 建议值:如果需要提醒所有人,可以设置为 true。
- 注意事项:该值并不会在消息文本上增加 @所有人 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs提醒一批相关的用户。业务表现可为“@某用户”。
- 业务场景:发消息时可以带上
- 是否必填:否。
- 注意事项:该值并不会在消息文本上增加 @某用户 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
messageSeq
public unsigned long long messageSeq表示该消息在会话中的序号。
rootRepliedCount
public unsigned int rootRepliedCount回复消息树对应的根消息的回复消息数量。
repliedInfo
editorUserID
public std::string editorUserID本条消息最新的编辑者的 userID。
editedTime
public unsigned long long editedTime本条消息最新的编辑时间戳。
isGroupTargetedMessage
public bool isGroupTargetedMessage标识该消息是否为群定向消息。
pinnedUserID
public std::string pinnedUserID该消息的最后一次置顶的置顶者。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
pinnedTime
public long long pinnedTime该消息最后一次置顶的置顶时间。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
ZIMMessageLiteInfo
消息简要信息对象的基类。
详情
标识一条消息的基本参数。
Declared in ZIMDefines.h
属性
type
ZIMMessageReaction
表态具体内容。
详情
表态具体内容。
Declared in ZIMDefines.h
属性
conversationID
public std::string conversationID会话 ID。
conversationType
messageID
public long long messageID表态的消息 ID。
reactionType
public std::string reactionType表态类型,由您定义,长度上限为 32 字节。
isSelfIncluded
public bool isSelfIncluded已表态用户中是否包含自己。
totalCount
public unsigned int totalCount表态的用户总数。
userList
ZIMMessageReactionUserQueryConfig
用于查询表态详情成员的配置。
详情
查询表态成员时,需要配置此对象。
Declared in ZIMDefines.h
属性
nextFlag
public unsigned long long nextFlag分页查询的标识位,首次查询时,将此字段设为空字符串。若 [ZIMMessageReactionUserListQueriedCallback] 回调的 "nextFlag" 字段不是空字符串,说明还没结束,需要将其设置到此处以继续下一页的查询。
- 业务场景:开发者可根据该字段进行分页查询成员列表,第一次查询传空。
- 是否必填:非必填。
- 默认值:空。
count
public unsigned int count一次获取多少表态的成员。上限为 100,超出 100 会导致错误。
- 业务场景:开发者可以根据该参数来决定一次需要查询多少房间成员。
- 是否必填:必填。
- 注意事项:分页获取表态成员以降低开销,建议单次获取 20 人以内。若该处填写值为 0,SDK 会默认查询 100 人。
reactionType
public std::string reactionType表态类型,由您自行定义。
ZIMMessageRepliedListQueryConfig
用于查询回复消息列表的配置。
Declared in ZIMDefines.h
属性
nextFlag
public unsigned long long nextFlag分页查询的标识位,首次查询时,将此字段设为0。若 [queryMessageRepliedList] 回调的 "nextFlag" 字段不为0,说明还没结束,需要将其设置到此处以继续下一页的查询。
count
public unsigned int count单次查询的数量。上限为 100,超出 100 会导致错误。
- 是否必填:必填。
ZIMMessageSendNotification
消息发送时的通知回调,可以通过此通知获取消息对象发送前的相关信息
详情
通过该通知,开发者可以获取到消息对象发送前的相关信息,如 localMessageID 等。
- 业务场景:当开发者需要记录和缓存消息发送前的相关信息,可以通过监听该通知获取。
- 注意事项:若无需监听,可传空。
Declared in ZIMDefines.h
属性
onMessageAttached
public ZIMMessageAttachedCallback onMessageAttached消息在落入本地 DB 后,将要向服务端发送消息之前,会回调该通知。
- 业务场景:用于开发者需要在发送消息之前,提前获取消息里的相关信息时,可以使用此接口。
- 是否必填:非必填。若无需监听的情况下,可传空。
- 默认值:空。
onMediaUploadingProgress
public ZIMMediaUploadingProgress onMediaUploadingProgress通过该通知,开发者可以获取到媒体消息上传时的进度回调。
- 业务场景:开发者可用于展示发送媒体消息时的进度条,提升 UI 交互体验。
- 是否必填:非必填。若无需监听的情况下,可传空。
onMultipleMediaUploadingProgress
public ZIMMultipleMediaUploadingProgress onMultipleMediaUploadingProgress通过该通知,开发者可以获取到组合消息里的媒体文件上传时的进度回调。
- 业务场景:开发者可用于展示各媒体文件的上传进度及总的上传进度,提升 UI 交互体验。
- 是否必填:非必填。
- 支持版本:2.19.0 及以上。
ZIMRoomFullInfo
房间详细资料对象。
详情
标识一个房间的详细资料。
Declared in ZIMDefines.h
属性
baseInfo
ZIMRoomInfo
房间资料基础对象。
详情
标识一个唯一房间。
Declared in ZIMDefines.h
属性
roomID
public std::string roomID房间 ID,最大 128 字节的字符串,由开发者自定义生成。
- 是否必填:必填。
- 取值范围:最大 128 字节的字符串。仅支持数字,英文字符 和 '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'。
roomName
public std::string roomName房间名,由开发者自定义生成,最大长度不超过 64 字节的字符串。
- 是否必填:必填。
ZIMRoomMemberQueryConfig
用于查询房间成员的配置。
详情
查找成员时,需要配置此对象。
Declared in ZIMDefines.h
属性
nextFlag
public std::string nextFlag分页查询的标识位,首次查询时,将此字段设为空字符串。若回调的 "nextFlag" 字段不是空字符串,说明还没结束,需要将其设置到此处以继续下一页的查询。
- 业务场景:开发者可根据该字段进行分页查询成员列表,第一次查询传空。
- 是否必填:非必填。
- 默认值:空。
count
public unsigned int count一次获取多少房间成员。
- 业务场景:开发者可以根据该参数来决定一次需要查询多少房间成员。
- 是否必填:必填。
- 注意事项:分页获取房间成员以降低开销,建议单次获取 100 人以内。若该处填写值为 0,SDK 会默认查询 100 人。
ZIMTextMessage
普通文本消息对象。
详情
标识一条普通文本消息。
- 注意事项:回调时若基类的 Type 参数为 Text,可将基类消息对象强转为此类。
Declared in ZIMDefines.h
属性
message
public std::string message消息的内容,支持任意数据。如果此消息的类型为 Text 文本消息,则应当为标准 UTF-8 字符串。
- 是否必填:发送端必填,否则消息会发送失败。
type
messageID
public long long messageID标识这条消息的唯一 ID。
- 业务场景:可用于索引其他消息。
- 注意事项:开发者主动创建一条消息时,不需要修改这个参数,此参数仅在回调时有值。
timestamp
public unsigned long long timestamp标识一条消息的发送时间。
- 业务场景:用于呈现一条消息的发送时间,并可用于消息排序。
- 注意事项:此为标准 UNIX 时间戳,单位为毫秒。
senderUserID
public String senderUserID展示本条消息发送者的 userID。
conversationID
public String conversationID会话的 ID,相同会话类型下的 ID 是唯一的。
direction
sentStatus
conversationType
conversationSeq
public unsigned long long conversationSeq表示该消息在会话中的序号。
orderKey
public long long orderKeyorderKey 越大消息越新,可用于消息排序。
localMessageID
public long long localMessageIDSDK 本地生成的 MessageID,开发者无需关注。
isUserInserted
public bool isUserInserted该消息是否是开发者通过 [insertMessageToLocalDB] 接口插入的消息。
- 默认值:false。
receiptStatus
extendedData
public std::string extendedData消息拓展字段。
- 业务场景:可为消息附加拓展字段,然后发送给对端。
- 是否必填:否。
- 支持版本:2.6.0 及以上。
- 注意事项:长度为1k,可联系技术支持进行配置。
localExtendedData
public String localExtendedData仅本端可见的消息拓展字段,可附带额外的信息存储到本地,可通过 [updateMessageLocalExtendedData] 修改,目前长度的限制是 128K。如有特殊需求,可联系 ZEGO 技术支持进行配置。
isBroadcastMessage
public bool isBroadcastMessage该消息是否是全员推送消息。
- 是否必填:SDK内部赋值。
isMentionAll
public boolean isMentionAll是否需要提醒所有人。业务表现可为“@所有人”。
- 业务场景:例如在群或者房间可使用。
- 是否必填:否。
- 默认值:false。
- 建议值:如果需要提醒所有人,可以设置为 true。
- 注意事项:该值并不会在消息文本上增加 @所有人 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs提醒一批相关的用户。业务表现可为“@某用户”。
- 业务场景:发消息时可以带上
- 是否必填:否。
- 注意事项:该值并不会在消息文本上增加 @某用户 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
messageSeq
public unsigned long long messageSeq表示该消息在会话中的序号。
rootRepliedCount
public unsigned int rootRepliedCount回复消息树对应的根消息的回复消息数量。
repliedInfo
editorUserID
public std::string editorUserID本条消息最新的编辑者的 userID。
editedTime
public unsigned long long editedTime本条消息最新的编辑时间戳。
isGroupTargetedMessage
public bool isGroupTargetedMessage标识该消息是否为群定向消息。
pinnedUserID
public std::string pinnedUserID该消息的最后一次置顶的置顶者。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
pinnedTime
public long long pinnedTime该消息最后一次置顶的置顶时间。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
方法
ZIMTextMessage
ZIMTextMessageLiteInfo
普通文本消息简要信息对象。
详情
标识一条普通文本消息的简要信息。
- 注意事项:回调时若基类的 Type 参数为 Text,可将基类消息简要信息对象强转为此类。
Declared in ZIMDefines.h
属性
message
public std::string message消息的内容,支持任意数据。如果此消息的类型为 Text 文本消息,则应当为标准 UTF-8 字符串。
- 是否必填:发送端必填,否则消息会发送失败。
type
方法
ZIMTextMessageLiteInfo
ZIMTipsMessage
Tips 消息对象。
详情
标识一条 Tips 消息。
- 注意事项:回调时若基类的 Type 参数为 Tips,可将基类消息对象强转为此类。
Declared in ZIMDefines.h
属性
event
operatedUser
targetUserList
changeInfo
type
messageID
public long long messageID标识这条消息的唯一 ID。
- 业务场景:可用于索引其他消息。
- 注意事项:开发者主动创建一条消息时,不需要修改这个参数,此参数仅在回调时有值。
timestamp
public unsigned long long timestamp标识一条消息的发送时间。
- 业务场景:用于呈现一条消息的发送时间,并可用于消息排序。
- 注意事项:此为标准 UNIX 时间戳,单位为毫秒。
senderUserID
public String senderUserID展示本条消息发送者的 userID。
conversationID
public String conversationID会话的 ID,相同会话类型下的 ID 是唯一的。
direction
sentStatus
conversationType
conversationSeq
public unsigned long long conversationSeq表示该消息在会话中的序号。
orderKey
public long long orderKeyorderKey 越大消息越新,可用于消息排序。
localMessageID
public long long localMessageIDSDK 本地生成的 MessageID,开发者无需关注。
isUserInserted
public bool isUserInserted该消息是否是开发者通过 [insertMessageToLocalDB] 接口插入的消息。
- 默认值:false。
receiptStatus
extendedData
public std::string extendedData消息拓展字段。
- 业务场景:可为消息附加拓展字段,然后发送给对端。
- 是否必填:否。
- 支持版本:2.6.0 及以上。
- 注意事项:长度为1k,可联系技术支持进行配置。
localExtendedData
public String localExtendedData仅本端可见的消息拓展字段,可附带额外的信息存储到本地,可通过 [updateMessageLocalExtendedData] 修改,目前长度的限制是 128K。如有特殊需求,可联系 ZEGO 技术支持进行配置。
isBroadcastMessage
public bool isBroadcastMessage该消息是否是全员推送消息。
- 是否必填:SDK内部赋值。
isMentionAll
public boolean isMentionAll是否需要提醒所有人。业务表现可为“@所有人”。
- 业务场景:例如在群或者房间可使用。
- 是否必填:否。
- 默认值:false。
- 建议值:如果需要提醒所有人,可以设置为 true。
- 注意事项:该值并不会在消息文本上增加 @所有人 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
mentionedUserIDs
public std::vector\<std::string> mentionedUserIDs提醒一批相关的用户。业务表现可为“@某用户”。
- 业务场景:发消息时可以带上
- 是否必填:否。
- 注意事项:该值并不会在消息文本上增加 @某用户 的字样,需要开发者自行实现。
支持版本 : 2.14.0 及以上。
messageSeq
public unsigned long long messageSeq表示该消息在会话中的序号。
rootRepliedCount
public unsigned int rootRepliedCount回复消息树对应的根消息的回复消息数量。
repliedInfo
editorUserID
public std::string editorUserID本条消息最新的编辑者的 userID。
editedTime
public unsigned long long editedTime本条消息最新的编辑时间戳。
isGroupTargetedMessage
public bool isGroupTargetedMessage标识该消息是否为群定向消息。
pinnedUserID
public std::string pinnedUserID该消息的最后一次置顶的置顶者。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
pinnedTime
public long long pinnedTime该消息最后一次置顶的置顶时间。
- 业务场景:该参数仅在 [queryPinnedMessageList] 或 [onMessagePinStatusChanged] 中会被赋值。
ZIMUserFullInfo
用户详细资料对象。
详情
标识一个唯一用户。
- 注意事项:注意 userID 在同一个 appID 下需唯一,否则会出现互踢的情况。强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。
Declared in ZIMDefines.h
属性
baseInfo
userAvatarUrl
public std::string userAvatarUrl用户头像 URL。
- 是否必填:非必填。
- 使用限制:最大 500 字节,无特殊字符限制。
extendedData
public std::string extendedData用户扩展信息。
- 是否必填:非必填。
- 隐私保护声明:不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
ZIMUserInfo
用户资料对象。
详情
标识一个唯一用户。
- 注意事项:注意 userID 在同一个 appID 下需唯一,否则会出现互踢的情况。强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。
Declared in ZIMDefines.h
属性
userID
public std::string userID用户 ID,由开发者自定义生成。
- 是否必填:必填。
- 取值范围:最大 32 字节的字符串。仅支持数字,英文字符 和 '!', '#', '$', '%', '&', '(', ')', '+', '-', ':', ';', '<', '=', '.', '>', '?', '@', '[', ']', '^', '_', '{', '}', '|', '~'。
- 隐私保护声明:不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 注意事项:注意 userID 在同一个 appID 下需唯一,否则会出现互踢的情况。 强烈建议 userID 与业务 APP 的用户 ID 一一对应,即一个 userID 与一个真实用户是固定且唯一的,而不应该是以随机的 userID 的方式传给 SDK 的方式。因为唯一且固定的 userID 可以让 ZEGO 技术人员快速定位线上问题。
userName
public std::string userName用户 name,由开发者自定义生成。
- 是否必填:非必填。
- 取值范围:2.0.0 及以后版本,支持最大 256 字节的字符串。
- 隐私保护声明:不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
userAvatarUrl
public String userAvatarUrl用户头像,由开发者自定义生成。
- 是否必填:非必填。
- 取值范围:特殊字符不受限制,最大长度为500字节。
- 隐私保护声明:不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 支持版本:2.13.0 及以上。
- 注意事项:房间成员列表需要在 2.18.0 版本后才会返回该值。
userExtendedData
public std::string userExtendedData用户的扩展字段信息。
- 注意事项:仅房间用户时,该属性有值。
