Class
| ZIM | ZPNs |
ZIM
详情
ZIM SDK 主类。
方法
create
create(appID: number): ZIM | null参数
| 名称 | 类型 | 描述 |
|---|---|---|
| appID | number | ZEGO 为开发者签发的应用 ID,请联系 ZEGO 技术支持申请。 |
详情
创建 ZIM 实例,用于后续调用其他成员函数。
- 调用时机:在调用其他成员函数之前,必须先调用此 API 创建出 ZIM 示例。
- 影响范围:不调用此函数将导致其他成员函数无法调用。
- 平台差异:Android 平台下在调用此函数时,除了传入 appID 之外,还必须将 Application 类对象传入。
- 支持版本:1.1.0 及以上。
- 使用限制:当前仅支持创建一个实例,重复调用将返回 [null]。
- 注意事项:目前 [create] 函数最多只能创建一个实例,若多次调用,则只有第一次返回有效实例,其余都为 [null]。开发者应自行保存 ZIM 实例,并且在使用 ZIM 业务功能的过程中确保实例的生命周期处于可用状态。建议作为单例封装在一个 SDK 管理类中。
返回值
ZIM 实例。
create
create(appConfig: ZIMAppConfig): ZIM | null参数
| 名称 | 类型 | 描述 |
|---|---|---|
| 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
getVersion(): string获取 SDK 版本号。
- 业务场景:1. SDK 在运行过程中,当开发者发现与预期情况不符时,可将问题与相关日志提交给 ZEGO 技术人员定位,ZEGO 技术人员可能需要 SDK 的版本的信息来辅助定位问题。
- 开发者也可以收集此信息作为 App 所使用的 SDK 的版本信息,以便统计线上各版本 App 对应的各版本 SDK。
- 调用时机:在任意时刻均可调用。
- 支持版本:1.1.0 及以上。
SDK 版本号。
getInstance
getInstance(): ZIM获取 ZIM 单例对象,用于后续调用其他成员函数。
- 调用时机:必须在调用 [create] 创建实例之后,才能调用此函数获取到单例对象,否则将返回 [null]。
- 相关接口:[create]。
- 支持版本:2.3.0 及以上。
setGeofencingConfig
setGeofencingConfig(areaList: number[], type: ZIMGeofencingType): boolean参数
| 名称 | 类型 | 描述 |
|---|---|---|
| areaList | number[] | 地理围栏区域列表。最少设置 1 个,最多设置不得大于 SDK 所支持个数。 |
| type | ZIMGeofencingType | 地理围栏区域类型。 |
- 业务场景:地理围栏指将即时通信数据传输限定在某一区域,用以满足地区数据隐私安全相关法规,即限定访问某一特定区域的通信服务。
- 调用时机/通知时机:[setGeofencingConfig] 接口需要在 [create] 接口之前调用。
- 支持版本:2.12.0及以上。
- 使用限制:如果需要使用地理围栏功能,请联系 ZEGO 技术支持。
- 注意事项:如需更新地理围栏信息,请调用 [destroy] 接口销毁当前 ZIM 实例,再调用本接口。
返回值
地理围栏设置结果。
addFriend
addFriend(userID: string, config: ZIMFriendAddConfig): Promise<ZIMFriendAddedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用户ID。 |
| config | ZIMFriendAddConfig | 添加好友相关配置。 |
详情
通过该接口可以将指定 userID 用户添加到好友列表。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[friendListChanged]。
- 支持版本:2.14.0 及以上。
返回值
添加好友结果回调。
sendFriendApplication
sendFriendApplication(userID: string, config: ZIMFriendApplicationSendConfig): Promise<ZIMFriendApplicationSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用户ID。 |
| config | ZIMFriendApplicationSendConfig | 发起好友申请相关配置。 |
详情
当用户需要发起好友申请,可通过 [sendFriendApplication] 向对方发起好友申请。
- 业务场景:当需要对一个用户发起好友申请时,可调用此接口。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[friendApplicationListChanged]。
- 支持版本:2.14.0 及以上。
返回值
发起好友申请结果回调。
deleteFriends
deleteFriends(userIDs: string[], config: ZIMFriendDeleteConfig): Promise<ZIMFriendsDeletedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 要删除的用户ID列表。 |
| config | ZIMFriendDeleteConfig | 删除好友相关配置。 |
详情
通过该接口可以将好友列表中指定用户删除。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[friendListChanged]。
- 支持版本:2.14.0 及以上。
返回值
删除好友结果回调。
checkFriendsRelation
checkFriendsRelation(userIDs: string[], config: ZIMFriendRelationCheckConfig): Promise<ZIMFriendsRelationCheckedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 要检查的用户ID列表。 |
| config | ZIMFriendRelationCheckConfig | 检查好友关系相关配置。 |
详情
通过该接口可以检查与指定用户之间的好友关系。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendsRelationCheckedResult]。
- 支持版本:2.14.0 及以上。
返回值
检查好友关系结果回调。
updateFriendAlias
updateFriendAlias(friendAlias: string, userID: string): Promise<ZIMFriendAliasUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| friendAlias | string | 好友备注。 |
| userID | string | 用户 ID。 |
详情
通过该接口可以将指定 userID 用户更新备注。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendAliasUpdatedResult]。
- 支持版本:2.14.0 及以上。
返回值
更新好友备注结果回调。
updateFriendAttributes
updateFriendAttributes(friendAttributes: Record<string, string>, userID: string): Promise<ZIMFriendAttributesUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| friendAttributes | Record<string, string> | 好友属性。最多设置 5 个。属性的 key 仅支持从 k0 ~ k4 取值。 |
| userID | string | 用户 ID。 |
详情
通过该接口可以将指定 userID 用户更新好友属性。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 支持版本:2.14.0 及以上。
返回值
更新好友属性结果回调。
acceptFriendApplication
acceptFriendApplication(userID: string, config: ZIMFriendApplicationAcceptConfig): Promise<ZIMFriendApplicationAcceptedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用户 ID。 |
| config | ZIMFriendApplicationAcceptConfig | 接受好友申请配置。 |
详情
收到好友申请后,通过该接口接受该好友申请。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[onFriendApplicationUpdated]、[onFriendListChanged]。
- 支持版本:2.14.0 及以上。
返回值
接受好友申请的结果回调。
rejectFriendApplication
rejectFriendApplication(userID: string, config: ZIMFriendApplicationRejectConfig): Promise<ZIMFriendApplicationRejectedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用户 ID。 |
| config | ZIMFriendApplicationRejectConfig | 拒绝好友申请配置。 |
详情
收到好友申请后,通过该接口拒绝该好友申请。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendApplicationRejectedResult]。
- 支持版本:2.14.0 及以上。
返回值
拒绝好友申请的结果回调。
queryFriendsInfo
queryFriendsInfo(userIDs: string[]): Promise<ZIMFriendsInfoQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 用户 ID 列表。 |
详情
需要查询一批指定好友的信息做展示,可通过该接口查询。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendListQueriedResult]。
- 支持版本:2.14.0 及以上。
返回值
批量查询好友信息的结果回调。
queryFriendList
queryFriendList(config: ZIMFriendListQueryConfig): Promise<ZIMFriendListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMFriendListQueryConfig | 查询好友列表配置。 |
详情
需要分页查询好友列表,可通过该接口查询。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendListQueriedResult]。
- 支持版本:2.14.0 及以上。
返回值
查询好友列表返回结果。
queryFriendApplicationList
queryFriendApplicationList(config: ZIMFriendApplicationListQueryConfig): Promise<ZIMFriendApplicationListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMFriendApplicationListQueryConfig | 查询好友申请列表配置。 |
详情
需要分页查询好友申请列表,可通过该接口查询。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendApplicationListQueriedResult]。
- 支持版本:2.14.0 及以上。
返回值
查询好友申请列表的返回结果。
searchLocalFriends
searchLocalFriends(config: ZIMFriendsSearchConfig): Promise<ZIMFriendsSearchedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMFriendsSearchConfig | 好友搜索配置。 |
详情
通过该接口可以根据关键词搜索本地好友信息。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMFriendsSearchedResult]。
- 支持版本:2.14.0 及以上。
返回值
搜索本地好友信息返回结果。
addUsersToBlacklist
addUsersToBlacklist(userIDs: string[]): Promise<ZIMBlacklistUsersAddedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 需要被拉黑的 userID 数组。 |
详情
通过该接口可以将指定 userID 用户添加到黑名单。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMBlacklistUsersAddedResult]。
- 支持版本:2.13.0 及以上。
- 使用限制: 传入的 userID 一次性不能超过 20 个。
removeUsersFromBlacklist
removeUsersFromBlacklist(userIDs: string[]): Promise<ZIMBlacklistUsersRemovedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 需要被解除黑名单的 userID 数组。 |
详情
通过该接口可以将指定 userID 用户移除出黑名单。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMBlacklistUsersRemovedResult]。
- 支持版本:2.13.0 及以上。
- 使用限制: 传入的 userID 一次性不能超过 20 个。
queryBlacklist
queryBlacklist(config: ZIMBlacklistQueryConfig): Promise<ZIMBlacklistQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMBlacklistQueryConfig | 查询黑名单配置。 |
详情
查询黑名单。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMBlacklistQueriedResult]。
- 支持版本:2.13.0 及以上。
checkUserIsInBlacklist
checkUserIsInBlacklist(userID: string): Promise<ZIMBlacklistCheckedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 需要要检查的用户ID信息。 |
详情
通过该接口可以检查某个 userID 是否在黑名单内。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMBlacklistCheckedResult]。
- 支持版本:2.13.0 及以上。
querySubscribedUserStatusList
querySubscribedUserStatusList(config: ZIMSubscribedUserStatusQueryConfig): Promise<ZIMSubscribedUserStatusListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMSubscribedUserStatusQueryConfig | 查询订阅列表有关的相关参数。 |
详情
用于查询当前用户用户状态列表。
- 业务场景:您可以通过该接口获得当前用户的用户订阅列表在本地的缓存,方便您了解当前用户订阅了哪些用户,获取订阅用户的订阅过期时间、以及订阅用户上次变更时的状态数据。
- 调用时机/通知时机:登录后即可调用,不受网络状态限制。
- 相关回调:ZIMSubscribedUserStatusListQueriedCallback、subscribeUsersStatus、unsubscribeUsersStatus。
- 相关接口:subscribeUsersStatus、unsubscribeUsersStatus。
- 支持版本:2.18.0
- 使用限制:非联网查询,没有调用频率限制,获取的数据为 SDK 在本地的缓存,登录后网络条件良好的情况下, SDK 定时向后台同步。
返回值
结果回调。
queryUsersStatus
queryUsersStatus(userIDs: string[]): Promise<ZIMUsersStatusQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 查询目标用户列表。 |
详情
批量查询其他用户的用户状态。
- 业务场景:当您不需要持续关注某些用户的在线状态,仅需要单次获取时可以通过该接口向后台做一次查询。
- 调用时机/通知时机:登录后并且网络条件良好的情况下可以调用。
- 相关回调:ZIMUsersStatusQueriedCallback 。
- 支持版本:2.18.0
- 注意事项:不可以查询未注册的用户。
返回值
结果回调。
subscribeUsersStatus
subscribeUsersStatus(userIDs: string[], config: ZIMUserStatusSubscribeConfig): Promise<ZIMUsersStatusSubscribedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 被订阅的用户列表。 |
| config | ZIMUserStatusSubscribeConfig | 订阅相关的配置项。 |
详情
通过该接口订阅其他用户的用户状态。
- 业务场景:进入群组/房间/好友列表,需要了解当前哪些房间/群成员/好友在线时,通过该接口进行订阅,成功之后这些用户的用户状态将通过 userStatusUpdated 接口回调。
- 调用时机/通知时机:登录成功并且网络条件良好的情况下即可调用。
- 相关回调:[ZIMUsersStatusSubscribedResult]、[userStatusUpdated]
- 相关接口:[unsubscribeUsersStatus]
- 支持版本:2.18.0
- 使用限制:单次订阅用户上限为 100 人,单个用户默认最多可以订阅 3000 人,当订阅人数达到上限后,新订阅的用户将会覆盖最早订阅的用户。
- 注意事项:不可以通过该接口订阅当前登录用户,被订阅的用户必须已注册。
返回值
结果回调。
unsubscribeUsersStatus
unsubscribeUsersStatus(userIDs: string[]): Promise<ZIMUsersStatusUnsubscribedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 批量取消的用户列表。 |
详情
批量取消订阅当前用户订阅列表中的目标用户。
- 业务场景:非多端登录场景下,当您离开房间/群组时,如果您短期内不再关注房间/群组成员的用户状态,并且您在进入房间/群组时订阅过房间/群组成员的用户状态,可以通过该接口取消订阅。
- 调用时机/通知时机:登录后,并且网络情况良好时调用。
- 相关回调:ZIMUsersStatusUnsubscribedCallback。
- 相关接口:subscribeUsersStatus、queryUsersStatus、querySubscribedUserStatusList。
- 支持版本:2.18.0
- 使用限制:单次传入的 userID 列表最大为 100 人。
- 注意事项:不可以取消不在当前用户订阅列表中的用户。
返回值
结果回调。
updateUserCustomStatus
updateUserCustomStatus(customStatus: string): ZIMUserCustomStatusUpdatedResult参数
| 名称 | 类型 | 描述 |
|---|---|---|
| customStatus | string | 详情描述:用户自定义状态,默认最大值为 64 字节,默认过期时间为 1 天,过期后重置为空字符串。登录时,如果该字段为空字符串(默认为空字符串),那么不会修改当前用户的自定义状态。 |
详情
根据您业务需要,自行设置定义状态,例如请勿打扰、忙碌等。
- 业务场景:登录后、类似微信用户设置"干饭"、"闭关"等状态、或者类似 QQ 用户设置"请勿打扰"、"忙碌"等状态时,调用该接口来修改当前用户的自定义状态。
- 调用时机/通知时机:在线登录后并且存在连接网络时。
- 相关回调:接口调用成功更新自定义状态后, 多端登录下的其他设备、通过 subscribeUsersStatus 订阅当前用户状态的用户,将会收到 onUserStatusUpdated 并更新当前用户的自定义状态。
- 支持版本:2.20.0 以及以后版本。
- 使用限制:1 次/秒。
返回值
更新自定义状态的异步结果。
updateUserOfflinePushRule
updateUserOfflinePushRule(offlinePushRule: ZIMUserOfflinePushRule): Promise<ZIMUserOfflinePushRuleUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| offlinePushRule | ZIMUserOfflinePushRule | 用户离线推送规则信息,每次调用接口将会使用入参对象的成员属性全量更新。 |
详情
通过该接口修改离线推送的自定规则,作用范围为当前用户。
- 业务场景:比如多端登录场景下,开发者希望桌面端在线时,移动端不希望收到离线推送,这种场景可以通过调用该接口来实现此功能。
- 调用时机:登录后且网络状态良好的情况下可以调用。
- 影响范围:接口调用成功后,所有端将会收到 userRuleUpdate 通知用户规则发生了更新。
- 相关回调:userRuleUpdate、ZIMUserOfflinePushRuleUpdatedResult
- 相关接口:querySelfUserInfo
- 支持版本:2.15.0 以及以后版本。
返回值
修改离线推送的结果回调。
querySelfUserInfo
querySelfUserInfo(): Promise<ZIMSelfUserInfoQueriedResult>查询当前用户的信息、用户规则。离线状态下,可以用于查询本地数据。
- 业务场景:需要展示自身用户信息、规则时可以调用查询,如进入当前用户的个人页时。
- 调用时机:登录后即可调用。
- 相关回调:ZIMSelfUserInfoQueriedCallback、userInfoUpdated、userRuleUpdated
- 支持版本:2.15.0 及以后版本。
查询自身用户信息、用户规则的结果回调。
on
on<K extends keyof ZIMEventHandler>(type: K, listener: ZIMEventHandler[K]): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| type | K | 监听事件类型。 |
| listener | ZIMEventHandler[K] | 监听事件的回调函数。 |
- 业务场景:可通过注册指定方法获取相关信息。
- 调用时机:初始化 SDK 之后。
- 支持版本:1.1.0 及以上。
off
off<K extends keyof ZIMEventHandler>(type: K): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| type | K | 监听事件类型。 |
详情
可删除指定监听事件。
- 调用时机:初始化 SDK 且注册了监听事件后。
- 支持版本:1.1.0 及以上。
setLogConfig
setLogConfig(config: ZIMLogConfig): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMLogConfig | 日志配置对象。 |
详情
设置日志相关配置,包括本地日志级别和上传的日志级别。
- 默认值:日志等级为 info。
- 调用时机:必须在调用 [create] 创建实例之后。
- 平台差异:不同平台的默认值不一样,请参考默认值。
- 相关参考:详细内容请参考 https://doc-zh.zego.im/faq/IM_sdkLog?product=IM&platform=all 。
- 支持版本:1.1.0 及以上。
login
login(userInfo: ZIMUserInfo, token: string): Promise<void>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userInfo | ZIMUserInfo | 用于标识用户的信息。包含用户的唯一 ID和用户名。注意 userID 在同一个 appID 下需唯一,否则会出现互踢的情况。 注意:不支持通过此接口设置 ZIMUserInfo.userAvatarUrl。 |
| token | string | 由开发者业务服务器下发的鉴权 Token,用以保证登录的安全性。Token 有效时长不能超过 24 天。 |
详情
登录 ZIM 服务。[login] 为 ZIM 功能最重要的一个步骤,在使用任何其他功能之前,都需要先进行登录。
- 调用时机:必须在调用 [create] 创建实例之后,调用其他实例函数之前调用此函数。
- 隐私保护声明:提醒用户尽量不要在 userID 参数里传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:开发者除了能在 Promise 回调结果中得到登录结果之外,在登录请求中和登录成功/失败后,还将收到 [connectionStateChanged] 回调,用于判断当前用户的登录状态。
- 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617 。
- 支持版本:1.1.0 及以上。
- 注意事项:在使用 ZIM 的单聊、房间、收发消息等功能之前,必须先调用此函数进行登录,通过登录结果可向用户展示 UI。
返回值
登录的结果回调。
login
login(userID: string, config: ZIMLoginConfig): Promise<void>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 用于标识用户的信息,用户的唯一 ID。 |
| config | ZIMLoginConfig | 用于特定登录行为的各项参数。 |
详情
登录 ZIM 服务。[login] 为 ZIM 功能最重要的一个步骤,在使用任何其他功能之前,都需要先进行登录。
- 调用时机:必须在调用 [create] 创建实例之后,调用其他实例函数之前调用此函数。
- 隐私保护声明:提醒用户尽量不要在 userID 参数里传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:开发者除了能在 Promise 回调结果中得到登录结果之外,在登录请求中和登录成功/失败后,还将收到 [connectionStateChanged] 回调,用于判断当前用户的登录状态。
- 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617 。
- 支持版本:2.13.0 及以上。
- 注意事项:在使用 ZIM 的单聊、房间、收发消息等功能之前,必须先调用此函数进行登录,通过登录结果可向用户展示 UI。
返回值
登录的结果回调。
renewToken
renewToken(token: string): Promise<ZIMTokenRenewedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| token | string | 由开发者业务服务器下发的 Token,用以保证安全性。生成规则详见 ZEGO 官网文档。 |
详情
更新鉴权 Token,使鉴权 Token 在过期之后能够及时更新,以继续正常使用 ZIM 的功能。
- 调用时机:必须在调用 [create] 创建实例之后,通过该实例来调用此函数。
- 生命周期:该函数的生命周期依赖鉴权 Token 的有效期,由开发者业务方自行决定。
- 相关参考:详情请参考鉴权 Token 生成 https://doc-zh.zego.im/article/11617 。
- 支持版本:1.1.0 及以上。
- 注意事项:开发者在收到 [onTokenWillExpire] 回调后,开发者需要及时向自己的鉴权服务器请求重新生成一个 Token。
返回值
更新 Token 的结果的回调。
queryUsersInfo
queryUsersInfo(userIDs: string[], config: ZIMUsersInfoQueryConfig): Promise<ZIMUsersInfoQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | userID 数组。 |
| config | ZIMUsersInfoQueryConfig | 查询用户信息配置。 |
详情
通过该接口可以通过 userID 来查询获得对应的 UserInfo。
- 调用时机:必须在调用 [create] 创建实例之后,调用 [login] 登录后才可使用。
- 相关回调:[ZIMUsersInfoQueriedCallback]。
- 支持版本:2.3.0 及以上。
- 使用限制:单次调用接口,查询 UserID 不能超过 10 个; 在 10 秒内,多次调用接口,所有查询的 UserID 累计总数不能超过 10 个。
返回值
查询用户信息的结果的回调。
updateUserName
updateUserName(userName: string): Promise<ZIMUserNameUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userName | string | 详情描述:需要设置的用户名称。 取值范围:2.0.0 及以后版本,支持最大 256 字节的字符串。 隐私保护声明:不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。 |
详情
在用户登录后,调用该接口可以更新用户自身的用户名。
- 调用时机/通知时机:用户登录后。
- 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:[ZIMUserNameUpdatedCallback]。
- 相关接口:[updateUserExtendedData] 与 [queryUsersInfo]。
- 支持版本:2.2.0 及以上。
- 注意事项:该接口不支持修改房间内用户名。
返回值
修改用户名的回调结果。
updateUserAvatarUrl
updateUserAvatarUrl(userAvatarUrl: string): Promise<ZIMUserAvatarUrlUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userAvatarUrl | string | 准备修改为的用户头像 URL。 |
详情
在用户登录后,调用该接口可以设置或者更新用户自身的用户头像 URL。
- 调用时机/通知时机:用户登录后。
- 相关回调:[ZIMUserAvatarUrlUpdatedCallback]。
- 相关接口:[queryUsersInfo]。
- 支持版本:2.3.0 及以上。
- 使用限制:无特殊字符限制,最大 500 字节。
- 注意事项:用户头像本身需要开发者自行存储,ZIM 只作为透传 URL 保存其用户信息。
返回值
修改用户头像 URL 的回调结果。
updateUserExtendedData
updateUserExtendedData(extendedData: string): Promise<ZIMUserExtendedDataUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| extendedData | string | 准备修改为的用户扩展字段。 |
详情
在用户登录后,调用该接口可以更新用户自身的用户扩展字段。
- 调用时机/通知时机:用户登录后。
- 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:[ZIMUserExtendedDataUpdatedCallback]。
- 相关接口:[updateUserName] 与 [queryUsersInfo]。
- 支持版本:2.2.0 及以上。
返回值
修改用户扩展字段的回调结果。
uploadLog
uploadLog(): Promise<void>当调用此函数时 SDK 会自动将日志文件打包并上传到 ZEGO 服务器。
- 业务场景:开发者可在 App 提供业务上的“反馈”渠道,当用户反馈的问题属于 ZEGO SDK 时,可调用此函数将 SDK 的本地日志信息上传,并联系 ZEGO 技术支持协助定位用户问题。
- 调用时机:通过 [create] 创建 ZIM 实例并 [login] 登录之后。
- 支持版本:1.2.0 及以上。
- 注意事项:在调用本接口上传日志后,如果过快的调用 [destory] 或 退出 App,则可能存在失败的情况。建议等待几秒,等收到上传成功回调后,再调用 [destory] 或 退出 App。
日志上传的结果。
logout
logout(): void登出 ZIM 服务。
- 调用时机:必须在调用 [create] 创建实例之后,通过该实例来调用此函数。
- 相关回调:开发者在登出后,将收到 [onConnectionStateChanged] 回调,此时登录状态为 [Disconnected]。
- 支持版本:1.1.0 及以上。
- 注意事项:在调用 [logout] 之后,将无法继续使用 ZIM 的单聊、房间、收发消息等功能。若开发者需要再次使用 ZIM 服务,必须先调用 [login] 再次登录。
destroy
destroy(): void释放 ZIM 实例使用的资源,在不再需要使用 ZIM 的时候必须调用此函数释放占用的内存资源,否则可能将发生内存泄漏的情况。
- 调用时机:在不需要再使用 ZIM 的时候调用,一般可以在对 ZIM 对象置空之前调用。
- 支持版本:1.1.0 及以上版本。
- 注意事项:在调用此函数之后,ZIM 内部功能将不可再使用,且所有回调通知都将不再触发。若需要继续使用 ZIM 功能,则请开发者重新调用 [create] 创建新的实例。
callInvite
callInvite(invitees: string[], config: ZIMCallInviteConfig): Promise<ZIMCallInvitationSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| invitees | string[] | 被邀请者列表。 |
| config | ZIMCallInviteConfig | 呼叫邀请相关配置。 |
详情
当主叫发起呼叫邀请后,被叫可通过 [callAccept] 来接受呼叫邀请或者 [callReject] 来拒绝邀请。
- 业务场景:当需要对一个或者多个用户发起邀请时,可调用此接口。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[ZIMCallInvitationSentCallback]。
- 支持版本:2.0.0 及以上。
- 注意事项:呼叫邀请有超时时间,超时时间到了呼叫邀请将结束,使用 [ZIMCallInviteConfig] 中的 timeout 来控制超时时间,范围为1-600,单位为秒。暂不支持离线呼叫邀请,接收或拒绝后呼叫邀请随即结束。invitees 最多为 9 人。
返回值
发起呼叫的结果回调。
callJoin
callJoin(callID: string, config: ZIMCallJoinConfig): Promise<ZIMCallJoinSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | string | 欲加入的进阶模式呼叫邀请 ID。 |
| config | ZIMCallJoinConfig | 加入呼叫邀请的相关配置。 |
详情
在实现进阶模式呼叫邀请后,可以调用该接口加入呼叫或者切换主设备。
- 业务场景:没有加入呼叫的用户加入呼叫,或者已在呼叫内的用户切换主设备。
- 调用时机:需要登录后调用。
- 支持版本:2.12.0。
返回值
加入呼叫或切换主设备的回调。
callCancel
callCancel(invitees: string[], callID: string, config: ZIMCallCancelConfig): Promise<ZIMCallCancelSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| invitees | string[] | 被邀请者列表。 |
| callID | string | 欲取消的呼叫邀请ID。 |
| config | ZIMCallCancelConfig | 取消呼叫邀请的相关配置。 |
详情
当主叫发起呼叫邀请后,在超时时间前可通过该接口取消该呼叫邀请。
- 业务场景:需要取消之前发起的呼叫邀请时,可通过该接口来取消呼叫邀请。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[ZIMCallCancelSentCallback]。
- 支持版本:2.0.0 及以上。
- 注意事项:呼叫邀请的超时时间到后再取消呼叫邀请会失败。
返回值
呼叫取消的结果回调。
callAccept
callAccept(callID: string, config: ZIMCallAcceptConfig): Promise<ZIMCallAcceptanceSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | string | 欲接受的呼叫邀请 ID。 |
| config | ZIMCallAcceptConfig | 接受呼叫邀请的相关配置。 |
详情
当主叫发起呼叫邀请后,被叫可通过该接口接受这次呼叫邀请。
- 业务场景:ZIM SDK在接受后无相关业务逻辑,开发者可以自定义接受后的开发逻辑,如收到其他主叫发起的邀请后,通过该接口来接受呼叫邀请,之后使用 RTC 开启语音聊天功能。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[ZIMCallAcceptanceSentCallback]。
- 支持版本:2.0.0 及以上。
- 注意事项:被叫接受未被邀请的 callID 会失败。超时后接受会报错。
返回值
接收呼叫的结果回调。
callReject
callReject(callID: string, config: ZIMCallRejectConfig): Promise<ZIMCallRejectionSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | string | 欲拒绝的呼叫邀请ID。 |
| config | ZIMCallRejectConfig | 拒绝呼叫邀请的相关配置。 |
详情
当主叫发起呼叫邀请后,被叫可通过该接口拒绝这次呼叫邀请。
- 业务场景:收到其他主叫发起的邀请后,可通过该接口来拒绝呼叫邀请。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关回调:[ZIMCallRejectionSentCallback]。
- 支持版本:2.0.0 及以上。
- 注意事项:被叫拒绝未被邀请的callid会失败,ZIM SDK在接受后无相关业务逻辑,开发者可以自定义拒绝后的开发逻辑。
返回值
拒绝呼叫的结果回调。
callQuit
callQuit(callID: string, config: ZIMCallQuitConfig): Promise<ZIMCallQuitSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | string | 欲退出的呼叫邀请ID。 |
| config | ZIMCallQuitConfig | 退出呼叫邀请的相关配置。 |
详情
退出进阶模式呼叫。
- 调用时机:呼叫建立后,呼叫状态为 Accepted 的用户可调用此接口。
- 相关回调:[ZIMCallQuitSentResult]。
- 支持版本:2.9.0 及以上。
- 注意事项:被叫退出未接受的呼叫的 callid 会失败,ZIM SDK 在接受后无相关业务逻辑,开发者可以自定义退出呼叫后的开发逻辑。
返回值
退出呼叫的结果回调。
callEnd
callEnd(callID: string, config: ZIMCallEndConfig): Promise<ZIMCallEndSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| callID | string | 欲结束的呼叫ID。 |
| config | ZIMCallEndConfig | 结束呼叫邀请的相关配置。 |
详情
结束进阶模式呼叫。
- 调用时机:呼叫为进阶模式且用户状态为 "Accepted"。
- 相关回调:[ZIMCallEndSentResult]。
- 支持版本:2.9.0 及以上。
- 注意事项:不在呼叫内的用户调用会失败。ZIM SDK 在接受后无相关业务逻辑,开发者可以自定义结束后的开发逻辑。
返回值
结束呼叫邀请的结果回调。
callingInvite
callingInvite(invitees: string[], callID: string, config: ZIMCallingInviteConfig): Promise<ZIMCallingInvitationSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| invitees | string[] | 邀请的用户 ID 列表。 |
| callID | string | 当前进阶模式呼叫的 callID。 |
| config | ZIMCallingInviteConfig | 邀请加入呼叫的相关配置。 |
详情
在进阶模式下,当主叫发起呼叫邀请后,呼叫内的用户可通过该接口继续邀请其他用户加入呼叫。
- 调用时机:主叫调用 [callInvite] 发起进阶模式的呼叫邀请后使用,或被叫接受进阶模式呼叫邀请后。
- 相关回调:[ZIMCallingInvitationSentCallback]。
- 支持版本:2.9.0 及以上。
- 注意事项:不在呼叫内的用户调用会失败。ZIM SDK 在接受后无相关业务逻辑,开发者可以自定义加入呼叫后的开发逻辑。呼叫默认最多只能包含 9 名用户。
返回值
邀请加入当前呼叫的结果回调。
queryCallInvitationList
queryCallInvitationList(config: ZIMCallInvitationQueryConfig): Promise<ZIMCallInvitationListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMCallInvitationQueryConfig | 查询呼叫邀请表的相关配置。 |
详情
用户可通过该查询呼叫邀请列表。
- 业务场景:用户可通过该查询呼叫邀请列表,用作界面展示或其他功能。
- 调用时机:通过 [create] 创建 ZIM 实例, 登录后可调用。
- 相关回调:[ZIMQueryCallInvitationListResult]。
- 支持版本:2.9.0 及以上。
返回值
查询呼叫邀请列表的结果回调。
searchLocalGroups
searchLocalGroups(config: ZIMGroupSearchConfig): Promise<ZIMGroupsSearchedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMGroupSearchConfig | 搜索群组的配置。 |
详情
该方法用于搜索本地群组。
- 业务场景:当需要通过关键字等配置搜索本地群组时,可以调用该接口进行搜索。
- 调用时机/通知时机:调用 [login] 登录后。
- 相关回调:[ZIMGroupsSearchedResult]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
搜索的结果回调。
searchLocalGroupMembers
searchLocalGroupMembers(groupID: string, config: ZIMGroupMemberSearchConfig): Promise<ZIMGroupMembersSearchedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 已加入群组的 ID。 |
| config | ZIMGroupMemberSearchConfig | 搜索群成员的配置。 |
详情
该方法用于搜索群成员。
- 业务场景:当需要通过关键字等配置搜索本地群成员时,可以调用该接口进行搜索。
- 相关回调:[ZIMGroupMembersSearchedResult]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
搜索群成员的结果回调。
createGroup
createGroup(groupInfo: ZIMGroupInfo, userIDs: string[], config: ZIMGroupAdvancedConfig): Promise<ZIMGroupCreatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupInfo | ZIMGroupInfo | 将要被创建的群的配置信息。 |
| userIDs | string[] | 被邀请入群的用户列表。 |
| config | ZIMGroupAdvancedConfig | 创建群组的相关配置。 |
详情
可调用该接口来创建一个群组,调用该接口的人为该群群主。
- 业务场景:需要创建多人聊天场景时,可通过该接口创建并加入群组。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupCreatedCallback] 回调可拿到创建群组的结果。
- 相关接口:可通过 [joinGroup] 加入群组,[leaveGroup] 离开群组, [dismissGroup] 解散群组。
- 支持版本:2.0.0及以上。
- 使用限制:登录后可用,登出后不可用 。 userIDs 最大为 100 人, 一个群最大支持 500 人。
返回值
创建群组的结果的回调。
joinGroup
joinGroup(groupID: string): Promise<ZIMGroupJoinedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 将要加入的群组ID。 |
详情
当一个群组被创建后,其他用户可以通过 [joinGroup] 加入此群组,如果群组不存在,则加入失败。
- 业务场景:需要加入多人聊天场景时,可通过该接口加入群组。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupJoinedCallback] 回调可拿到加入房间的结果。
- 相关接口:可通过 [createGroup] 创建群组,[leaveGroup] 离开群组, [dismissGroup] 解散群组。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。若已在群中加入会返回加入成功。人满后加入失败。
返回值
加入群组的结果的回调。
leaveGroup
leaveGroup(groupID: string): Promise<ZIMGroupLeftResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 将要离开的群组ID。 |
详情
当用户加入一个群组后,用户可以通过该接口离开此群组。
- 业务场景:需要退出多人聊天场景时,可通过该接口离开群组。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例后并登录后可调用。
- 相关回调:通过 [ZIMGroupLeftCallback] 回调可拿到离开房间的结果。
- 相关接口:可通过 [createGroup] 创建群组,[joinGroup] 加入群组, [dismissGroup] 解散群组。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
- 注意事项:群主退出群组时,群主身份将自动转让给加入本群组最早的那个成员;所有成员退出群组时,群组自动解散。
返回值
离开群组的结果的回调。
dismissGroup
dismissGroup(groupID: string): Promise<ZIMGroupDismissedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 将要解散的群组ID。 |
详情
当一个群组被创建后,用户可通过 [dismissGroup] 解散此群组。
- 业务场景:创建多人聊天群组后,不需要在此群组进行聊天互动,可通过此接口解散群组。
- 调用时机:通过 [createGroup] 创建群组后可以调用。
- 相关回调:通过 [ZIMGroupDismissedCallback] 回调可拿到解散房间的结果,通过 [onGroupStateChanged] 监听回调可拿到房间状态。
- 相关接口:可通过 [createGroup] 创建群组, [joinGroup] 加入群组,[leaveGroup] 离开群组。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不能解散群。
返回值
解散群组的结果的回调。
kickGroupMembers
kickGroupMembers(userIDs: string[], groupID: string): Promise<ZIMGroupMemberKickedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 被踢出群的用户列表。 |
| groupID | string | 将要踢出成员的群组ID。 |
详情
当用户加入群组后,可以通过此方法将其踢出群组。
- 业务场景:需要将一个或多个用户踢出群组时,可通过此方法实现该功能。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberKickedCallback] 回调可拿到将用户踢出群组的结果。
- 相关接口:可通过 [inviteUsersIntoGroup] 邀请目标用户进入群组。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不能踢人。
- 注意事项:该接口无需对方同意,也无需对方在线,踢出后无法接受群相关回调。被踢出后历史消息和会话都会保留,且仍可进入该群。
返回值
踢出群组的结果的回调。
inviteUsersIntoGroup
inviteUsersIntoGroup(userIDs: string[], groupID: string): Promise<ZIMGroupUsersInvitedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 被邀请进群的用户列表,单次操作最多支持数量为 100。 |
| groupID | string | 将用户邀请进入的群组ID。 |
详情
当需要邀请用户加入群组,可以通过此方法将其邀请加入群组,如果群组不存在,则邀请失败。
- 业务场景:需要邀请一个或多个用户邀请加入群组时,可通过此方法实现该功能。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberinvitedCallback] 回调可拿到邀请用户加入群组的结果。
- 相关接口:可通过 [kickGroupMembers] 将目标用户踢出群组。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不能邀请。
- 注意事项:该接口无需对方同意,也无需对方在线。
返回值
邀请用户进入群组的结果的回调。
transferGroupOwner
transferGroupOwner(toUserID: string, groupID: string): Promise<ZIMGroupOwnerTransferredResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| toUserID | string | 转换后的群主ID。 |
| groupID | string | 将要更换群主的群组ID。 |
详情
当一个群组被创建后,群主可以通过此方法将群主转让给指定用户。
- 业务场景:在多人群组聊天场景中,可通过该接口转让群主。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupOwnerTransferredCallback] 回调可拿到转让群主的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不能转让群主。
返回值
转让群主的结果的回调。
updateGroupAlias
updateGroupAlias(groupAlias: string, groupID: string): Promise<ZIMGroupAliasUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupAlias | string | 新的群备注。最大长度 256 字节。 |
| groupID | string | 将要被更新群备注的群组 ID。 |
详情
当用户成为某个群的成员后,改用户可通过调用该方法对该群添加/修改备注,群备注仅对修改者生效,不会影响其他群成员。
- 业务场景:如需区分不同的群聊。
- 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupAliasUpdatedResult] 回调可拿到更改群备注的结果。
- 支持版本:2.18.0 及以上。
返回值
更新群备注的结果的回调。
updateGroupName
updateGroupName(groupName: string, groupID: string): Promise<ZIMGroupNameUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupName | string | 需要更新的群名称。 |
| groupID | string | 将要被更新群名的群组ID。 |
详情
当一个群组被创建后,用户可通过调用该方法修改群名称。
- 业务场景:创建群组后,用户需要更改群名称。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupNameUpdatedCallback] 回调可拿到更改群名称的结果,通过 [onGroupNoticeUpdated] 可拿到更新群名称信息。
- 支持版本:2.0.0 及以上。
- 使用限制:群成员与群主可修改群名称,名称最大长度100字节。
返回值
更新群名称的结果的回调。
muteGroup
muteGroup(isMute: boolean, groupID: string, config: ZIMGroupMuteConfig): Promise<ZIMGroupMutedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| isMute | boolean | 标识行为是禁言群组或是解除群组禁言。 |
| groupID | string | 将要被更新禁言状态的群组 ID。 |
| config | ZIMGroupMuteConfig | 群组禁言配置。 |
详情
当一个群组被创建后,群组的管理者可以调用该接口实行群组禁言与解除群组禁言。
- 业务场景:创建群组后,群组的管理者需要更改群组禁言状态。
- 调用时机:通过 [create] 创建 ZIM 实例并登录进入群组后可调用。
- 相关回调:通过 [ZIMGroupMutedResult] 回调可拿到更改群禁言状态的结果,通过 [groupMuteInfoUpdated] 可拿到更新群禁言状态信息。
- 支持版本:2.14.0 及以上。
- 使用限制:群组的管理者可调用。
返回值
更新群禁言状态的结果的回调。
muteGroupMembers
muteGroupMembers(isMute: boolean, userIDs: string[], groupID: string, config: ZIMGroupMemberMuteConfig): Promise<ZIMGroupMembersMutedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| isMute | boolean | 标识行为是禁言群组成员或是解除群组成员禁言。 |
| userIDs | string[] | 需要修改禁言状态的群成员 ID。 |
| groupID | string | 将要被更新成员禁言状态的群组 ID。 |
| config | ZIMGroupMemberMuteConfig | 群组成员禁言配置。 |
详情
当一个群组被创建后,群组的管理者可以调用该接口实行群组成员禁言与解除群组成员禁言。
- 业务场景:创建群组后,用户需要更改群组成员禁言状态。
- 调用时机:通过 [create] 创建 ZIM 实例并登录进入群组后可调用。
- 相关回调:通过 [ZIMGroupMembersMutedResult] 可拿到更改群成员禁言状态的结果,通过 [groupMemberInfoUpdated] 可拿到更新群成员禁言状态信息。
- 支持版本:2.14.0 及以上。
- 使用限制:群主与群管理员可调用。
返回值
更新群成员禁言状态的结果的回调。
updateGroupAvatarUrl
updateGroupAvatarUrl(groupAvatarUrl: string, groupID: string): Promise<ZIMGroupAvatarUrlUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupAvatarUrl | string | 需要更新的群头像 URL。 使用限制: 无特殊字符限制,最大 500 字节。 |
| groupID | string | 将要被更新群头像 URL 的群组ID。 |
详情
当一个群组被创建后,用户可通过调用该方法修改群头像 URL。
- 业务场景:创建群组后,用户需要更改群头像 URL。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录、处于对应群中时可调用。
- 相关回调:通过 [ZIMGroupAvatarUrlUpdatedCallback] 回调可拿到更改群头像的结果,通过 [onGroupAvatarUrlUpdated] 可拿到更新群头像信息。
- 支持版本:2.3.0 及以上。
- 使用限制:群成员与群主可修改群头像,最大长度500字节。
返回值
更新群头像 URL 的结果的回调。
updateGroupNotice
updateGroupNotice(groupNotice: string, groupID: string): Promise<ZIMGroupNoticeUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupNotice | string | 预更新的群公告。 |
| groupID | string | 将要被更新群公告的群组ID。 |
详情
当一个群组被创建后,用户可以通过此方法更新群公告。
- 业务场景:需要在群组中,更新群公告。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupNoticeUpdateCallback] 回调可拿到更新群公告的结果,通过 [onGroupNoticeUpdated] 可拿到更新群公告信息。
- 支持版本:2.0.0 及以上。
- 使用限制:只有群成员才能更新群公告,最大字节数为300字节,无特殊字符限制。
返回值
更新群公告的结果的回调。
updateGroupJoinMode
updateGroupJoinMode(mode: ZIMGroupJoinMode, groupID: string): Promise<ZIMGroupJoinModeUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mode | ZIMGroupJoinMode | 加群验证模式。 |
| groupID | string | 群组ID。 |
详情
当一个群组被创建后,群主和管理员可以通过此方法更新入群模式。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
更新操作的结果的回调。
updateGroupInviteMode
updateGroupInviteMode(mode: ZIMGroupInviteMode, groupID: string): Promise<ZIMGroupInviteModeUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mode | ZIMGroupInviteMode | 邀请入群验证模式。 |
| groupID | string | 群组ID。 |
详情
当一个群组被创建后,群主和管理员可以通过此方法更新邀请模式。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
更新操作的结果的回调。
acceptGroupInviteApplication
acceptGroupInviteApplication(inviterUserID: string, groupID: string, config: ZIMGroupInviteApplicationAcceptConfig): Promise<ZIMGroupInviteApplicationAcceptedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| inviterUserID | string | 邀请人 ID。 |
| groupID | string | 群组ID。 |
| config | ZIMGroupInviteApplicationAcceptConfig | 同意邀请入群申请的配置。 |
详情
当一个群组的 beInviteMode 模式为 Auth 时,群组外部用户收到入群邀请后,可以通过此方接受邀请,成为群组成员。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
acceptGroupJoinApplication
acceptGroupJoinApplication(userID: string, groupID: string, config: ZIMGroupJoinApplicationAcceptConfig): Promise<ZIMGroupJoinApplicationAcceptedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 申请人 ID。 |
| groupID | string | 群组ID。 |
| config | ZIMGroupJoinApplicationAcceptConfig | 同意加群申请的配置。 |
详情
当一个群组的 joinMode 为需要 Auth 时,外部用户发出入群申请后,群主或管理员可以通过此方法同意申请。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
queryGroupApplicationList
queryGroupApplicationList(config: ZIMGroupApplicationListQueryConfig): Promise<ZIMGroupApplicationListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMGroupApplicationListQueryConfig | 查询申请列表的配置。 |
详情
查询结果包含自己的入群申请和自己被邀请入群的申请。当用户是群主或管理员时,查询结果还会包含他人的入群申请和自己邀请他人入群的申请。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
rejectGroupInviteApplication
rejectGroupInviteApplication(inviterUserID: string, groupID: string, config: ZIMGroupInviteApplicationRejectConfig): Promise<ZIMGroupInviteApplicationRejectedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| inviterUserID | string | 邀请人 ID。 |
| groupID | string | 群组ID。 |
| config | ZIMGroupInviteApplicationRejectConfig | 拒绝邀请入群申请的配置。 |
详情
当一个群组的 beInviteMode 为需要 Auth 时,被邀请入群的用户可以通过此方法拒绝邀请。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
rejectGroupJoinApplication
rejectGroupJoinApplication(userID: string, groupID: string, config: ZIMGroupJoinApplicationRejectConfig): Promise<ZIMGroupJoinApplicationRejectedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 申请人 ID。 |
| groupID | string | 群组ID。 |
| config | ZIMGroupJoinApplicationRejectConfig | 拒绝加群申请的配置。 |
详情
当一个群组的 joinMode 为 Auth 时,群主或管理员可以通过此方法拒绝用户的加群申请。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
sendGroupInviteApplications
sendGroupInviteApplications(userIDs: string[], groupID: string, config: ZIMGroupInviteApplicationSendConfig): Promise<ZIMGroupInviteApplicationsSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 被邀请用户列表,单次操作最多支持数量为 20。 |
| groupID | string | 群组ID。 |
| config | ZIMGroupInviteApplicationSendConfig | 邀请申请的配置。 |
详情
当一个群组的被邀请入群验证模式为需要被邀请人审批时,群成员可以通过此方法发送邀请入群。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
sendGroupJoinApplication
sendGroupJoinApplication(groupID: string, config: ZIMGroupJoinApplicationSendConfig): Promise<ZIMGroupJoinApplicationSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 群组ID。 |
| config | ZIMGroupJoinApplicationSendConfig | 加群申请配置。 |
详情
当一个群组的 joinMode 为 Auth 时,用户可以通过此方法申请加入群组。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
操作的结果的回调。
updateGroupBeInviteMode
updateGroupBeInviteMode(mode: ZIMGroupBeInviteMode, groupID: string): Promise<ZIMGroupBeInviteModeUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| mode | ZIMGroupBeInviteMode | 被邀请入群验证模式。 |
| groupID | string | 群组ID。 |
详情
当一个群组被创建后,群主和管理员可以通过此方法更新邀请目标入群验证模式。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 支持版本:2.15.0 及以上。
返回值
更新操作的结果的回调。
queryGroupInfo
queryGroupInfo(groupID: string): Promise<ZIMGroupInfoQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 将要被查询群信息的群组ID。 |
详情
查询一个已被创建的群组信息。
- 业务场景:需获取群组信息进行展示。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupInfoQueriedCallback] 回调可拿到查询群组信息的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群组信息的结果的回调。
queryGroupList
queryGroupList(): Promise<ZIMGroupListQueriedResult>查询当前所有群列表。
- 业务场景:需要获取群列表进行展示。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupListQueriedCallback] 回调查询当前所有群列表的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
查询群列表的结果的回调。
setGroupAttributes
setGroupAttributes(groupAttributes: Record<string, string>, groupID: string): Promise<ZIMGroupAttributesOperatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupAttributes | Record<string, string> | 群属性。 |
| groupID | string | 被设置群属性的groupID. |
详情
当一个群组已存在时,所有该群用户可以该方法设置群属性。
- 业务场景:新增对群组描述的扩展字段信息,如群的家族、标签、行业类别等。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupAttributesOperatedCallback] 回调可拿到设置群属性的结果。
- 相关接口:可通过 [deleteGroupAttributes] 删除群属性,[queryGroupAttributes] 查询群属性,[queryAllGroupAttributes] 查询全部群属性。
- 支持版本:2.0.0 及以上。
- 使用限制:只有群成员才可设置群属性。
返回值
设置群组属性的回调。
deleteGroupAttributes
deleteGroupAttributes(keys: string[], groupID: string): Promise<ZIMGroupAttributesOperatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| keys | string[] | 欲删除的群属性的key。 |
| groupID | string | 将要被删除群属性的群组ID。 |
详情
当一个群组已存在时,用户可以调用该方法删除群属性,该接口群主与群内成员均可调用。
- 业务场景:删除对群组描述的扩展字段信息。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupAttributesOperatedCallback] 回调可拿到删除群属性的结果。
- 相关接口:可通过 [setGroupAttributes] 设置群属性,[queryGroupAttributes] 查询群属性,[queryAllGroupAttributes] 查询全部群属性。
- 支持版本:2.0.0 及以上。
- 使用限制:只有群成员才可删除群属性。
返回值
删除群组属性的结果的回调。
queryGroupAttributes
queryGroupAttributes(keys: string[], groupID: string): Promise<ZIMGroupAttributesQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| keys | string[] | 欲查询的群属性的key。 |
| groupID | string | 将要被查询群属性的群组ID。 |
详情
当一个群组被创建后,可以通过此方法查询指定的群属性。
- 业务场景:需要查询指定群属性进行展示的场景。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并 [login] 登录之后。
- 相关回调:通过 [ZIMGroupAttributesQuriedCallback] 回调可拿到查询指定群属性的结果。
- 相关接口:[queryAllGroupAttributes] 查询所有群属性。
- 支持版本:2.0.0及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群属性的结果的回调。
queryGroupAllAttributes
queryGroupAllAttributes(groupID: string): Promise<ZIMGroupAttributesQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 将要被查询全部群属性的群组ID。 |
详情
当一个群组被创建后,可以通过此方法查询所有的群属性。
- 业务场景:需要查询所有群属性进行展示的场景。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupAttributesQuriedCallback] 回调可拿到查询所有群属性的结果。
- 相关接口:[queryGroupAttributes] 查询指定群属性。
- 支持版本:2.0.0 及以上。
返回值
查询群组全部属性的结果的回调。
setGroupMemberRole
setGroupMemberRole(role: number, forUserID: string, groupID: string): Promise<ZIMGroupMemberRoleUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| role | number | 设置的群角色。 - 2: 管理员。 - 3: 普通成员。 - 其他值:可自定义群角色,权限与普通成员一致,建议取值大于 100。 |
| forUserID | string | 被设置群角色的用户ID。 |
| groupID | string | 将要被设置群角色的群组ID。 |
详情
当一个群组被创建后,用户可以通过该方法设置群成员角色。
- 业务场景:在多人群组中,需要对指定群成员角色进行设置。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberRoleUpdatedCallback] 回调可拿到设置群成员角色的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:非群主不可用。
- 注意事项:群主 role 为1 、管理员 role 为 2、普通成员 role 为 3。可调用该接口修改,role 不可修改为 1。如需自定义 role,建议将数值设置为 100 以后,其权限与普通成员一致。
返回值
设置群成员角色的结果的回调。
setGroupMemberNickname
setGroupMemberNickname(nickname: string, forUserID: string, groupID: string): Promise<ZIMGroupMemberNicknameUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| nickname | string | 设置的成员昵称。 |
| forUserID | string | 被设置群昵称的用户ID。 |
| groupID | string | 被设置群成员昵称的群组ID。 |
详情
当一个群组被创建后,用户可以通过该方法设置群成员昵称。
- 业务场景:需要对群成员设置昵称。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberNicknameUpdatedCallback] 回调可拿到设置群成员昵称的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。群主可以修改自己和群内成员的昵称,群内成员只能修改自己的昵称。
- 注意事项:群成员昵称限制最大长度为 100,无特殊字符限制。
返回值
设置群成员昵称的结果的回调。
queryGroupMemberInfo
queryGroupMemberInfo(userID: string, groupID: string): Promise<ZIMGroupMemberInfoQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userID | string | 被查询成员信息的用户ID。 |
| groupID | string | 将要被查询成员信息的群组ID。 |
详情
当一个群组被创建后,用户可以通过该方法查询指定群成员信息。
- 业务场景:需要获取指定群成员信息进行展示或交互。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberInfoQueriedCallback] 回调可拿到查询指定群成员信息的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群成员信息的结果的回调。
queryGroupMemberList
queryGroupMemberList(groupID: string, config: ZIMGroupMemberQueryConfig): Promise<ZIMGroupMemberListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 将要被查询群成员列表的群组ID。 |
| config | ZIMGroupMemberQueryConfig | 群成员查询的配置。 |
详情
当一个群组被创建后,用户可以通过该方法查询群成员列表。
- 业务场景:需要获取指定群成员列表信息进行展示或交互。
- 调用时机/通知时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:通过 [ZIMGroupMemberListQueriedCallback] 回调可拿到查询群成员列表的结果。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群成员列表的回调。
queryGroupMemberMutedList
queryGroupMemberMutedList(groupID: string, config: ZIMGroupMemberMutedListQueryConfig): Promise<ZIMGroupMemberMutedListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 将要被查询群禁言成员列表的群组ID。 |
| config | ZIMGroupMemberMutedListQueryConfig | 群禁言成员查询的配置。 |
详情
当一个群组被创建后,用户可以通过该方法查询群禁言成员列表。
- 业务场景:需要获取指定群禁言成员列表信息进行展示或交互。
- 调用时机:通过 [create] 创建 ZIM 实例并登录且加入群后可调用。
- 相关回调:通过 [ZIMGroupMemberMutedListQueriedResult] 可拿到查询群禁言成员列表的结果。
- 支持版本:2.14.0 及以上。
- 使用限制:登录后可用,登出后不可用 。
返回值
查询群禁言成员列表的回调。
queryGroupMemberCount
queryGroupMemberCount(groupID: string): Promise<ZIMGroupMemberCountQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| groupID | string | 需要查询群人数的群的 ID。 |
详情
用户仅需要展示群内人数且不需要拉取群成员列表时,可通过该接口获取群内人数。
- 调用时机:通过 [create] 创建 ZIM 实例并登录后可调用。
- 相关回调:[ZIMGroupMemberCountQueriedCallback]。
- 支持版本:2.2.0 及以上。
- 使用限制:该函数仅可查询用户当前已进入的群。
返回值
查询群人数的回调。
queryConversation
queryConversation(conversationID: string, conversationType: ZIMConversationType): Promise<ZIMConversationQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | string | 会话ID. |
| conversationType | ZIMConversationType | 会话类型。 |
详情
该方法可以查询指定会话。
- 业务场景:需要得知指定会话的相关信息时,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationQueriedResult]。
- 支持版本:2.8.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
返回值
查询会话的结果回调。
queryConversationList
queryConversationList(config: ZIMConversationQueryConfig): Promise<ZIMConversationListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationQueryConfig | 会话查询的配置。 |
详情
该方法可以查询已登录用户的会话列表。
- 业务场景:登录后需要展示已有的消息会话,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationListQueriedCallback]。
- 相关接口:[deleteConversation] 删除会话;[clearConversationUnreadMessageCount] 清除会话未读数。
- 支持版本:2.0.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
- 注意事项:nextConversation 为查询消息的铆点,首次查询时可以传空,后续查询时可以将最早的一条 conversation 做为 nextconversation 来查询更早以前的会话,分页查询时,[ZIMConversationQueryConfig] 中的 count 填每次拉取的会话数量。
返回值
查询会话列表的结果回调。
queryConversationList
queryConversationList(config: ZIMConversationQueryConfig, callback: ZIMConversationListQueriedCallback): Promise<ZIMConversationListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationQueryConfig | 会话查询的配置。 |
| callback | ZIMConversationListQueriedCallback | 会话查询的回调。 |
详情
该方法可以按照过滤项查询已登录用户的会话列表。
- 业务场景:登录后需要展示已有的特定会话,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationListQueriedCallback]。
- 支持版本:2.17.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
- 注意事项:nextConversation 为查询消息的铆点,首次查询时可以传空,后续查询时可以将最早的一条 conversation 做为 nextconversation 来查询更早以前的会话,分页查询时,[ZIMConversationQueryConfig] 中的 count 填每次拉取的会话数量。
返回值
查询会话列表的结果回调。
queryConversationPinnedList
queryConversationPinnedList(config: ZIMConversationQueryConfig): Promise<ZIMConversationPinnedListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationQueryConfig | 会话查询的配置。 |
详情
该方法可以查询已登录用户的置顶会话列表。
- 业务场景:登录后需要展示已有的置顶消息会话,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 支持版本:2.8.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
- 注意事项:nextConversation 为查询消息的铆点,首次查询时可以传空,后续查询时可以将最早的一条 conversation 做为 nextConversation 来查询更早以前的会话,分页查询时,[ZIMConversationQueryConfig] 中的 count 填每次拉取的会话数量。
返回值
置顶会话列表查询的回调。
queryConversationTotalUnreadMessageCount
queryConversationTotalUnreadMessageCount(config: ZIMConversationTotalUnreadMessageCountQueryConfig): Promise<ZIMConversationTotalUnreadMessageCountQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationTotalUnreadMessageCountQueryConfig | 会话未读消息总数查询的配置。 |
详情
该方法可以按照配置项查询已登录用户的会话未读消息总数。
- 业务场景:登录后需要展示已有的特定会话未读消息总数,这时可以调用该接口来获得数据源。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationTotalUnreadMessageCountQueriedCallback]。
- 支持版本:2.17.0 及以上。
- 使用限制:没有使用频率的限制,登录后可用,登出后不可用。
返回值
会话未读消息总数查询的回调。
updateConversationPinnedState
updateConversationPinnedState(isPinned: boolean, conversationID: string, conversationType: ZIMConversationType): Promise<ZIMConversationPinnedStateUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| isPinned | boolean | 会话是否置顶,true 为置顶,false 为取消置顶。 |
| conversationID | string | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
详情
该方法可以修改已登录用户指定会话的置顶状态。
- 业务场景:需要修改某个会话置顶状态时,可以调用该接口。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMConversationPinnedStateUpdatedResult]。
- 支持版本:2.8.0 及以上。
- 使用限制:登录后可用,登出后不可用。
返回值
更新会话置顶的回调。
deleteAllConversations
deleteAllConversations(config: ZIMConversationDeleteConfig): Promise<void>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationDeleteConfig | 删除全部会话的配置。 |
详情
需要删除会话时,调用此接口,会话内成员均可调用该接口。
- 业务场景:在所有会话不再被需要时,若要将所有会话删除,此时可调用该接口实现。
- 调用时机/通知时机:需要删除会话时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
- 影响范围:若所删除会话包含未读消息会触发 [conversationTotalUnreadMessageCountUpdated] 回调,调用成功在多端登录时,其他端会触发 [conversationsAllDeleted] 回调。
- 支持版本:2.12.0 及以上。
返回值
删除全部会话的结果回调。
deleteConversation
deleteConversation(conversationID: string, conversationType: ZIMConversationType, config: ZIMConversationDeleteConfig): Promise<ZIMConversationDeletedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | string | 会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMConversationDeleteConfig | 删除会话的配置。 |
详情
需要删除某个会话时,调用此接口,会话内成员均可调用该接口。
- 业务场景:在会话不再被需要时,若要将整个会话删除,此时可调用该接口实现。
- 调用时机/通知时机:需要删除会话时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
- 影响范围:调用成功会触发 deleteConversation 的 callback 回调。若所删除会话包含未读消息会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMConversationDeletedCallback]
- 支持版本:2.0.0 及以上。
返回值
删除会话的结果回调。
setConversationDraft
setConversationDraft(draft: string, conversationID: string, conversationType: ZIMConversationType): Promise<ZIMConversationDraftSetResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| draft | string | 会话需要设置的文本消息草稿。 |
| conversationID | string | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。仅支持“单聊”和“群聊”会话。 |
详情
需要为某个会话设置草稿时,调用此接口,会话内成员均可调用该接口。
- 业务场景:当需要临时保存用户正在编辑但尚未发送的文本消息,此时可调用该接口实现。
- 调用时机/通知时机:需要设置会话草稿时调用,创建 ZIM 实例后即可调用,登录后生效,登出后失效。
- 影响范围:调用成功会触发 [conversationchanged] 回调。
- 相关回调:[ZIMConversationDraftSetResult]
- 支持版本:2.14.0 及以上。
返回值
设置会话草稿的回调。
clearConversationTotalUnreadMessageCount
clearConversationTotalUnreadMessageCount(): Promise<void>用于清除全部会话的未读数。
- 业务场景:当需要将全部会话未读数清零时,可调用该接口。
- 调用时机/通知时机:需要清除全部会话未读数时调用。
- 影响范围:调用该方法会触发总未读数更新的回调 [conversationTotalUnreadMessageCountUpdated] 。
- 相关接口:[conversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.12.0 及以上。
- 使用限制:登录后生效,登出后失效。
清除全部会话未读数的回调。
clearConversationUnreadMessageCount
clearConversationUnreadMessageCount(conversationID: string, conversationType: ZIMConversationType): Promise<ZIMConversationUnreadMessageCountClearedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | string | 会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
详情
用于清除当前用户目标会话的未读数。
- 业务场景:当由会话进入聊天页,此时该会话原先的消息未读数需要清零,可调用该接口。
- 调用时机/通知时机:需要清除目标未读数时调用。
- 影响范围:调用该方法会触发总未读数更新的回调 [conversationTotalUnreadMessageCountUpdated] ,会触发会话更新的回调 [conversationChanged] 。
- 相关回调:[ZIMConversationUnreadMessageCountClearedCallback]。
- 相关接口:[conversationTotalUnreadMessageCountUpdated]、[conversationChanged]。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
清除会话未读消息数的结果回调。
setConversationMark
setConversationMark(markType: number, enable: boolean, conversationInfos: const std::vector<ZIMConversationBaseInfo> &): Promise<ZIMConversationMarkSetCallback>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| markType | number | 标记类型。数值范围为 [1, 20]。 |
| enable | boolean | 会话标记操作。true 为设置标记,false 为取消标记。 |
| conversationInfos | const std::vector<ZIMConversationBaseInfo> & | 需要被修改会话标记的会话简要信息列表。最大可传入 100 个会话。 |
详情
该方法可以对会话设置标记。
- 业务场景:您需要基于对会话进行标记实现自定义的业务逻辑时。
- 默认值:会话标记默认为空。
- 调用时机:登录并存在有效的会话的前提下,若想要设置或取消设置目标会话的标记,调用该接口。
- 相关回调:[ZIMConversationMarkSetCallback]。
- 支持版本:2.17.0 及以上。
返回值
设置会话标记的回调。
setConversationNotificationStatus
setConversationNotificationStatus(status: ZIMConversationNotificationStatus, conversationID: string, conversationType: ZIMConversationType): Promise<ZIMConversationNotificationStatusSetResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| status | ZIMConversationNotificationStatus | 会话通知状态。 |
| conversationID | string | 会话ID。当前仅支持为“群组”会话和“单聊”(需 2.14.0 版本或以上SDK)设置免打扰状态。 群聊会话时,conversationID 为群组的 groupID。 单聊会话时,conversationID 为对端用户的 userID。 |
| conversationType | ZIMConversationType | 会话类型。当前仅支持为“群组”会话和“单聊”(需 2.14.0 版本或以上SDK)设置免打扰状态。 |
详情
该方法可以选择目标会话的未读数是否在收到消息时更新,从而实现免打扰功能。
- 业务场景:用户选择消息免打扰,可以调用对应方法,未读数不增加。
- 默认值:消息免打扰默认不开启。
- 调用时机/通知时机:登录并存在目标会话的前提下,若想要开关目标会话的消息免打扰状态,调用该接口。
- 影响范围:使用该方法开启免打扰状态后,收到消息不会触发 [conversationTotalUnreadMessageCountUpdated]。
- 相关回调:[ZIMConversationNotificationStatusSetResult]。
- 相关接口:[conversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
设置会话通知状态的结果回调。
cancelSendingMessage
cancelSendingMessage(message: ZIMMessage, config: ZIMSendingMessageCancelConfig): Promise<void>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要取消发送的消息对象。 |
| config | ZIMSendingMessageCancelConfig | 取消发送消息的相关配置。 |
详情
此方法可用于取消上传中的本地媒体文件消息的发送。
- 相关接口:[queryHistoryMessage]、[sendMessage]。
- 支持版本:2.22.0 及以上。
返回值
取消发送消息的结果的回调。
editMessage
editMessage(message: ZIMMessage, config: ZIMMessageEditConfig, notification: ZIMMessageSendNotification): Promise<ZIMMessageEditedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要编辑的消息对象。 |
| config | ZIMMessageEditConfig | 编辑消息的相关配置。 |
| notification | ZIMMessageSendNotification | 编辑消息时的相关通知。 |
详情
此方法可用于单聊、群聊中编辑自己发送成功的消息。
- 业务场景:登录后需要向目标用户、目标群聊编辑自己发送成功的消息时,通过该接口编辑。
- 相关回调:[ZIMMessageSendNotification]、[ZIMMessageEditedResult]、[messageEdited]、[conversationChanged]、[messageRepliedInfoChanged]。
- 相关接口:[queryHistoryMessage]、[sendMessage]。
- 支持版本:2.20.0 及以上。
返回值
消息的编辑结果的回调。
pinMessage
pinMessage(message: ZIMMessage, isPinned: boolean, callback: ZIMMessagePinnedCallback): Promise<ZIMMessagePinnedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要置顶或取消置顶的消息对象。 |
| isPinned | boolean | 置顶或取消置顶。 |
| callback | ZIMMessagePinnedCallback | 置顶或取消置顶结果的回调。 |
详情
此方法可用于单聊、群聊中置顶或取消置顶自己发送成功的消息。
- 业务场景:登录后需要向目标用户、目标群聊置顶或取消置顶自己发送成功的消息时,通过该接口进行操作。
- 相关回调:[ZIMMessagePinnedCallback]、[onMessagePinStatusChanged]。
- 相关接口:[queryPinnedMessageList]、[sendMessage]。
- 支持版本:2.25.0 及以上。
返回值
消息的置顶或取消置顶结果的回调。
sendMessage
sendMessage(message: ZIMMessage, toConversationID: string, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, notification: ZIMMessageSendNotification): Promise<ZIMMessageSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要发送的消息,使用时,请根据消息类型修改 message 的类型。 例如,发送文本消息时,请使用 ZIMTextMessage。 |
| toConversationID | string | 消息需要发送的会话 ID。 |
| conversationType | ZIMConversationType | 会话类型,支持单聊、房间以及群聊。 |
| config | ZIMMessageSendConfig | 发送消息的相关配置。 |
| notification | ZIMMessageSendNotification | 发送消息时的相关通知。 |
详情
此方法可用于单聊、房间和群聊中发送消息。
- 业务场景:登录后需要向目标用户、目标房间、目标群聊发送消息时,通过该接口发送。
- 调用时机:登录后即可调用。
- 相关回调:[ZIMMessageSentResult]、[ZIMMessageSendNotification]、[receivePeerMessage]、[receiveRoomMessage]、[receiveGroupMessage]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
- 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]、[sendMediaMessage].
- 支持版本:2.4.0 及以上。
- 使用限制:两次发送消息的间隔要大于 100ms。登录后可用,注销后不可用。
sendMediaMessage
sendMediaMessage(message: ZIMMediaMessage, toConversationID: string, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, notification: ZIMMediaMessageSendNotification): Promise<ZIMMediaMessageSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMediaMessage | 要发送的消息,使用时,请根据多媒体消息类型,修改 message 的类型。例如,发送图片消息时,请使用 ZIMImageMessage。 |
| toConversationID | string | 消息接收方的会话 ID,支持单聊、房间以及群聊。 |
| conversationType | ZIMConversationType | 会话类型,支持单聊、房间以及群聊。 |
| config | ZIMMessageSendConfig | 发送消息的相关配置。 |
| notification | ZIMMediaMessageSendNotification | 发送媒体消息时的相关通知,包含上传进度等。 |
详情
该方法可用于发送单聊、房间以及群聊消息。
- 业务场景:登录后需要向目标用户、目标房间以及目标群聊发送媒体消息时,通过本接口发送。
- 调用时机:登录后可调用。
- 影响范围:使用该方法会触发消息接收方的 [receivePeerMessage] / [receiveRoomMessage] / [receiveGroupMessage] 回调,会触发发送方和接收方的 [conversationChanged] 回调,若该消息所在会话未设置消息免打扰,会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMMessageSentResult]、[ZIMMediaUploadingProgress]、[receivePeerMessage]、[receiveRoomMessage]、[receiveGroupMessage]、 [conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
- 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]
- 支持版本:2.4.0 及以上。
- 使用限制:不得超过10条/s,登录后可用,登出后不可用;仅支持视频编码格式为 H264 和 H265 的视频文件在消息发送成功后获取该视频首帧的宽、高信息。
- 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。若向房间发送媒体消息,则不支持离线推送,也不支持回调 [conversationChanged] 和 [conversationTotalUnreadMessageCountUpdated]。
返回值
发送媒体消息的结果。
insertMessageToLocalDB
insertMessageToLocalDB(message: ZIMMessage, conversationID: string, conversationType: ZIMConversationType, senderUserID: string): Promise<ZIMMessageInsertedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要插入的消息。 |
| conversationID | string | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| senderUserID | string | 该消息的发送者 ID。 |
详情
该方法可以在客户端直接向本地 DB 插入一条消息。
- 业务场景:开发者可结合系统消息类型,在客户端将回调通知(例如:邀请某人进群、把某人移出群等),转为系统消息类型,插入本地 DB,以达到系统提示的效果。
- 调用时机/通知时机:登录后可调用。
- 相关回调:[ZIMMessageInsertedResult]。
- 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]。
- 支持版本:2.4.0 及以上。
- 使用限制: 不支持插入“信令”消息。如需插入“房间”消息,请将 SDK 升级到 2.13.0 及以上。
返回值
插入消息的结果。
sendConversationMessageReceiptRead
sendConversationMessageReceiptRead(conversationID: string, conversationType: ZIMConversationType): Promise<ZIMConversationMessageReceiptReadSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | string | 会话的ID。 |
| conversationType | ZIMConversationType | 会话类型,仅支持 Peer 类型。 |
详情
设置会话所有已接收的回执已读。
- 业务场景:设置整个会话所有已接收的回执消息已读,会话里消息回执的发送者会收到 [conversationMessageReceiptChanged] 的回调。
- 调用时机/通知时机:登录后即可调用,建议在进入消息列表页面之前调用,在消息列表页面内建议调用 [sendMessageReceiptsRead] 对需要设置已读的消息批量设置。
- 相关回调:[ZIMConversationMessageReceiptReadSentResult]。
- 相关接口:[sendMessageReceiptsRead] 、[sendMessage] 。
- 支持版本:2.5.0及以上。
- 注意事项:只允许单聊的会话使用。
返回值
设置会话已读回调。
sendMessageReceiptsRead
sendMessageReceiptsRead(messageList: ZIMMessage[], conversationID: string, conversationType: ZIMConversationType): Promise<ZIMMessageReceiptsReadSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| messageList | ZIMMessage[] | 要设置已读的消息列表,所含消息不能超过 10 条。 |
| conversationID | string | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
详情
该方法可以设置一批消息的回执变成已读。
- 业务场景:开发者可通过这个方法,设置一批带回执的消息已经被读了。发送端如果在线,则会收到 [messageReceiptChanged] 的回调。
- 调用时机:登录后可调用。建议在消息列表页对需要设置已读的消息设置。不建议和 [sendConversationMessageReceiptRead] 一起混用。
- 相关回调:[ZIMMessageReceiptsReadSentResult]。
- 相关接口:[sendMessage]。
- 支持版本:2.5.0 及以上。
- 使用限制:仅支持对收到的,且回执状态为 1 的消息设置。
返回值
设置消息已读的结果回调。
queryMessageReceiptsInfo
queryMessageReceiptsInfo(messageList: ZIMMessage[], conversationID: string, conversationType: ZIMConversationType): Promise<ZIMMessageReceiptsInfoQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| messageList | ZIMMessage[] | 要查询的消息列表。 |
| conversationID | string | 会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
详情
该方法可以查询一批消息的回执信息,包括状态、未读用户数和已读用户数。
- 业务场景:如果需要查询消息的回执状态、未读用户数和已读用户数,可以调用此接口。
- 调用时机:登录后可调用。如果需要查询详细的成员列表,则可以通过接口[queryGroupMessageReceiptReadMemberList] 或[queryGroupMessageReceiptUnreadMemberList] 查询。
- 相关回调:[ZIMMessageReceiptsInfoQueriedResult]。
- 相关接口:[queryGroupMessageReceiptReadMemberList] , [queryGroupMessageReceiptUnreadMemberList]。
- 支持版本:2.5.0 及以上。
- 使用限制:仅支持查询回执状态不为 0 的消息。
返回值
查询消息回执信息的结果回调。
queryGroupMessageReceiptReadMemberList
queryGroupMessageReceiptReadMemberList(message: ZIMMessage, groupID: string, config: ZIMGroupMessageReceiptMemberQueryConfig): Promise<ZIMGroupMessageReceiptMemberListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要查询的消息。 |
| groupID | string | 群组 ID。 |
| config | ZIMGroupMessageReceiptMemberQueryConfig | 查询的配置。 |
详情
该方法可以查询一个群某一条自己发的消息的具体已读成员列表。
- 业务场景:开发者可通过这个方法,查询一条自己发的消息的具体已读成员列表。
- 调用时机:登录后可调用。
- 相关回调:[ZIMGroupMessageReceiptMemberListQueriedResult]。
- 相关接口:如果需要查询某一条消息的回执状态或只需要查询已读/未读数,通过接口 [queryMessageReceiptsInfo] 查询。
- 支持版本:2.5.0 及以上。
- 使用限制:仅支持查询本端发送的消息,且消息的回执状态不为 0 。如果该用户不在群组,或已被踢出群组,则无法查到对应的成员列表。
返回值
查询具体已读成员列表的结果回调。
queryGroupMessageReceiptUnreadMemberList
queryGroupMessageReceiptUnreadMemberList(message: ZIMMessage, groupID: string, config: ZIMGroupMessageReceiptMemberQueryConfig): Promise<ZIMGroupMessageReceiptMemberListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要查询的消息。 |
| groupID | string | 群组 ID。 |
| config | ZIMGroupMessageReceiptMemberQueryConfig | 查询的配置。 |
详情
该方法可以查询一个群某一条自己发的消息的具体未读成员列表。
- 业务场景:开发者可通过这个方法,查询一条自己发的消息的具体未读成员列表。
- 调用时机:登录后可调用。
- 相关回调:[ZIMGroupMessageReceiptMemberListQueriedResult]。
- 相关接口:如果需要查询某一条消息的回执状态或只需要查询已读/未读数,通过接口 [queryMessageReceiptsInfo] 查询。
- 支持版本:2.5.0 及以上。
- 使用限制:仅支持查询本端发送的消息,且消息的回执状态不为 0。如果该用户不在群组,或已被踢出群组,则无法查到对应的成员列表。
返回值
查询具体未读成员列表的的结果回调。
searchLocalMessages
searchLocalMessages(conversationID: string, conversationType: ZIMConversationType, config: ZIMMessageSearchConfig): Promise<ZIMMessagesSearchedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | string | 要搜索的本地消息的会话 ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMMessageSearchConfig | 搜索本地消息的配置。 |
详情
该方法用于搜索本地消息。
- 业务场景:当需要通过关键字等条件搜索以往的本地消息,可以调用该接口来分页搜索本地消息。
- 调用时机/通知时机:需要通过关键字等条件搜索本地消息时调用。
- 相关回调:[ZIMMessagesSearchedResult]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。
返回值
搜索本地消息的的结果的返回。
searchLocalConversations
searchLocalConversations(config: ZIMConversationSearchConfig): Promise<ZIMConversationsSearchedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMConversationSearchConfig | 全局搜索会话的配置。 |
详情
该方法用于基于本地消息搜索本地会话。
- 业务场景:当需要通过关键字等条件进行全局搜索会话时,可以调用该接口进行搜索。
- 调用时机/通知时机:需要通过关键字等条件进行搜索会话时调用。
- 相关回调:[ZIMConversationsSearchedResult]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。
返回值
搜索会话的的结果的返回。
searchGlobalLocalMessages
searchGlobalLocalMessages(config: ZIMMessageSearchConfig): Promise<ZIMMessagesGlobalSearchedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMMessageSearchConfig | 全局搜索本地消息的配置。 |
详情
该方法用于全局搜索本地消息。
- 业务场景:当需要通过关键字等条件进行全局搜索以往的本地消息,可以调用该接口按会话进行分组来搜索本地消息。
- 相关回调:[ZIMMessagesGlobalSearchedResult]
- 支持版本:2.9.0 及以上。
- 使用限制:登录后生效,登出后失效。房间场景(conversationType=1)下不支持搜索。
返回值
全局搜索本地消息的的结果的返回。
replyMessage
replyMessage(message: ZIMMessage, toOriginalMessage: ZIMMessage, config: ZIMMessageSendConfig, notification: ZIMMessageSendNotification): Promise<ZIMMessageSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要发送的消息,使用时,请根据消息类型修改 message 的类型。 例如,发送文本消息时,请使用 ZIMTextMessage。仅支持:ZIMTextMessage(1)、ZIMImageMessage(11)、ZIMFileMessage(12)、ZIMAudioMessage(13)、ZIMVideoMessage(14)、ZIMCombineMessage(100)、ZIMCustomMessage(200)。 |
| toOriginalMessage | ZIMMessage | 引用的源消息。仅支持:ZIMTextMessage(1)、ZIMImageMessage(11)、ZIMFileMessage(12)、ZIMAudioMessage(13)、ZIMVideoMessage(14)、ZIMCombineMessage(100)、ZIMCustomMessage(200)。 |
| config | ZIMMessageSendConfig | 发送消息的相关配置。 |
| notification | ZIMMessageSendNotification | 发送消息时的相关通知。 |
详情
此方法可用于单聊、群聊中发送回复消息。
- 业务场景:登录后需要向目标用户、目标群聊发送回复消息时,通过该接口发送。
- 调用时机:登录后即可调用。
- 相关回调:[onReceivePeerMessage]、[onReceiveGroupMessage]。
- 相关接口:[queryHistoryMessage]、[sendMessage]、[sendMediaMessage]。
- 支持版本:2.17.0 及以上。
- 使用限制:两次发送消息的间隔要大于 100ms。登录后可用,注销后不可用。
queryMessageRepliedList
queryMessageRepliedList(message: ZIMMessage, config: ZIMMessageRepliedListQueryConfig): Promise< ZIMMessageRepliedListQueriedResult >参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 传入回复列表中的某一条消息。 |
| config | ZIMMessageRepliedListQueryConfig | 查询回复列表的配置。 |
详情
查询回复消息列表。
- 业务场景:开发者可通过这个方法,查询整个回复消息树。
- 调用时机:登录后可调用。
- 支持版本:2.17.0 及以上。
返回值
查询结果的回调。
sendMediaMessage
sendMediaMessage(message: ZIMMediaMessage, toConversationID: string, conversationType: ZIMConversationType, config: ZIMMessageSendConfig, progress: ZIMMediaUploadingProgress): Promise<ZIMMediaMessageSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMediaMessage | 要发送的消息。 |
| toConversationID | string | 消息接收方的会话 ID,支持单聊、房间以及群聊。 |
| conversationType | ZIMConversationType | 会话类型,支持单聊、房间以及群聊。 |
| config | ZIMMessageSendConfig | 发送消息的相关配置。 |
| progress | ZIMMediaUploadingProgress | 发送媒体消息的进度回调。 |
详情
该方法可用于发送单聊、房间以及群聊消息。
- 业务场景:登录后需要向目标用户、目标房间以及目标群聊发送媒体消息时,通过本接口发送。
- 调用时机/通知时机:登录后可调用。
- 影响范围:使用该方法会触发消息接收方的 [onReceivePeerMessage] / [onReceiveRoomMessage] / [onReceiveGroupMessage] 回调,会触发发送方和接收方的 [onConversationChanged] 回调,若该消息所在会话未设置消息免打扰,会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMMessageSentCallback]、[ZIMMediaUploadingProgress]、[onReceivePeerMessage]、[onReceiveRoomMessage]、[onReceiveGroupMessage]、 [onConversationChanged]、[onConversationTotalUnreadMessageCountUpdated]。
- 相关接口:[queryHistoryMessage]、[deleteAllMessage]、[deleteMessages]
- 支持版本:2.1.0 及以上。
- 使用限制:不得超过10条/s,登录后可用,登出后不可用。
- 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。若向房间发送媒体消息,则不支持离线推送,也不支持回调 [onConversationChanged] 和 [onConversationTotalUnreadMessageCountUpdated]。
返回值
发送媒体消息的结果。
sendPeerMessage
sendPeerMessage(message: ZIMMessage, toUserID: string, config: ZIMMessageSendConfig): Promise<ZIMMessageSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要发送的消息。 |
| toUserID | string | 消息接收方的用户 ID。 |
| config | ZIMMessageSendConfig | 发送单聊消息的相关配置。 |
详情
调用此函数后会向指定用户发送消息。
- 业务场景:在进行 1v1 聊天时的场景时需要用到该功能。
- 调用时机:初始化 ZIM,登录以后,用户需要发送单聊消息时调用。
- 支持版本:1.1.0 及以上。
返回值
发送消息的结果的回调。
sendRoomMessage
sendRoomMessage(message: ZIMMessage, toRoomID: string, config: ZIMMessageSendConfig): Promise<ZIMMessageSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要发送的消息。 |
| toRoomID | string | 消息接收方的房间 ID。 |
| config | ZIMMessageSendConfig | 发送房间消息的相关配置。 |
详情
调用此函数后会指定房间内发送消息。
- 业务场景:在进行房间内多人聊天时的场景时需要用到该功能。
- 调用时机:初始化 ZIM,登录成功并创建或加入房间后,用户需要发送房间消息时调用该方法。
- 支持版本:1.1.0 及以上。
返回值
消息的发送结果的回调。
sendGroupMessage
sendGroupMessage(message: ZIMMessage, toGroupID: string, config: ZIMMessageSendConfig): Promise<ZIMMessageSentResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 要发送的消息。 |
| toGroupID | string | 消息接收方的用户 ID。 |
| config | ZIMMessageSendConfig | 发送单聊消息的相关配置。 |
详情
需要发送群聊消息时,调用该接口。
- 业务场景:发送群消息时,可使用该接口。
- 调用时机/通知时机:需要发送群聊消息时调用此接口。
- 影响范围:使用该方法会触发消息接收方的 receiveGroupMessage 回调,会触发发送方和接收方的 conversationChanged 回调,若该消息所在会话未设置消息免打扰,会触发 conversationTotalUnreadMessageCountUpdated 回调。
- 相关回调:[ZIMMessageSentResult]、[receiveGroupMessage]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
- 相关接口:[queryHistoryMessage]、[deleteMessage]
- 支持版本:2.0.0 及以上。
- 使用限制:不得超过10条/s,登录后可用,登出后不可用。
- 注意事项:pushconfig 只有需要使用离线推送功能时才需要填写。
返回值
发送消息的结果的回调。
queryHistoryMessage
queryHistoryMessage(conversationID: string, conversationType: ZIMConversationType, config: ZIMMessageQueryConfig): Promise<ZIMMessageQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | string | 被查询历史消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMMessageQueryConfig | 查询历史消息的配置。 |
详情
该方法用于查询历史消息。
- 业务场景:当需要获得以往的历史消息,可以调用该接口来分页查询历史消息。
- 调用时机/通知时机:需要查询历史消息时调用。
- 相关回调:[ZIMMessageQueriedCallback]
- 支持版本:2.0.0 及以上。
- 使用限制:登录后生效,登出后失效。默认房间场景(conversationType=1)下不开通离线消息缓存,如需开通请联系对应技术支持。
返回值
查询历史消息的结果回调。
queryPinnedMessageList
queryPinnedMessageList(conversationID: string, conversationType: ZIMConversationType, callback: ZIMMessageQueriedCallback): Promise<ZIMMessageQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | string | 被查询置顶消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| callback | ZIMMessageQueriedCallback | 查询历史消息的的结果的返回。 |
详情
该方法用于查询置顶消息列表。
- 业务场景:当需要展示置顶消息时,可以调用该接口来查询会话内置顶消息列表。
- 调用时机:需要查询置顶消息时调用。
- 相关回调:[ZIMPinnedMessageListQueriedCallback]
- 支持版本:2.25.0 及以上。
- 使用限制:已登录 SDK 且支持消息置顶功能才能使用。
返回值
查询置顶消息的结果回调。
queryMessages
queryMessages(messageSeqs: number[], conversationID: string, conversationType: ZIMConversationType): Promise< ZIMMessageQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| messageSeqs | number[] | 查询的消息seq列表。 |
| conversationID | string | 被查询消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
详情
根据消息seq列表查询一批消息。
- 业务场景:在聊天页面跳转到回复消息引用的源消息位置。
- 支持版本:2.17.0 及以上。
返回值
查询消息的的结果的返回。
deleteAllConversationMessages
deleteAllConversationMessages(config: ZIMMessageDeleteConfig): Promise<void>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZIMMessageDeleteConfig | 删除消息的配置。 |
详情
该方法实现了删除所有会话的所有消息的功能。
- 业务场景:用户需要将所有消息删除时,可用此方法,此方法不会将会话删除。
- 调用时机/通知时机:需要删除所有会话的所有消息时调用。
- 影响范围:调用该接口触发 [onMessageDeleted] 回调,若此时存在未读的消息,则会触发 [onConversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMConversationMessagesAllDeletedCallback]、[onMessageDeleted]、[onConversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.14.0 及以上。
- 使用限制:登录后才能使用。
- 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。
返回值
删除全部会话的全部消息的结果的结果回调。
queryCombineMessageDetail
queryCombineMessageDetail(message: ZIMCombineMessage): Promise<ZIMCombineMessageDetailQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMCombineMessage | 需要被拉取子消息的合并消息。 |
详情
该方法用于查询合并消息下具体有哪些子消息。
- 业务场景:当需要获得合并消息下具体有哪些子消息,可以调用该接口来查询。
- 调用时机/通知时机:需要查询合并消息下具体有哪些子消息时调用。
- 支持版本:2.14.0 及以上。
- 使用限制:登录后生效,登出后失效。
返回值
合并消息详情拉取结果。
revokeMessage
revokeMessage(message: ZIMMessage, config: ZIMMessageRevokeConfig): Promise<ZIMMessageRevokedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 需要被撤回的消息。 |
| config | ZIMMessageRevokeConfig | 撤回消息的配置。 |
详情
该方法实现了撤回消息的功能。该接口只能撤回 2 分钟内的消息,如需撤回更早之前的消息,请联系技术支持。
- 业务场景:用户需要撤回某条消息,当用户不想让其他用户看到该信息时,可用此方法撤回。
- 影响范围:若撤回的消息为会话的最新一条消息,会触发 [conversationChanged] 回调,若此条消息未读,则会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[receiveMessageRevoked]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.5.0 及以上。
- 使用限制:登录后才能使用。如需群主撤回群内其他成员消息,需要使用 2.9.0 及以上版本。
- 注意事项:不支持房间消息撤回。
返回值
撤回消息的结果回调。
deleteMessages
deleteMessages(messageList: ZIMMessage[], conversationID: string, conversationType: ZIMConversationType, config: ZIMMessageDeleteConfig): Promise<ZIMMessageDeletedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| messageList | ZIMMessage[] | 被删除的消息列表。 |
| conversationID | string | 被删除消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMMessageDeleteConfig | 删除消息的配置。 |
详情
该方法实现了删除消息的功能。
- 业务场景:用户需要删除某条消息,当用户无需展示某条消息时,可用此方法删除。
- 调用时机/通知时机:需要删除消息时调用。
- 影响范围:若删除的消息为会话的最新一条消息,会触发 [conversationChanged] 回调,若此条消息未读,则会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMMessageDeletedCallback]、[conversationChanged]、[conversationTotalUnreadMessageCountUpdated]。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后才能使用。
- 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。
返回值
删除消息的结果回调。
addMessageReaction
addMessageReaction(reactionType: string, message: ZIMMessage): Promise<ZIMMessageReactionAddedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| reactionType | string | 表态类型,由您定义,长度上限为 32 字节。 |
| message | ZIMMessage | 需要被表态的消息。 |
详情
消息表态,是指用户对消息的反应。一般可用于对单聊或群聊的消息添加或删除表情,也可用于发起群组投票、确认群组结果等操作。
- 业务场景:用户需要对某条消息进行表态,例如点赞,可用此方法进行表态。
- 相关回调:若表态成功,则会触发 [messageReactionsChanged] 回调;若表态的消息为会话的最新一条消息,成功后还会触发 [conversationChanged] 回调。
- 支持版本:2.10.0 及以上。
- 使用限制:登录后才能使用。且仅支持单聊和群聊的消息表态
- 注意事项:不支持房间消息表态。
返回值
增加消息表态的结果回调。
deleteMessageReaction
deleteMessageReaction(reactionType: string, message: ZIMMessage): Promise<ZIMMessageReactionDeletedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| reactionType | string | 表态类型,必须为本端用户所作的表态类型。 |
| message | ZIMMessage | 需要被删除表态的消息。 |
详情
删除本端添加的表态。
- 业务场景:用户需要对某条已表态的消息进行表态删除,可用此方法。
- 相关回调:若删除成功,则会触发 [messageReactionsChanged] 回调;若相关消息为会话的最新一条消息,成功后还会触发 [conversationChanged] 回调。
- 支持版本:2.10.0 及以上。
- 使用限制:登录后才能使用。且仅支持单聊和群聊的消息表态
- 注意事项:不支持房间消息表态操作。
返回值
删除消息表态的结果回调。
queryMessageReactionUserList
queryMessageReactionUserList(message: ZIMMessage, config: ZIMMessageReactionUserQueryConfig): Promise<ZIMMessageReactionUserListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| message | ZIMMessage | 需要被拉取表态用户详情的消息。 |
| config | ZIMMessageReactionUserQueryConfig | 拉取表态用户配置。 |
详情
该方法用于查询消息某个表态下的具体用户信息。
- 业务场景:当需要获得消息某个表态下的具体用户信息,可以调用该接口来分页查询表态用户消息。
- 调用时机/通知时机:需要查询表态用户信息时调用。
- 支持版本:2.10.0 及以上。
- 使用限制:登录后生效,登出后失效。不支持查询房间消息的表态详情。
返回值
消息表态用户详情拉取结果。
deleteAllMessage
deleteAllMessage(conversationID: string, conversationType: ZIMConversationType, config: ZIMMessageDeleteConfig): Promise<ZIMMessageDeletedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| conversationID | string | 将要被删除消息的会话ID。 |
| conversationType | ZIMConversationType | 会话类型。 |
| config | ZIMMessageDeleteConfig | 删除会话配置。 |
详情
当你需要删除目标会话下的所有消息时,调用该方法。
- 业务场景:如想要实现一个群设置页面的清空当前会话下的聊天信息,可调用该接口。
- 调用时机/通知时机:目标会话存在、并且用户属于此会话的一员。
- 影响范围:触发 [conversationChanged] 回调,若存在未读消息,则会触发 [conversationTotalUnreadMessageCountUpdated] 回调。
- 相关回调:[ZIMMessageDeletedCallback]。
- 支持版本:2.0.0 及以上。
- 使用限制:登录后生效,登出后失效。
- 注意事项:isAlsoDeleteServerMessage 决定是否删除服务器消息,无论是否删除服务器消息,删除消息的影响范围都仅限于本账号,不会删除其他账号的消息。
返回值
删除消息的结果的返回。
updateMessageLocalExtendedData
updateMessageLocalExtendedData(localExtendedData: string, message: ZIMMessage): Promise<ZIMMessageLocalExtendedDataUpdatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| localExtendedData | string | 仅本端可见的消息拓展字段,可附带额外的信息存储到本地,目前长度的限制是 128K。如有特殊需求,可联系 ZEGO 技术支持进行配置。 |
| message | ZIMMessage | 需要更新的消息体。 |
详情
在用户登录后,调用该接口可以更新消息本地扩展字段。
- 调用时机/通知时机:用户登录后。
- 隐私保护声明:尽量不要传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 相关回调:[ZIMMessageLocalExtendedDataUpdatedResult]。
- 支持版本:2.9.0 及以上。
返回值
修改用户扩展字段的回调结果。
queryRoomMembers
queryRoomMembers(userIDs: string[], roomID: string): Promise<ZIMRoomMembersQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 需要查询的用户 ID 列表。最多 10 名用户。 |
| roomID | string | 指定房间的房间 ID。 |
详情
该方法可以查询指定房间中最多 10 名用户的信息。
- 业务场景:需要得知指定房间内的用户信息时,这时可以调用该接口来获得数据源。可以确认用户是否在房间中。
- 调用时机/通知时机:登录后可调用。
- 支持版本:2.8.0 及以上。
- 使用限制:登录后可用,登出后不可用,一次最多查询 10 名用户。
返回值
查询房间用户信息的回调。
setRoomMembersAttributes
setRoomMembersAttributes(attributes: Record<string, string>, userIDs: string[], roomID: string, config: ZIMRoomMemberAttributesSetConfig): Promise<ZIMRoomMembersAttributesOperatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| attributes | Record<string, string> | 欲设置的房间成员属性。 |
| userIDs | string[] | 批量设置的 userID 列表。 |
| roomID | string | 房间 ID。 |
| config | ZIMRoomMemberAttributesSetConfig | 该操作的行为配置。 |
详情
调用该 API 来设置房间内成员的房间用户属性。
- 业务场景:如需要为房间内成员设置一个等级,设置一个状态时,可用此接口来设置。
- 默认值:[ZIMRoomMemberAttributesSetConfig] 默认构造 isDeleteAfterOwnerLeft 为 true。
- 调用时机:登录后,并处于相关房间内调用。
- 相关回调:[ZIMRoomMembersAttributesOperatedResult]、[roomMemberAttributesUpdated]。
- 相关接口:[queryRoomMembersAttributes]、[queryRoomMemberAttributesList]。
- 支持版本:2.4.0 及以上。
- 使用限制:每个房间中,最多允许设置 500 个用户的用户属性,以 Key-Value 的方式进行存储。开发者如果需要提高属性上限,请联系 ZEGO 技术支持。房间内的每个用户,所拥有的用户属性 Key-Value 的总长度不超过 144 字节,且 Key-Value 的个数不超过 30 对。单个 Key-Value 的长度,Key 不超过 8 字节、Value 不超过 64 字节。开发者如果需要提高上限,请联系 ZEGO 技术支持。房间销毁后,设置的自定义用户属性也会同时销毁。
返回值
设置房间属性的操作结果。
queryRoomMembersAttributes
queryRoomMembersAttributes(userIDs: string[], roomID: string): Promise<ZIMRoomMembersAttributesQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| userIDs | string[] | 需要查询的 userID 列表。 |
| roomID | string | 房间 ID。 |
详情
调用该 API 来批量查询房间内成员的房间用户属性。
- 调用时机:当需要指定查询部分房间用户的时候使用该接口。
- 相关回调:[ZIMRoomMembersAttributesQueriedResult]。
- 相关接口:[setRoomMembersAttributes]、[queryRoomMemberAttributesList]。
- 生命周期:登录并加入对应房间后可用,离开对应房间后不可用。
- 支持版本:2.4.0 及以上。
- 使用限制:最大调用频率默认 30 秒内 5 次,一次最大查询 100 人。
返回值
批量查询房间用户属性的结果。
queryRoomMemberAttributesList
queryRoomMemberAttributesList(roomID: string, config: ZIMRoomMemberAttributesQueryConfig): Promise<ZIMRoomMemberAttributesListQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 房间 ID。 |
| config | ZIMRoomMemberAttributesQueryConfig | 该操作的行为配置。 |
详情
分页查询房间内拥有房间属性成员的房间用户属性。
- 调用时机:当需要指定查询全部房间用户的时候使用该接口。
- 相关回调:[ZIMRoomMemberAttributesListQueriedResult]。
- 相关接口:[setRoomMembersAttributes]、[queryRoomMembersAttributes]。
- 生命周期:登录并加入对应房间后可用,离开对应房间后不可用。
- 支持版本:2.4.0 及以上。
- 使用限制:最大调用频率默认 30 秒内 5 次,一页的 count 最大 100 人。
返回值
分页查询房间用户属性的结果。
createRoom
createRoom(roomInfo: ZIMRoomInfo, config: ZIMRoomAdvancedConfig): Promise<ZIMRoomCreatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomInfo | ZIMRoomInfo | 将要被创建的房间的配置信息。 |
| config | ZIMRoomAdvancedConfig | 将要被创建的房间的高级属性。 |
详情
用户可以通过该接口,创建且加入房间,其他用户可通过 [joinRoom] 加入此房间。
- 业务场景:需要创建具有自定义属性的多人聊天场景时,可通过该接口创建并加入房间。
- 调用时机:登录后可调用。
- 相关回调:通过 [onRoomCreated] 回调可拿到创建房间的结果。
- 相关接口:可通过 [joinRoom] 加入房间,[leaveRoom] 离开房间。
- 支持版本:1.3.0。
- 注意事项:当所有人都离开房间后,此房间将被自动销毁,一个用户最多同时在 5 个房间内。 如果房间已存在,调用此接口将会出错,具体请参考返回的错误码处理。
返回值
创建房间的结果的回调。
enterRoom
enterRoom(roomInfo: ZIMRoomInfo, config: ZIMRoomAdvancedConfig): Promise<ZIMRoomEnteredResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomInfo | ZIMRoomInfo | 将要被创建的房间的配置信息。只有第一个进入房间的用户创建 roomName 生效。 |
| config | ZIMRoomAdvancedConfig | 将要被创建的房间的高级属性。只有第一个进入房间的用户配置生效。 |
详情
调用该 API 后,如果房间已存在,则直接加入房间;如果房间不存在,则创建一个房间并加入。同时,如果房间不存在时,调用该接口后,用户设置的房间高级属性生效。
- 业务场景:需要进入具有自定义属性的多人聊天场景,同时不需要区分房间是被创建还是被加入时,可通过该接口进入一个房间。
- 调用时机:登录后可调用。
- 相关回调:通过 [onRoomEntered] 回调可拿到进入房间的结果。
- 相关接口:可通过 [enterRoom] 进入房间,[leaveRoom] 离开房间。
- 支持版本:2.1.0。
- 注意事项:当所有人都离开房间后,此房间将被自动销毁,一个用户最多同时在 5 个房间内。[enterRoom] 相当于 [createRoom] 或 [joinRoom] 的作用,因此两者只需选用其中一种 API 即可。
返回值
进入房间的结果的回调。
switchRoom
switchRoom(fromRoomID: string, toRoomInfo: ZIMRoomInfo, isCreateWhenRoomNotExisted: boolean, config: ZIMRoomAdvancedConfig): Promise<ZIMRoomSwitchedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| fromRoomID | string | 将要被创建的房间的配置信息。只有第一个进入房间的用户创建 roomName 生效。 |
| toRoomInfo | ZIMRoomInfo | 需要切换至的房间的基本信息。其中的 roomName 字段,仅在切换至的房间不存在,且 isCreateWhenRoomNotExisted 字段为 true 的情况下生效。 |
| isCreateWhenRoomNotExisted | boolean | 当需要切换至的房间不存在时,基于该字段决定是否要创建对应房间。 |
| config | ZIMRoomAdvancedConfig | 如果 isCreateWhenRoomNotExisted 字段为 true,且需要切换至的房间不存在时,创建对应房间所使用的房间进阶属性配置。 |
详情
从一个房间切换至另一个房间;如果房间不存在,则根据传入参数决定是否创建对应房间。
- 业务场景:需要快速从一个房间切换至另一房间的场景。
- 调用时机:登录后可调用。
- 相关回调:通过 [ZIMRoomSwitchedResult] 回调可拿到切换房间的结果。
- 支持版本:2.18.0。
返回值
切换房间的结果的回调。
joinRoom
joinRoom(roomID: string): Promise<ZIMRoomJoinedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 将要加入的房间 ID。 |
详情
若房间不存在,则加入失败,需要先调用 [createRoom] 创建房间。
- 业务场景:多人聊天场景下,用户需要加入房间时可调用该接口进入房间。
- 调用时机:通过 [create] 创建 ZIM 实例后可调用。
- 相关接口:可通过 [createRoom] 创建房间,[leaveRoom] 离开房间。
- 支持版本:1.1.0 及以上。
- 注意事项:当所有人都离开房间后,此房间将被自动销毁。一个用户最多同时在 5 个房间内。
返回值
加入房间的结果的回调
leaveRoom
leaveRoom(roomID: string): Promise<ZIMRoomLeftResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 将要离开的房间 ID。 |
详情
当房间中的用户需要离开房间时,通过 [leaveRoom] 离开此房间,若房间不存在,则离开失败。
- 业务场景:多人聊天场景下,房间中的用户需要离开房间时,可通过该接口离开房间。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该用户位于房间中时可调用。
- 相关接口:可通过 [createRoom] 创建房间,[joinRoom] 加入房间。
- 支持版本:1.1.0 及以上。
- 注意事项:若当前用户不在此房间内,则离开失败。当所有人都离开房间后,此房间将被自动销毁。
返回值
离开房间的结果的回调。
leaveAllRoom
leaveAllRoom(): Promise<ZIMAllRoomLeftResult>调用此接口可以一次性退出已进入的所有房间。
- 调用时机:登录后可调用。
- 相关回调:通过 [ZIMAllRoomLeftResult] 回调获取离开的房间列表。
- 支持版本:2.15 及以上。
离开所有房间的结果的回调。
queryRoomMemberList
queryRoomMemberList(roomID: string, config: ZIMRoomMemberQueryConfig): Promise<ZIMRoomMemberQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 将要查询的房间 ID。 |
| config | ZIMRoomMemberQueryConfig | 查询房间成员操作的配置。 |
详情
当加入了一个房间后,可通过此函数获取房间内的成员列表。
- 业务场景:当开发者需要获取房间成员列表以做其他业务操作时,可调用该接口以获得成员列表。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该用户位于需要查询的房间中时可调用该接口。
- 相关接口:可通过 [queryRoomOnlineMemberCount] 查询房间在线人数。
- 支持版本:1.1.0 及以上。
- 注意事项:如需使用此功能,请联系 ZEGO 技术支持开通服务。若用户当前不在此房间内,则查询失败。当房间成员超过 500 人时,查询房间成员列表的结果最多只能包含 500 名成员的信息。
返回值
查询房间成员的结果的回调。
queryRoomOnlineMemberCount
queryRoomOnlineMemberCount(roomID: string): Promise<ZIMRoomOnlineMemberCountQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 将要查询的房间 ID。 |
详情
当加入了一个房间后,可通过此函数获取房间内在线成员的数量。
- 业务场景:当开发者需要获取房间在线的房间成员人数时,可以调用此接口。
- 调用时机:通过 [create] 创建 ZIM 实例后,且该用户位于需要查询的房间中时可调用该接口。
- 相关接口:可通过 [queryRoomMember] 查询房间成员。
- 支持版本:1.1.0 及以上。
- 注意事项:若用户当前不在此房间内,则查询失败。
返回值
查询房间内在线成员数量的结果回调。
queryRoomAllAttributes
queryRoomAllAttributes(roomID: string): Promise<ZIMRoomAttributesQueriedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 需要查询自定义属性的房间号。 |
详情
用于查询房间属性。
- 调用时机: 登录后,并处于相关房间内调用。
- 业务场景:语聊房需要查询麦位时,可以使用该接口。
- 相关回调:[ZIMRoomAttributesQueriedCallback]。
- 相关接口:[deleteRoomAttributes],删除房间属性。[setRoomAttributes],设置房间属性。
- 支持版本:1.3.0。
返回值
查询房间属性的回调。
setRoomAttributes
setRoomAttributes(roomAttributes: Record<string, string>, roomID: string, config: ZIMRoomAttributesSetConfig): Promise<ZIMRoomAttributesOperatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomAttributes | Record<string, string> | 欲设置的房间属性。 |
| roomID | string | 需要进行房间属性修改的房间号。 |
| config | ZIMRoomAttributesSetConfig | 该操作的行为配置。 |
详情
用于设置房间属性。
- 业务场景:语聊房需要设置麦位时,可以使用该接口。
- 调用时机: 登录后,并处于相关房间内调用。
数量限制: 每个房间中,最多允许设置 20 个属性。
大小限制: 房间属性的key-value,默认 key 的长度是 16,默认 value 的长度是 1024。
- 默认值:[ZIMRoomAttributesSetConfig] 传空时的默认配置是非强制操作,且不更新拥有者,且涉及到的房间属性在拥有者退出后不自动删除。
- 隐私保护声明:尽量不要在房间属性中传入涉及个人隐私的敏感信息,包括但不限于手机号、身份证号、护照编号、真实姓名等。
- 影响范围:新增或修改现有房间的房间属性。
- 相关回调:[ZIMRoomAttributesOperatedCallback]。
- 相关接口:[DeleteRoomAttributes],删除房间属性。[QueryRoomAllAttributes],查询房间属性。
- 支持版本:1.3.0。
返回值
设置房间属性的操作回调。
deleteRoomAttributes
deleteRoomAttributes(keys: string[], roomID: string, config: ZIMRoomAttributesDeleteConfig): Promise<ZIMRoomAttributesOperatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| keys | string[] | 欲删除的房间属性的key。 |
| roomID | string | 欲修改房间属性的房间号 |
| config | ZIMRoomAttributesDeleteConfig | 该操作的行为配置。 |
详情
用于删除房间属性。
- 业务场景:语聊房需要删除麦位时,可以使用该接口。
- 调用时机: 登录后,并处于相关房间内调用。
- 默认值:[ZIMRoomAttributesDeleteConfig] 传空时的默认配置是非强制操作。
- 影响范围:删除现有房间的房间属性。
- 相关回调:[ZIMRoomAttributesOperatedCallback]。
- 相关接口:[setRoomAttributes],设置房间属性。[queryRoomAllAttributes],查询房间属性。
- 支持版本:1.3.0。
返回值
设置房间属性的操作回调。
beginRoomAttributesBatchOperation
beginRoomAttributesBatchOperation(roomID: string, config: ZIMRoomAttributesBatchOperationConfig): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 需要开启组合操作的房间号。 |
| config | ZIMRoomAttributesBatchOperationConfig | 组合操作的配置。 |
详情
用于开启房间属性的组合操作,一个组合操作视为一次原子操作。
- 业务场景:语聊房需要切换麦位时,可以使用该接口发起组合操作以完成,如先下麦,然后抢占其他麦位,若抢占失败再回到原来麦位,这期间原来的麦位是锁定的,保证了原来的麦位不会被其他用户上麦。
- 调用时机: 登录后,并处于相关房间内调用。
- 影响范围:开启后设置、删除房间属性操作会被纳入到本次组合操作中。
- 相关接口:[endRoomAttributesBatchOperation],完成本次组合操作。
- 支持版本:1.3.0。
- 注意事项:开启房间属性的组合操作后,直到调用完成组合操作接口前,所有的设置与删除操作均会纳入到组合操作中。连续调用开启组合操作接口,会重置状态。若不执行[endRoomAttributesBatchOperation]视为没有操作。
endRoomAttributesBatchOperation
endRoomAttributesBatchOperation(roomID: string): Promise<ZIMRoomAttributesBatchOperatedResult>参数
| 名称 | 类型 | 描述 |
|---|---|---|
| roomID | string | 需要进行房间属性修改的房间号。 |
详情
完成组合房间属性操作,会将该房间上次调用 [beginRoomAttributesBatchOperation] 到本次操作期间的所有 设置/删除 操作组合完成。
- 业务场景:语聊房需要切换麦位时,可以使用该接口。
- 调用时机:登录后,在 [beginRoomAttributesBatchOperation] 执行后执行该操作。
- 影响范围:同房间内的设置,删除房间属性。
- 相关回调:[ZIMRoomAttributesBatchOperatedCallback]。
- 相关接口:[beginRoomAttributesBatchOperation],开启组合操作。
- 支持版本:1.3.0。
- 使用限制:需要该房间中已开启组合操作。
- 注意事项:在 [beginRoomAttributesBatchOperation] 未执行时调用,会返还错误。若执行[beginRoomAttributesBatchOperation]后不执行[endRoomAttributesBatchOperation]视为没有操作。
返回值
组合操作的回调。
ZPNs
详情
ZPNs SDK 主类。
方法
getInstance
getInstance(): ZPNs获取 ZPNs 实例。
- 业务场景:使用 ZPNs 时需要通过此方法获取 ZPNs 单例对象。
- 支持版本:2.3.0 及以上版本。
ZPNs 实例对象。
register
register(config: ZPNsConfig, zim: ZIM): void参数
| 名称 | 类型 | 描述 |
|---|---|---|
| config | ZPNsConfig | 离线推送配置对象。 |
| zim | ZIM | ZIM 实例,ZIM SDK 需要在 2.3.0 或以上版本。 |
详情
该方法用于注册谷歌 FCM 离线推送。
- 业务场景:当开发者需要使用离线推送时可调用该方法。
- 支持版本:ZPNs 2.3.0 及以上版本。
unregister
unregister(): void不需要离线推送时可调用此方法反注册。
- 调用时机/通知时机:需要反注册时调用。
- 支持版本:2.3.0 及以上版本。
- 使用限制:需要在 [register] 调用后才可调用。
