logo
On this page

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.

Warning
  • 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.
Warning
  • 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.

SampleCode
// Set group properties.
var groupID = '';
var 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);
});
1
Copied!

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.

SampleCode
// Delete group properties.
var groupID = '';
var 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);
});
1
Copied!

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.

SampleCode
// Get a group property.
var groupID = '';
var keys = ['key1'];
zim.queryGroupAttributes(keys, groupID)
    .then(function ({ groupID, groupAttributes }) {
        // Query successful. 
    })
    .catch(function (err) {
        // Query failed.
    });
1
Copied!

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.

SampleCode
// Get all group properties.
var groupID = '';
zim.queryGroupAllAttributes(groupID)
    .then(function ({ groupID, groupAttributes }) {
        // Query successful. 
    })
    .catch(function (err) {
        // Query failed.
    });
1
Copied!

Previous

Manage group info

Next

Manage group members