logo
当前页

群资料管理


功能简介

ZIM SDK 提供了群资料管理功能,支持用户查询/修改群资料,比如群名、群昵称、群头像、群公告等基本群信息,也支持用户对某个群组设置仅自己可见的群备注。

实现流程

注意
  • 用户使用“群资料管理”功能之前,请先加入某个群组,否则无法使用相关功能,详情请参考 加入群组
  • 群内成员(包含群主)都可以使用“群资料管理”功能。

查询群资料

用户登录、并加入某个群组后,如果想要了解自己加入群组的相关资料,可以通过调用 queryGroupInfoByGroupID 接口,查询群资料。

查询成功后,用户可以通过 ZIMGroupInfoQueriedCallback 收到查询结果。

示例代码
// 群内成员 查询群资料,例如,群名、群昵称、群公告等
[zim queryGroupInfoByGroupID:groupID callback:^(ZIMGroupInfo * _Nonnull groupInfo, ZIMError * _Nonnull errorInfo) {
        //这里写调用查询群资料,例如,群名、群昵称、群公告接口后的业务代码
}];
1
Copied!

修改群名

用户登录、并加入某个群组后,如果想要修改自己加入群组的群名,可以通过调用 updateGroupName 接口,修改群组名称。

修改成功后,全体群成员都可以通过 groupNameUpdated 收到通知。

示例代码
// 群内成员 修改群名
// groupName 最大 64 字节的字符串,无特殊字符限制。
[zim updateGroupName:groupName groupID:groupID callback:^(ZIMError * _Nonnull errorInfo) {
        //这里写调用修改群名称接口后的业务代码
}];
1
Copied!

修改群头像

用户登录、并加入某个群组后,如果想要修改自己加入群组的群头像,可以通过调用 updateGroupAvatarUrl 接口,修改群组头像。

修改成功后,全体群成员都可以通过 groupAvatarUrlUpdated 收到通知。

示例代码
// 群内成员 修改群头像
// URL 最大 500 字节,无特殊字符限制
[zim updateGroupAvatarUrl:groupAvatarUrl groupID:groupID callback:^(ZIMError * _Nonnull errorInfo) {
        //这里写调用修改群头像称接口后的业务代码
}];
1
Copied!

修改群公告

用户登录、并加入某个群组后,如果想要修改自己加入群组的群公告,可以通过调用 updateGroupNotice 接口,修改群组公告。

修改成功后,全体群成员都可以通过 groupNoticeUpdated 收到通知。

示例代码
// 群内成员 修改群公告
[zim updateGroupNotice:groupNotice groupID:groupID callback:^(ZIMError * _Nonnull errorInfo) {
        //这里写调用修改群公告接口后的业务代码
}];
1
Copied!

修改群备注

群备注,是用户为群聊设置个性化的备注名称,以便于区分不同的群聊。例如,可以将工作群备注为“工作群”,家庭群备注为“家庭群”,这样在识别群聊时会更加方便。

说明

群备注仅用户自己可见,不会影响其他群聊成员的群名称显示。

用户登录、并加入某个群组后,如果想要修改群组的群备注,可以通过调用 updateGroupAlias 接口,修改群组备注,群备注仅该用户自身可见,且对应会话的备注也会自动同步。

Untitled
// 修改备注
// groupAlias 最大 256 字节的字符串,无特殊字符限制。
NSString *groupAlias = @"NewAlias";
NSString *groupID = @"GroupID";
[zim updateGroupAlias:groupAlias groupID:groupID callback:^(NSString *groupID, NSString *groupAlias, ZIMError *errorInfo) {
        //这里写调用修改群备注接口后的业务代码
}];
1
Copied!

修改成功后,该用户的所有端都可以通过 groupAliasUpdated 收到通知。

Untitled
@interface ZIMEventHandlerImpl : NSObject<ZIMEventHandler>

+(ZIMEventHandlerImpl *)getInstance();

@end

@implementation ZIMEventHandlerImpl

// 监听群备注修改通知
- (void)zim:(ZIM *)zim
    groupAliasUpdated:(NSString *)groupAlias
       operatedUserID:(NSString *)operatedUserID
              groupID:(NSString *)groupID {
    // 业务逻辑
}

// 其余回调事件..

@end

ZIMEventHandlerImpl *eventHandlerImpl = [ZIMEventHandlerImpl getInstance];

[zim setEventHandler: eventHandlerImpl];
1
Copied!

此外,该用户还会收到 conversationChanged 回调,得知 conversationAlias(会话别名)更新,详情请参考 获取会话列表 - 监听会话变更

Previous

群组管理

Next

群属性管理