Stream chat is an API available that enables you to create chat applications. It includes components like MessageList, StreamChat Channel, and Agent Metrics. The contexts heavily control the StreamChat API. The OverlayProvider is the highest-level component. It provides several valuable features, including long-press interactivity for messages, a full-screen image viewer, and a keyboard view. The part also supports several props, such as the context of the message. Braces can be used in a variety of ways.

Stream Chat for React Native

The stream Chat API is a service that helps developers build chat applications. It offers frontend and backend functionality and can be used to create messaging apps, emojis, and file sharing. The SDK also comes with sample applications demonstrating how to use it with React Native.

Using a chat SDK for React Native will not only reduce development time but will also improve the performance of the app. While hybrid apps may look like the way to go, they are often inefficient and suffer from lags. With a React Native SDK, developers can build a chat app that runs smoothly on Android and iOS.

Stream provides a unified, scalable, and feature-rich chat infrastructure for your React Native applications. You can drive in-app engagement, conversion, and retention using the Stream Chat API. Stream also provides a sample app demonstrating how to use its chat API.

StreamChat Channel component

The StreamChat Channel component is the main entry point into Stream Chat. It contains the content providers and a lot of logic. The contexts inside the Channel component are used to pass messages and responses to the other elements in the system. For example, the message list, MessageInput, and Thread components rely on the Channel component to get the needed information. You can access the Channel component by providing a prop for a StreamChat channel.

Channels are the backbone of Stream Chat and are a vital part of user interaction. Stream Chat uses channels to store messages and other interactions between users. When creating a channel, you need to specify the type of channel you want. There are five default channel types, but you can create custom ones. When creating a channel, you must select an id and list of members, which will be auto-generated on the backend. In addition, you can add custom data to the channel, such as custom fields. It is important to note that these fields must be small and should not exceed 5KB.

MessageList component

A MessageList component can render a list of messages in a stream chat API application. The feature is also used for generating a header for the message list. This header will appear at the bottom of the list. This component uses an inverted FlatList as its base.

A MessageList can be customized by adding different actions to it. For example, you can display a thread button but omit to open the thread or have a drop-down menu showing other activities. The default actions depend on the user’s permissions and can be expanded by adding custom actions.

MessageLists can also include other information like the status of the message, including its time and read-receipts. You can also render a preview of the parent of a message if it has been quoted.

Agent Metrics

Stream chat API provides several metrics for evaluating the performance of the chat agent. These metrics include the number of conversations that are currently open and closed. The data in this section can be filtered by the number of messages opened and closed in the last interval. You can also specify the concurrent number of agents.

The Streaming API provides read-only access to selected business metrics. These metrics are time-based and are delivered in a feed whenever an event that affects the metric occurs. These events include a visitor joining or leaving the Chat, an agent sending or receiving a message, or a chat session ending.


Stream’s chat API provides real-time messaging features. Its rich feature set is similar to popular chat platforms like Slack and Microsoft Teams. Its features include multi-user rooms, threaded replies, rich media sharing, and URL parsing. However, it’s limited in some areas. For example, while it recently added support for Giphy, this is unlikely to solve the problems faced by many companies during the Q4 forecast.

Pricing depends on the number of users and chat sessions you need to support. For example, a simple chat API might not be enough for a small business with five team members. A more advanced chat solution would require a paid enterprise plan and a much higher number of concurrent users.