# Tencent RTC Chat — Flutter > Chat documentation for Flutter platform. ## UIKit ### Getting Started - [Activate the Service](https://pre.trtc.io/document/74511.md): Tencent Cloud Chat service is an instant messaging SDK that enables developers to integrate messaging and group management features. This guide helps users activate the free plan, retrieve UserSig for authentication, purchase official editions, renew subscriptions, upgrade plans, and enable automatic renewal. It provides step-by-step instructions to quickly start using Chat and manage your application versions effectively. - [Run Demo](https://pre.trtc.io/document/45907.md): The Flutter Chat Demo Quickstart Guide provides detailed steps to set up and run the Tencent Cloud Chat Demo on multiple platforms. It covers environment preparation, application creation in the Tencent Cloud Console, configuration of SDKAppID and SecretKey, and building and running the demo project. This guide helps developers quickly experience text, voice, and video messaging features using Flutter, with important security recommendations and troubleshooting tips included. - [Integration](https://pre.trtc.io/document/62588.md): This Flutter quickstart guide covers integrating TUIKit chat SDK, creating a Chat application and user accounts, generating UserSig for authentication, logging in, and sending your first message. It provides step-by-step instructions for developers using Flutter 3.29.0 or later to quickly set up chat functionality with Tencent RTC's TUIKit. - [Chat UIKit](https://pre.trtc.io/document/77489.md): TUIKit Flutter is a Flutter UI component library under the Chat SDK that offers a comprehensive instant messaging solution including chat, conversation lists, and contact management. This quickstart guide is designed for developers to manually integrate TUIKit Flutter components into their projects, covering prerequisites, installation, setup, and step-by-step implementation of core features such as user authentication, login, and UI page construction. ### Features - [Reactions](https://pre.trtc.io/document/52892.md): TUIKit is a messaging SDK that supports emoji reactions, enabling users to respond to messages with emojis. Available in the Pro edition plus and Enterprise edition packages, this feature builds on message editing capabilities to allow sending, displaying, and managing emoji reactions. Users can long-press messages to react, view reaction counts, and see who reacted. Developers can enable or disable emoji reactions through the MessageList configuration. - [Message Translation](https://pre.trtc.io/document/61682.md): Flutter Text Message Translation is a chat SDK feature that enables users to translate text messages directly within the chat interface. Available for Pro, Pro Plus, and Enterprise editions, it allows users to long-press messages to view translations. The target language is configurable via AppBuilder, and the feature can be enabled or disabled through the MessageList widget settings. This feature supports only text-based messages and limits translation requests to five per second. - [Manufacturer configuration](https://pre.trtc.io/document/67580.md) - [Quick Integration](https://pre.trtc.io/document/50032.md) - [Client APIs](https://pre.trtc.io/document/67581.md) ### Customization - [Customizing Appearance](https://pre.trtc.io/document/77488.md): TUIKit Flutter SDK provides flexible appearance customization including Light, Dark, and System theme modes, along with customizable primary colors. This guide helps Flutter developers quickly integrate theme switching and brand color application in their apps through simple configuration steps, covering project setup, API usage, and recommended methods such as AppBuilder configuration. - [Localization](https://pre.trtc.io/document/52154.md): TUIKit Flutter SDK provides built-in language packs and supports dynamic language switching for Flutter applications. This guide explains how to configure system language adaptation, enable real-time language switching using LocaleProvider, and add custom internationalization by integrating .arb language resource files. It helps developers easily localize their apps with supported languages including Simplified Chinese, Traditional Chinese, English, Japanese, Korean, and Arabic. ### Changelog - [Changelog](https://pre.trtc.io/document/45915.md): The Flutter SDK is a comprehensive real-time communication SDK that supports streaming messages, local search, media upload/download, and multi-device synchronization. It is designed for developers integrating real-time messaging and communication features into Flutter applications. This release note details version updates from 3.6.0 through 9.1.7818, highlighting new features, bug fixes, platform support enhancements including HarmonyOS NEXT, and stability improvements across iOS, Android, Mac, and web platforms. ## Core SDK ### Getting Started - [Activate the Service](https://pre.trtc.io/document/74511.md): Tencent Cloud Chat service is an instant messaging SDK that enables developers to integrate messaging and group management features. This guide helps users activate the free plan, retrieve UserSig for authentication, purchase official editions, renew subscriptions, upgrade plans, and enable automatic renewal. It provides step-by-step instructions to quickly start using Chat and manage your application versions effectively. - [Install Chat SDK](https://pre.trtc.io/document/46264.md): Tencent Cloud Chat SDK for Flutter is a cross-platform SDK designed to enable chat functionality in Flutter applications across iOS, Android, HarmonyOS NEXT, macOS, Windows, and Web. This guide provides step-by-step instructions for environment setup, SDK installation via flutter pub add or pubspec.yaml configuration, and platform-specific integration tips including HarmonyOS NEXT and Flutter Web. It also includes how to try demos and troubleshoot common issues such as flutter pub get/add failures. - [Initialize Chat SDK](https://pre.trtc.io/document/47966.md): The Flutter Chat SDK is a software development kit that enables chat functionality in Flutter applications. This guide is intended for developers who want to integrate the Chat SDK and covers the essential steps to initialize the SDK, including preparing an SDKAppID, configuring log levels, setting up event listeners, and calling the initialization API. Following these steps ensures proper SDK setup for handling connection events and login status. - [Login and Logout](https://pre.trtc.io/document/47969.md): The Tencent Cloud Chat SDK for Flutter enables developers to authenticate users by calling the login API, which grants access to messaging and conversation capabilities. This guide covers essential steps including user login with UserID and UserSig, retrieving the current logged-in user, checking login status, handling multi-client login and kickout events, and performing logout operations. Follow these steps to integrate secure and efficient user authentication in your Flutter app using the Chat SDK. ### Users - [User Profile](https://pre.trtc.io/document/48160.md): The Flutter SDK of Tencent RTC provides user profile management and relationship chain event listening capabilities. It enables users to query and modify their own profiles, view non-friend user profiles, and manage friend profiles with real-time event notifications. This overview covers key APIs such as addFriendListener, getUsersInfo, setSelfInfo, and getFriendsInfo, designed for developers integrating social features in Flutter applications. - [User Online Status](https://pre.trtc.io/document/72566.md): Tencent RTC Flutter SDK provides user status management APIs that allow developers to set, query, and receive notifications about user statuses. This includes managing general statuses like Online, Offline, and Not logged in, as well as customizable statuses such as "Listening to music" or "On the call." The SDK supports real-time status updates and multi-client synchronization. Some advanced features require enabling console switches and specific Tencent RTC editions. This documentation covers key APIs including setSelfStatus and getUserStatus, usage guidelines, and status change event handling. - [Friend Management](https://pre.trtc.io/document/48157.md): The Chat SDK for Flutter provides friend management capabilities, allowing users to add, delete, and manage friend relationships. This guide explains how to get contacts, add friends with or without approval, delete friends, check friend relationships, and configure messaging to be sent only to friends. Key steps include calling APIs like getFriendList, addFriend, deleteFromFriendList, and acceptFriendApplication to implement friend management features effectively. - [Friend List](https://pre.trtc.io/document/48154.md): The Flutter Friend List Management API provides a set of SDK methods to organize friends into categorized lists such as "Classmates at university" or "Coworkers". It enables developers to create, delete, rename, and retrieve friend lists, as well as add or remove friends from these lists. This API is designed for Flutter developers building social or communication applications requiring friend grouping functionality. - [Block List](https://pre.trtc.io/document/48151.md): The Flutter SDK provides APIs to manage user blocklists in chat applications. Developers can block users by adding them to the blocklist using addToBlackList, unblock users with deleteFromBlackList, and retrieve the current blocklist via getBlackList. This enables control over message reception and user interactions, with optional configuration to notify blocked users upon message sending failure. - [Follow](https://pre.trtc.io/document/64330.md): The Flutter Follow feature SDK enables developers to integrate user follow and follower management capabilities within their applications. It supports following and unfollowing users, retrieving lists of followed users and followers, and managing notifications related to user follow actions. This API is designed for Pro, Pro-plus, and Enterprise editions starting from SDK version 7.8, facilitating active user engagement and personalized content delivery through interconnected user networks. ### Group Channels - [Overview](https://pre.trtc.io/document/48169.md): The Chat SDK offers various group types including work groups, public groups, meeting groups, communities, and audio-video groups to support diverse chat scenarios. This overview explains the capabilities and limits of each group type, such as member roles, join approvals, and message history management. It also highlights the requirements for using community groups and configuration options for enabling message history retrieval. The Chat SDK is designed for developers to implement flexible and scalable group communication features. - [Group Channel Settings](https://pre.trtc.io/document/48464.md): The Tencent Cloud Chat SDK for Flutter provides group management capabilities including creating groups, joining groups, retrieving joined groups, leaving groups, and disbanding groups. This guide explains how to set up group event listeners, create groups with initial information, and join different types of groups such as Work, Public, Meeting, Community, and Audio-video groups. It includes step-by-step instructions and sample code to help developers integrate group management features efficiently. - [Group Channel Profile](https://pre.trtc.io/document/48183.md): Tencent IM Flutter SDK provides APIs to manage group profiles, including retrieving, modifying group information, and setting group message receiving options. Developers can batch fetch group profiles using getGroupsInfo, update profiles with setGroupInfo respecting member roles per group type, and control message notifications via setGroupReceiveMessageOpt. These capabilities support work groups, public groups, meeting groups, communities, and audio-video groups, enabling flexible group communication management. - [Member Management (Mute & Ban)](https://pre.trtc.io/document/48179.md): Tencent Cloud's Flutter SDK offers comprehensive group member management APIs including retrieving member lists with filters and pagination, muting members, removing members, granting admin permissions, and transferring group ownership. These APIs enable developers to efficiently manage group interactions and member roles within their applications. - [Member Profile](https://pre.trtc.io/document/48176.md): TencentImSDKPlugin for Flutter provides APIs to manage group member profiles within the group management module. Developers can retrieve multiple group member profiles simultaneously using getGroupMembersInfo to optimize network usage, and group owners or admins can update member details such as name cards and custom fields via setGroupMemberInfo. This guide explains the key APIs and usage examples for effective group member profile management. - [Group Channel Attributes](https://pre.trtc.io/document/48173.md): TencentImSDKPlugin for Flutter provides a set of group attribute APIs within the v2TIMManager.getGroupManager() class to manage custom group fields in audio-video groups (AVChatRoom). These APIs allow developers to initialize, set, delete, get, and listen for changes to group attributes, enabling seat management in audio chat rooms. The SDK supports up to 16 attributes with size limits and enforces call frequency restrictions to ensure stability. ### Community Channels - [Manage Community](https://pre.trtc.io/document/48170.md): The Flutter SDK provides community and topic management capabilities for building large groups with multiple topics under the same community. This guide helps developers create community groups, manage members, create and modify topics, and retrieve topic lists using TencentImSDKPlugin APIs. It requires Flutter SDK v4.0.0 or later and Ultimate edition activation in the Tencent Cloud console. ### Messages - [Overview](https://pre.trtc.io/document/47991.md): The V2TimMessage class in the Tencent Cloud Chat SDK defines the structure and attributes used for sending and receiving messages. It includes properties like message ID, timestamp, sender information, message status, and various message element types such as text, custom, image, audio, and video. This API reference is intended for developers integrating messaging features using Tencent Cloud Chat SDK, providing detailed descriptions of each attribute and their usage scenarios. - [Send a Message](https://pre.trtc.io/document/47992.md): TencentImSDKPlugin.v2TIMManager.getMessageManager() provides the sendMessage API for Flutter to send text, custom, and rich media messages in one-to-one and group chats. This API supports advanced parameters such as message priority, offline push notifications, read receipts, and custom data. Developers can create messages using specific createXxxMessage methods before sending them, enabling flexible and feature-rich messaging capabilities within Flutter applications. - [Receive a Message](https://pre.trtc.io/document/47997.md): The addAdvancedMsgListener API in Flutter enables listening for and receiving various message types such as text, custom, and rich media messages. It provides callbacks defined in the V2TimAdvancedMsgListener protocol to handle events like new messages, message modifications, read receipts, and message revocations. This API is designed for developers implementing real-time messaging features in Flutter applications to ensure timely and comprehensive message handling. - [Message History](https://pre.trtc.io/document/48000.md): TencentImSDKPlugin.v2TIMManager.getMessageManager is a message management API in the Tencent Cloud Chat SDK that enables developers to pull historical one-to-one and group messages. It supports both local and cloud message retrieval with configurable options such as sequence, start point, and time range. This API is designed for developers integrating chat functionalities who need precise control over message history retrieval, including advanced filtering by message type and source. It also handles network exceptions by falling back to locally stored messages. - [Forward Messages](https://pre.trtc.io/document/48003.md): The Flutter guide for Tencent IM SDK explains how to merge and forward messages by creating merged messages with titles and digests, sending them, and receiving merged messages with parsing capabilities. It also covers forwarding messages one by one, providing step-by-step instructions and sample code for developers to implement message merging and forwarding features in their Flutter applications. - [Edit Message](https://pre.trtc.io/document/48004.md): The Flutter Chat SDK enables conversation members to modify successfully sent messages, syncing changes to all participants. Supported on SDK version 4.0.0 and later, it allows modification of message elements such as localCustomData, localCustomInt, cloudCustomData, and text or custom elements. The SDK also provides listeners for real-time message modification callbacks, ensuring all members receive updated message data. - [Insert a Message](https://pre.trtc.io/document/48007.md): The Flutter SDK provides APIs to insert local messages into one-to-one and group conversations without sending them to the server. These messages are stored only locally and are useful for displaying tips or notifications such as group exit notices or security reminders. This guide explains how to use insertC2CMessageToLocalStorage and insertGroupMessageToLocalStorage methods with sample code to add custom messages within chats. - [Delete Message](https://pre.trtc.io/document/48009.md): The Flutter SDK provides APIs to delete both local and cloud messages in conversations. Local message deletion marks messages as deleted locally, while cloud message deletion permanently removes messages from both local storage and the cloud. This guide explains how to use deleteMessageFromLocalStorage for local deletions and deleteMessages for cloud deletions, including usage notes and sample code. - [Clear History Messages](https://pre.trtc.io/document/48012.md): The Tencent IM Flutter SDK provides APIs to clear one-to-one and group chat messages. These APIs allow developers to remove all messages in a conversation both locally and from the cloud without deleting the conversation itself. Key methods include clearC2CHistoryMessage for one-to-one chats and clearGroupHistoryMessage for group chats, enabling effective message management within Flutter applications. - [Recall a Message](https://pre.trtc.io/document/48014.md): Tencent IM SDK for Flutter provides message recall functionality allowing senders to revoke messages within a configurable time frame. This guide explains how to recall messages by invoking revokeMessage via TencentImSDKPlugin.v2TIMManager.getMessageManager(), and how receivers can listen for recall notifications using addAdvancedMsgListener and onRecvMessageRevoked. It is designed for developers integrating message recall features into Flutter applications. - [Online Message](https://pre.trtc.io/document/48017.md): Tencent IM SDK for Flutter provides an online-only messaging feature that ensures messages are delivered only when the receiver is online, preventing offline storage, roaming, or local history retrieval. This guide also demonstrates how to implement a "The other party is typing..." indicator in one-to-one chats by sending a custom message with the onlineUserOnly flag set to true. - [Read Receipt](https://pre.trtc.io/document/48020.md): The Flutter Chat SDK from Tencent Cloud provides a message read receipt feature that enables senders to track who has read their messages in both one-to-one and group conversations. This feature is available for Pro, Pro Plus, and Enterprise editions and supports group message read receipts starting from Flutter SDK v3.8.0. It allows specifying read receipt requirements when sending messages, sending read receipts by receivers, listening for receipt notifications, and retrieving historical read receipt data to enhance chat interaction transparency. - [Query Messages](https://pre.trtc.io/document/48023.md): The findMessages API in the Flutter SDK allows developers to query local messages by messageID. It supports retrieving only locally stored messages, including received messages and historical messages pulled via API, but excludes audio-video group (AVChatRoom) messages which are not saved locally. This guide provides usage details and sample code for efficient local message querying. - [Mentions (@)](https://pre.trtc.io/document/48026.md): The Flutter group @ message feature guide explains how to implement mentioning group members in chat using Tencent IM SDK. It covers detecting '@' input, selecting group members, creating and sending text @ messages, and receiving @ message notifications. This guide helps developers quickly integrate group @ messaging functionality into Flutter chat applications with step-by-step instructions and sample code. - [Targeted Message](https://pre.trtc.io/document/48028.md): The Flutter targeted group messaging SDK enables sending messages to specific members within a group, excluding others. This guide explains how to create, send, and receive targeted group messages using Flutter SDK v3.8.0 or later, requiring Pro, Pro Plus, or Enterprise editions. Steps include creating an original message, generating a targeted group message with specified recipients, and sending it. Targeted messages are excluded from unread counts by default and received like ordinary messages. - [Do Not Disturb](https://pre.trtc.io/document/48030.md): The Flutter Chat SDK provides APIs to configure message receiving options for one-to-one and group chats, enabling notification muting features. This guide explains how to set and retrieve message receiving preferences using the SDK, including options to receive messages with or without notifications or to block messages entirely. It covers usage of key APIs such as setC2CReceiveMessageOpt and setGroupReceiveMessageOpt, and details how to handle unread counts for work and public groups. - [Message Extension](https://pre.trtc.io/document/52489.md): Flutter message extension SDK enables configuring keys and values in messages to support functionalities like polling, group notices, and surveys. Available for Pro, Pro Plus, and Enterprise editions on SDK v4.1.8 or later, it allows developers to set, get, and delete message extensions via dedicated APIs. This feature is designed for chat applications excluding communities and audio/video groups, providing real-time interaction capabilities through message customization. ### Conversations - [Overview](https://pre.trtc.io/document/48327.md): Tencent Cloud Chat SDK offers a conversation management class for handling one-to-one and group chats. It enables developers to display and update conversation lists, manage unread counts, pin conversations, set drafts, and mute notifications. The SDK supports unlimited local conversation storage and up to 100 conversations stored in the cloud, with options to increase this limit by upgrading to Pro, Pro Plus, or Enterprise editions. This overview explains the conversation class attributes and storage policies to help developers effectively manage chat data. - [Conversation List](https://pre.trtc.io/document/48324.md): The Flutter Chat SDK provides APIs to obtain and update the conversation list for logged-in users. This guide explains how to implement one-time and paged pulling of conversations using the getConversationList API, including handling conversation sorting and pagination parameters such as nextSeq and count to efficiently load recent conversations. - [Get Conversations](https://pre.trtc.io/document/48321.md): The Chat SDK for Flutter offers APIs to retrieve conversation details, enabling developers to obtain V2TimConversation object information for individual or multiple specified conversations. This reference covers the getConversation method to fetch a single conversation and getConversationList method to retrieve a list of conversations, supporting efficient conversation management in chat applications. - [Unread Count](https://pre.trtc.io/document/48318.md): The Flutter Chat SDK provides APIs to manage unread message counts across conversations. This quickstart guide explains how to retrieve the total unread count of all conversations using getTotalUnreadMessageCount, listen for unread count changes via onTotalUnreadMessageCountChanged callback, and clear unread counts for individual or all one-on-one and group chat conversations using cleanConversationUnreadMessageCount. These features help developers display badges and keep conversation lists updated efficiently. - [Pin Conversations](https://pre.trtc.io/document/48315.md): The Flutter conversation pinning feature in Tencent RTC allows users to fix one-to-one or group conversations at the top of the conversation list for quick access. This SDK functionality supports up to 50 pinned conversations, with pinned status stored on the server and synchronized across devices. Developers can use the pinConversation API to manage pinned conversations and listen for pinned status changes via conversation listeners, enabling efficient conversation sorting and notification handling. - [Delete Conversations](https://pre.trtc.io/document/48312.md): The Flutter Chat SDK provides a conversation deletion feature that enables users to permanently remove one-to-one or group chat histories after deleting a friend or leaving a group. This guide explains how to use the deleteConversation API to delete specified conversations, including important cautions about irreversible message removal and multi-client sync settings. It is designed for developers integrating chat functionalities on Flutter platform. - [Conversation Draft](https://pre.trtc.io/document/48310.md): The Flutter SDK provides the setConversationDraft API to save unfinished text messages locally within a chat conversation. This feature enables users to switch between chat windows without losing their draft messages. Drafts are stored only in the local database, cannot be synced across devices, and will be lost if the app is uninstalled. This guide explains how to set or cancel a conversation draft using the API, including sample code for implementation. - [Conversation Mark](https://pre.trtc.io/document/50290.md): Tencent IM Flutter SDK provides APIs to mark conversations as favorite, collapsed, hidden, or unread, listen for mark changes, and retrieve marked conversations. This SDK feature supports managing conversation states for Flutter applications, requiring Pro or higher editions and version 8.0 or later. Key APIs include markConversation for setting marks, addConversationListener for monitoring changes, and getConversationListByFilter for fetching marked conversations. - [Conversation Group](https://pre.trtc.io/document/51086.md): The Flutter SDK provides conversation group management APIs to organize conversations into groups such as "Product experience" or "R&D". These APIs support creating, deleting, renaming groups, retrieving group lists, managing conversations within groups, and listening for group change notifications. This feature requires the Pro, Pro Plus, or Enterprise edition and SDK enhanced edition v4.0.8 or later. ### Signaling - [Signaling Management](https://pre.trtc.io/document/46309.md) ### Search - [Searching for Message](https://pre.trtc.io/document/48135.md): The Flutter SDK local message search feature enables users to efficiently find messages within local chat data, enhancing application usability. Available from version 3.8.0 and exclusive to the Chat Ultimate edition, it supports searching received and historical messages using detailed parameters such as keywords, sender IDs, message types, and time ranges. This feature returns paged results grouped by conversation, facilitating quick navigation through extensive chat content. - [Searching for Friend](https://pre.trtc.io/document/48136.md): The Flutter SDK for Tencent RTC provides a local user profile search feature that allows searching only among locally stored users such as contacts or pulled profiles. This guide explains how to use the searchFriends API to perform searches by userID, nickname, or remarks with customizable keyword lists. It is applicable for developers using Flutter SDK version 3.8.0 or later and covers key steps to implement local user profile search functionality. - [Search Channels](https://pre.trtc.io/document/48139.md): The Tencent IM SDK for Flutter provides a local group search feature that enables developers to search for groups stored locally, such as joined groups and pulled group profiles. This guide explains how to use the searchGroups API to perform searches by group ID and group name, supporting up to five keywords. It is designed for Flutter developers using SDK version 3.8.0 or later and includes sample code for implementation. - [Search Channel Members](https://pre.trtc.io/document/48141.md): The Flutter SDK provides a local group member search feature that enables developers to query group members stored locally, including their profiles and remarks. Supported on Flutter SDK version 3.8.0 and above, this capability allows searching by user ID, nickname, remark, and name card within specified groups or across all groups. It is designed for text-based groups and does not support audio-video groups where member data is not stored locally. ### Extended Features - [Poll](https://pre.trtc.io/document/67612.md): The tencent_cloud_chat_vote_plugin is a Flutter plugin provided by Tencent Cloud Instant Messaging that enables voting features within group chats, excluding Community and AVChatRoom groups. Designed for Flutter 3.10.0+ and tencent_cloud_chat_sdk 5.1.5+, this plugin allows users to create, participate in, and view results of single-choice and multiple-choice votes. This guide covers environment setup, plugin introduction, initialization, and usage steps to integrate voting capabilities into your Flutter app. ### Client APIs - [Client APIs](https://pre.trtc.io/document/40124.md): Tencent Cloud Chat SDK for Flutter offers comprehensive APIs for initializing the SDK, user login, signaling, message creation, sending and receiving, group management, and offline push. This API reference details methods such as initSDK, login, createTextMessage, addSignalingListener, and advanced message handling to enable rich media communication and real-time interaction in Flutter applications. ### Changelog - [Changelog](https://pre.trtc.io/document/45915.md): The Flutter SDK is a comprehensive real-time communication SDK that supports streaming messages, local search, media upload/download, and multi-device synchronization. It is designed for developers integrating real-time messaging and communication features into Flutter applications. This release note details version updates from 3.6.0 through 9.1.7818, highlighting new features, bug fixes, platform support enhancements including HarmonyOS NEXT, and stability improvements across iOS, Android, Mac, and web platforms.