Skip to main content
Presence state lets your app show who is currently active. The SDK has two different presence surfaces:
  • Network presence tracks the current user’s heartbeat and lets iOS and Android apps read or sync other users’ online state.
  • Room presence tracks who is currently watching a live room. It is available on iOS, Android, and TypeScript.
Presence APIs require the presence feature to be enabled for your network. If the feature is disabled, heartbeat calls can fail with an SDK error.

Platform Surface

CapabilityTypeScriptiOSAndroidFlutter
Current user heartbeatNot availableclient.presenceAmityCoreClient.presence()Not available
User presenceNot availableAmityUserPresenceRepositoryAmityCoreClient.newUserPresenceRepository()Not available
Channel presenceNot availableAmityChannelPresenceRepositoryAmityChatClient.newChannelPresenceRepository()Not available
Room presenceRoomPresenceRepositoryAmityRoomPresenceRepositoryAmityCoreClient.newRoomPresenceRepository()Not available

Which Presence API to Use

User Presence

Read specific users’ online state, sync visible users in a list, or fetch a snapshot of online users.

Channel Presence

Show whether any other member of a conversation channel is online.

Room Presence

Count and list users currently watching a live room.

Heartbeat Sync

Start and stop the heartbeat that marks the current user or room viewer as active.

Behavior to Know

iOS and Android expose isOnline as a computed value from the user’s last heartbeat. The SDK considers a user online while the last heartbeat is recent.
User and channel sync APIs are meant for visible lists. Start syncing when an item appears, then unsync when it disappears so you stay within the SDK sync limits.
Room presence uses room-specific heartbeat and count APIs. Use it for live rooms and viewer lists, not for general “online user” badges.
The Flutter SDK in this checkout does not expose user, channel, or room presence repositories. Do not copy iOS, Android, or TypeScript presence snippets into Flutter integrations.

Live Objects & Collections

Use live data objects for SDK resources that publish real-time updates.

Realtime Events

Learn how event subscriptions power live chat and social experiences.