Channels

Our channels enable developers to implement different types of chat messaging capabilities into their applications easily

Users can create and join channels where they will be able to participate and chat with other users. A channel can support up to 300,000 members and can contain an unlimited number of messages. Any message exchanged in the channels will be pushed to all other members of the channel in real-time.

Channel Description

Name

Data Type

Description

Attributes

channelId

String

ID of the channel

isDistinct

Bool

Is channel distinct?

metadata

[String: Any]

Additional properties to support custom fields

type

AmityChannelType

Type of channel

tags

[String]

Tags used for searching

isMuted

Bool

Is this channel muted?

Computed by using muteTimeout

isRateLimited

Bool

This channel has limited sending rate?

Computed by using muteTimeout

rateLimit

Int

Number of messages within rate limit

displayName

String

Channel name for displaying

memberCount

Integer

Number of members in channel

messageCount

Integer

Number of messages in channel

unreadCount

Integer

Number of unread messages in channel

lastActivity

Date

Date/time of user's last activity related to the channel (e.g. add/remove member)

createdAt

Date

Date/time the channel was created

updatedAt

Date

Date/time the channel was last updated

avatarFileId

String

Avatar file ID

Channel Types

Amity's Chat SDK has six channel types but not all of these channels are supported in channel creation. The query, getChannels method however supports all channel types.

Each type is designed to match a particular use-case for chat channels. Here's a table showing what features each channel offers:

Channel Type

Discoverable by

Message sending privileges

Moderation access

Channel Creation

Community

All members and admins

Members and admins

All Moderation tools

SDK, Console

Live

Only members and admins

Members and admins

All Moderation tools

SDK, Console

Broadcast

All members and admins

Admins

Admin Moderation tools

Console

Conversation

Only members

Members

No Moderation tools

SDK

Standard*

All members and admins

Members and admins

All moderation tools

N.A.

Private*

Only members and admins

Members and admins

All moderation tools

N.A.

ByTypes**

N.A.

N.A.

N.A.

N.A.

*Standard and Private channels are already deprecated.

**ByTypes is not a channel type. It is used in querying multiple channel types.

For more information about Amity SDK's different roles (admin. moderator, etc) as well as the permissions, refer to Roles & Permissions.

Community

All community channels are visible on the Amity Social Cloud Console.

The community channel is our default channel type and can be discovered by all users and admins. It acts as a public chat channel that showcases all of the features that our SDK's have to offer.

Typical use cases:

  • Team collaboration

  • Online gaming

  • Celebrity fan club

  • Live streaming

  • Any type of public chat

Live

All live channels are visible on the Amity Social Cloud Console.

Live channels offer the ability for users and admins to create channels with exclusive memberships. The live channel is identical to our Community channel in features with the caveat that users will not be able to discover the channel when querying for all channels unless they are already a member of it. However, users and admins can still invite other users to join the channel.

Typical use cases:

  • Healthcare

  • Project Discussion

  • Any type of chat

Community and Live channel types can use our SDK moderation tools:

  • Message and user flagging

  • Muting/Unmuting users

  • Banning/Unbanning users from channel

  • Profanity filters

  • Whitelisted URLs

  • User rate-limiting

Broadcast

All broadcast channels are visible on the Amity Social Cloud Console.

The Broadcast channel is heavily adopted by corporate users who constantly promote or advertise their products, or make the announcement to drive awareness. Unlike other channel types, broadcast channels only allow admin users to send messages from Console, and everyone else in the channel will be under read-only mode.

Since this is a one-way communication channel, tailored moderation tools are provided as well, for instance, users won't be able to flag message/user in the channel.

Typical use cases:

  • Marketing & Advertising

  • School / Government Announcements

Conversation

Conversation channels are NOT visible on the Amity Social Cloud Console.

The Conversation channel is our solution to 1-on-1 messaging. Unlike the other channel types, a Conversation channel can be created simply by knowing the userId of the user we want to converse with. Users can start conversations with any other user and only they will be able to see their conversation.

There are no moderation tools for Conversation channels, users will be able to converse freely with no oversight!

Typical use cases:

  • Hospitality

  • Financial Consultancy

  • Customer Support

Since this is similar to 1-on-1 messaging, Conversation channels have some limitations. The following are not allowed:

  • Join and leave channel

  • Ban and unban channel members

  • Add and remove channel members

Standard (Deprecated)

The Standard channel has all the base functionalities of the SDK and is visible to all users. It is replaced by Community channel and has the same behavior with the Community channel.

Private Channels (Deprecated)

The Private channel will only be visible to the users who are members of the channel. However the Admin panel will be able to see all Private channels. This is similar to a Live channel.

Channel types can be created through SDK i.e Community, Live and Conversation. Creation of Private and Standard type has been removed. Creation of Broadcast channel type is not supported through the SDK. But for query, getChannels: method supports all channel types including Broadcast, Private and Standard.

Last updated