Manage group properties
ZEGOCLOUD's In-app Chat (the ZIM SDK) provides the capability of group properties management, allowing you to customize the group properties and fields, such as the group profile, group status, and more.
- Before you use this feature, you must join a group first. To join a group, refer to the Chapter Join a group of Manage groups.
- All in-group members (group owner included) can use this feature.
Set group properties
To set group properties after joining a group, call the setGroupAttributes method.
The group properties you set are stored as key-value
.
- When Key does not exist: Setting group property means adding room property.
- When the Key already exists: Setting the group property means updating the value of the existing room property.
- Leaves the
Key-Value
empty means no group properties to be set.
- Up to 10 group properties can be set in a group. The group property is stored in the format of
Key-Value
. For more customizable group properties, contact ZEGOCLOUD Technical Support. - The customized group properties you set will be cleared after the group is destroyed.
You can receive a notification through the callback ZIMGroupAttributesOperatedResult after the group properties set successfully.
// Set group properties.
const groupID = '';
const groupAttributes = { key1: 'value1', key2: 'value2' };
zim.setGroupAttributes(groupAttributes, groupID)
.then(function ({ groupID, errorKeys }) {
// Operation successful.
})
.catch(function (err) {
// Operation failed.
});
// Set up and listen for the callback groupAttributesUpdated.
zim.on('groupAttributesUpdated', function (zim, { groupID, infoList, operatedInfo }) {
console.log('groupAttributesUpdated', groupID, infoList, operatedInfo);
});
Delete group properties
To delete group properties after joining a group, call the deleteGroupAttributes method.
You can receive a notification through the callback ZIMGroupAttributesOperatedResult after the group properties are deleted successfully.
// Delete group properties.
const groupID = '';
const keys = ['key1'];
zim.deleteGroupAttributes(keys, groupID)
.then(function ({ groupID, errorKeys }) {
// Operation successful.
})
.catch(function (err) {
// Operation failed.
});
// Set up and listen for the callback groupAttributesUpdated.
zim.on('groupAttributesUpdated', function (zim, { groupID, infoList, operatedInfo }) {
console.log('groupAttributesUpdated', groupID, infoList, operatedInfo);
});
Get a group property
To query a group property after joining a group, call the queryGroupAttributes method.
You can receive a notification through the callback ZIMGroupAttributesOperatedResult after the query succeeds.
// Get a group property.
const groupID = '';
const keys = ['key1'];
zim.queryGroupAttributes(keys, groupID)
.then(function ({ groupID, groupAttributes }) {
// Query successful.
})
.catch(function (err) {
// Query failed.
});
Get all group properties
To query all group properties after joining a group, call the queryGroupAllAttributes method.
You can receive a notification through the callback ZIMGroupAttributesOperatedResult after the query succeeds.
// Get all group properties.
const groupID = '';
zim.queryGroupAllAttributes(groupID)
.then(function ({ groupID, groupAttributes }) {
// Query successful.
})
.catch(function (err) {
// Query failed.
});