Skip to content
Service

In-app Chat

1:1 and group messaging over the same realtime connection as calls — with history, typing indicators and read receipts. Offline recipients get a push.

Chat runs on the signalling socket, so once you’ve connected the client you already have chat. Messages persist server-side; offline users get an FCM push and an unread bump.

Flutter

lib/chat.dart
1// Chat rides the same connected client (see the Flutter guide for connect()).2client.onMessage = (ChatMessage m) { /* append to the thread */ };34await client.sendMessage(toUserId: 'bob', text: 'Hey!');       // 1:15final history = await client.messageHistory(conversationId, limit: 30);6final convos  = await client.conversations();7client.setTyping(conversationId, true);8client.markRead(conversationId);910// Group chat (requires the Chat Pro package)11final convId = await client.createGroup(name: 'Team', members: ['bob','cara']);

Web / React Native

chat.ts
1client.onMessage = (m) => { /* append */ };2await client.sendMessage({ toUserId: "bob", text: "Hey!" });3const history = await client.messageHistory(conversationId, { limit: 30 });4const convos  = await client.conversations();5client.setTyping(conversationId, true);6client.markRead(conversationId);7const convId = await client.createGroup("Team", ["bob", "cara"]); // Pro tier

Events & methods

Method / eventPurpose
sendMessage({ toUserId? , conversationId?, text })Send a 1:1 or group message
messageHistory(conversationId, { limit, before })Paginated history
conversations()List the user's conversations (with unread counts)
createGroup(name, members)Create a group (Chat Pro+)
setTyping(conversationId, bool) / markRead(conversationId)Typing + read receipts
onMessage / onTyping / onReadRealtime callbacks

Tiers

Chat features are unlocked by the In-app Chat package you purchase in the console:

Tier1:1 chatGroup chatGroup size
Free
Signaling
Proup to 100
Enterpriseup to 1,000
Note:1:1 chat works on every tier. Group chat requires the Chat Pro package — the server returns upgrade_required otherwise.