SDK v7.x · Last verified March 2026 · iOS · Android · Web · Flutter
Speed run — just the code
Speed run — just the code
Prerequisites: User is a member of channels with messages → Channels & Conversations
Quick Start
Step-by-Step Implementation
Display per-channel unread badges
Pull → Channel Unread Count
unreadCount and isMentioned from the channel list Live Collection for a real-time inbox view:Check if unreadCount is supported
Some channel configurations do not support unread counts (e.g., channels joined before unread tracking was enabled). Always check → Unread Count Support
isUnreadCountSupported before rendering the badge:Reset unread count when the channel opens
Call
markAsRead as soon as the user views the channel. Deferring this call creates a confusing experience where the user has already read messages but still sees a badge.Show per-message read receipts
For 1:1 Conversation channels, show individual message delivery and read status (the ✓ / ✓✓ pattern):
→ Message Read Status
| Property | Meaning |
|---|---|
syncState === 'synced' | Message delivered to server |
readByCount > 0 | At least one member has read it |
deliveredToMemberCount | How many members received it |
Connect to Moderation & Analytics
Push notifications on unread
Push notifications on unread
Pair unread counts with push notifications so users re-engage even when the app is backgrounded. Configure notification templates in Admin Console → Push Notifications.→ Push Notifications Setup
Mention analytics
Mention analytics
Track how often users @mention each other using the Analytics API to surface power users for community health reporting.→ Analytics Overview
Common Mistakes
Best Practices
Prioritize mention badges over unread counts
Prioritize mention badges over unread counts
Display
@ when isMentioned is true, even if unreadCount is low. A direct mention requires attention regardless of total message volume.Cap badge display at 99+
Cap badge display at 99+
Channels with hundreds of unread messages are likely muted or archived. Show
99+ to avoid layout overflow and signal to the user that they should mute or catch up.Pair with push for re-engagement
Pair with push for re-engagement
Unread counts only help users already in the app. Configure push notifications in the Admin Console to bring users back when they have unread messages. The two systems share the same underlying unread data.
Next Steps
Sending Messages
Core message send/receive implementation.
Channel Roles & Permissions
Control who can post and who can moderate unread/read state.
Direct Messages Path
Full DM build path where read receipts matter most.