logo
In-app Chat
SDK Error Codes
Powered Byspreading
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 ZIMGroupAttributesOperatedCallback after the group properties set successfully.

SampleCode
// Set group properties.
HashMap<String, String> attributes = new HashMap<>();
attributes.put("2", "0");
attributes.put("3", "0");
attributes.put("4", "0");

zim.setGroupAttributes(attributes, group_id, new ZIMGroupAttributesOperatedCallback() {
    @Override
    public void onGroupAttributesOperated(ArrayList<String> errorKeys, ZIMError errorInfo) {

    }
});
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 ZIMGroupAttributesOperatedCallback after the group properties are deleted successfully.

SampleCode
// Delete group properties
ArrayList<String> keys = new ArrayList<>();
keys.add("key_0");
keys.add("key_1");
keys.add("key_2");
zim.deleteGroupAttributes(keys, group_id, new ZIMGroupAttributesOperatedCallback() {
    @Override
    public void onGroupAttributesOperated(ArrayList<String> errorKeys, ZIMError errorInfo) {

    }
});
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 ZIMGroupAttributesOperatedCallback after the query succeeds.

SampleCode
// Get a group property
ArrayList<String> keys = new ArrayList<>();
keys.add("0");
keys.add("1");
keys.add("2");
keys.add("3");
keys.add("4");
keys.add("5");
zim.queryGroupAttributes(keys, group_id, new ZIMGroupAttributesQueriedCallback() {
    @Override
    public void onGroupAttributesQueried(HashMap<String, String> groupAttributes, ZIMError errorInfo) {

    }
});
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 ZIMGroupAttributesOperatedCallback after the query succeeds.

SampleCode
// Get all group properties.
zim.queryGroupAttributes(group_id, new ZIMGroupAttributesQueriedCallback() {
    @Override
    public void onGroupAttributesQueried(HashMap<String, String> groupAttributes, ZIMError errorInfo) {

    }
});
1
Copied!

Previous

Manage group info

Next

Manage group members