Skip to main content
Key Benefit: Provide users with a centralized hub to manage all their chat conversations, featuring real-time updates, unread indicators, and intuitive navigation between active and archived chats.

Feature Overview

The UIKit provides users with an overview of all their active chat channels. It offers a quick glance at the latest conversations and helps users easily stay on top of ongoing discussions.

Channel Management

Conversation Organization
  • Channel preview with latest messages
  • Real-time activity sorting
  • Unread message indicators
  • Swipe-to-archive functionality

User Navigation

Intuitive Chat Access
  • Tap to enter conversations
  • Create new conversations
  • Access archived chats
  • Network connectivity indicators
Platform Support: Recent Chats components are available on iOS, Android, React, React Native, and Flutter. On React Native, these screens ship from v4.3.0 as part of AmityUiKitChat, and from v4.3.1 each page can also be rendered on its own inside AmityPageRenderer — see Quick Start. Only pages are exported on React Native; the building-block components shown here (list, bubble, composer, action sheets) aren’t.

Implementation Guide

Main entry point for chat functionalityThe AmityChatHomePage serves as the central hub for managing and navigating between conversations.

Features

Code Examples

Automatic Management: The chat home page automatically handles real-time updates, sorting, and network connectivity through the underlying SDK.
React Native (v4.3.0+): The chat home page is where AmityUiKitChat opens. It shows unread and mention badges on each chat and lets users swipe a chat to archive it. When push notifications are disabled for the user’s account or for the chat module (for example, by an admin), the list shows a “Push notifications have been disabled by admin” banner.

Sort Order

By default the chat list shows the most recently active chat first. You can sort by the newest message instead, so that joining or leaving a chat does not push it to the top. This option is available on iOS, Android, and Web. Set channel_list_sort_by under feature_flags.chat in your UIKit config:
  • Default. A missing key, or any value other than lastMessage, keeps lastActivity. All three tabs (All, Direct, Groups) use the same value.
  • When it applies. The chat home page reads the value when it builds its channel queries. On iOS and Android a change takes effect the next time the page opens. On Web the chat home stays mounted for the life of the UIKit, so a change takes effect the next time the UIKit is loaded with the new config.
  • Row time. With lastMessage, each row shows the time of its newest message (or the chat’s creation time if it has none), so a membership change neither moves a row nor changes its time. With lastActivity, rows keep showing the last activity time.
  • Live order. The list reorders as messages arrive. When the current user sends a message, that chat moves to the top right away.
  • Backend support. lastMessage needs backend support for your network. If it is not available, the page shows the error state (“Couldn’t load chats”) in place of the list, with no call to action. The UIKit does not fall back to lastActivity. Set the value back to lastActivity until it is available.
To sort a channel list in your own UI, see Query Channels.

Component Management Strategies

Optimizing chat list presentationDesign clear visual indicators for unread messages, archived conversations, and different conversation types. Use consistent styling patterns to help users quickly identify and navigate to their desired conversations.
Implementing intuitive interactionsConfigure swipe actions, tap behaviors, and menu options to provide users with quick access to common chat management actions while maintaining a clean and uncluttered interface.

Best Practices

Tailoring the chat list experienceCustomize the appearance of chat previews, timestamps, and unread indicators to match your app’s design system. Focus on readability and clear visual hierarchy to enhance user experience.
Streamlining chat discoveryDesign clear pathways for users to find existing conversations, create new ones, and manage their chat organization. Consider user habits and common usage patterns when planning the interface.
Ensuring cross-device compatibilityOptimize the chat list interface for different screen sizes and orientations. Ensure touch targets are appropriately sized and that the interface remains usable across various device configurations.

Conversation Chat

Individual Chats Navigate to conversation interfaces

Group Chat

Multi-user Chats Roles & member tools

Live Chat

Streaming Events High-volume interaction
Implementation Strategy: Start with AmityChatHomePage as your main chat interface, then add ArchivedChatListComponent and AmityChannelCreateConversationPage as needed to provide complete chat management functionality.