logo
当前页

群属性管理


功能简介

ZIM SDK 提供了群属性管理功能,支持在指定群组中,设置自定义属性的能力。开发者可以在群组自定义字段管理,比如群组简介、群组状态等。

实现流程

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

设置群属性

用户登录、并加入某个群组后,如果想要给自己所在群组设置一些属性,可以通过调用 setGroupAttributes 接口,设置群属性。

每个群组中,设置的属性以 Key-Value 的形式存储。

  • 当 Key 不存在时,设置群属性表示增加属性。
  • 当 key 已经存在时,设置群属性表示更新已有属性的取值。
  • 当调用接口但不传入任何 Key-Value 时,设置群属性操作没有任何作用。
注意
  • 每个群组中,最多允许设置 10 个属性,以 Key-Value 的方式进行存储。开发者如果需要提高属性上限,请联系 ZEGO 技术支持。
  • 群组解散后,设置的自定义属性也会同时销毁。

设置成功后:

示例代码

示例代码
// 群内成员 设置群组的属性
var groupID = '';
var groupAttributes = { key1: 'value1', key2: 'value2' };

zim.setGroupAttributes(groupAttributes, groupID)
    .then(function ({ groupID, errorKeys }) {
        // 操作成功
    })
    .catch(function (err) {
        // 操作失败
    });

// 设置 groupAttributesUpdated 回调
zim.on('groupAttributesUpdated', function (zim, { groupID, infoList, operatedInfo }) {
    console.log('groupAttributesUpdated', groupID, infoList, operatedInfo);
});
1
Copied!

删除群属性

用户登录、并加入某个群组后,如果需要删除自己所在群组的某个属性,可以通过调用 deleteGroupAttributes 接口,删除群属性。

删除成功后,用户可以通过 ZIMGroupAttributesOperatedResult 收到通知。

示例代码

示例代码
// 群内成员 删除群组的属性
var groupID = '';
var keys = ['key1'];

zim.deleteGroupAttributes(keys, groupID)
    .then(function ({ groupID, errorKeys }) {
        // 操作成功
    })
    .catch(function (err) {
        // 操作失败
    });

// 设置 groupAttributesUpdated 回调
zim.on('groupAttributesUpdated', function (zim, { groupID, infoList, operatedInfo }) {
    console.log('groupAttributesUpdated', groupID, infoList, operatedInfo);
});
1
Copied!

查询群属性

用户登录、并加入某个群组后,如果需要查询自己所在群组的某个属性,可以通过调用 queryGroupAttributes 接口,查询群属性。

查询成功后,用户可以通过 ZIMGroupAttributesQueriedResult 收到通知。

示例代码

示例代码
// 群内成员 查询群组属性
var groupID = '';
var keys = ['key1'];
zim.queryGroupAttributes(keys, groupID)
    .then(function ({ groupID, groupAttributes }) {
        // 查询成功
    })
    .catch(function (err) {
        // 查询失败
    });
1
Copied!

查询群的所有属性

用户登录、并加入某个群组后,如果需要查询自己所在群组的全部属性,可以通过调用 queryGroupAllAttributes 接口,查询群的所有属性。

查询成功后,用户可以通过 ZIMGroupAttributesQueriedResult 收到通知。

示例代码

示例代码
// 群内成员 查询群组的所有属性
var groupID = '';
zim.queryGroupAllAttributes(groupID)
    .then(function ({ groupID, groupAttributes }) {
        // 查询成功
    })
    .catch(function (err) {
        // 查询失败
    });
1
Copied!

Previous

群资料管理

Next

群成员管理