Skip to main content
Use message read status when a user views a message and your app needs unread counts to move forward. The SDK exposes markRead() on message models across TypeScript, iOS, Android, and Flutter.

Platform Surface

Parameters

Mark Message Read

Call markRead() after your app decides the message has been seen, such as when the message becomes visible in an active chat screen.

Inspect Receipt Counts

Read-count and delivered-count fields are available on message models. Use user-list queries from Message Delivery Status when you need the user identities behind the counts.

Implementation Notes

Message Model

markRead() is a method on the message object, so load or query messages before marking them read.

Unread Counts

Marking messages read is the write path that lets unread count state advance for the current user.

Viewport Logic

Your app decides when a message is considered visible enough to mark as read.

Receipt Users

Use receipt-user APIs where supported when you need identities, not just count fields.

Channel Unread Count

Read per-channel and total unread counts.

Message Delivery Status

Mark delivered and query receipt users where supported.

Message Receipt Sync

Keep receipt state current while a chat screen is open.