Chat is a powerful way to boost engagement in your app.
Chat allows end-users to communicate with each other in realtime. All communication is directed to channels, and pushed to participating users in realtime via RTT. A rolling history of chat messages is maintained per channel. These settings configure the maximum sizes of chat messages and the size of history to be maintained. Pro-tip: set limits as low as possible to minimize usage costs.
This feature requires RTT, which can be enabled via Advanced Settings. Profanity filtering requires WebPurify integration, which can be configured on the Manage Integrations page.
Chat messages are directed to channels.
Channels have two important relationships with users:
members (subscribers) - persistent members of the channel. i.e. those who can access messages, and are allowed to "listen" to real-time chat.
listeners - online members who are listening right now! Chat messages are "pushed" only to active listeners
There are different types of channels (global or group) - determined by how membership and listeners are managed.
Channels can be active or inactive
active channels have active listeners and/or history
inactive channels are channels without history that don't have any active listeners either.
Users can choose to listen to an inactive channel. Once they do, the channel becomes active.
Real-time chat events are sent to online users (i.e. from API Server → EventServer → Clients) via one of two mechanisms (i.e. CHAT_BROADCAST or CHAT_DIRECT).
After enabling Chat via the checkbox, you will be able to configure the following:
Chat message size: This is the max byte size for a given message. 256 is a common value for each chat message.
Max history per channel: Number of chat messages to store so someone logging in the middle of the conversation can view the history of recent messages for context.
Channel inactivity timeout (days): Number of days without new messages before the channel history is cleared. Values as low as a week or even lower should be fine.
Replace profanity with: If you have a webPurify account integrated, enabling this will block inappropriate words from polluting your channel. (note: if you have not set the webPurify properly, keep this checkbox unchecked, otherwise you will get an error when testing chats on the next step).
Disallow Emails, phone numbers and urls: These are commonly inappropriate forms of content you are likely to want to remove.
Once chat service is enabled, you are able to set up a chat channel to test it, refer to Chat Channels help page for the detail.