# Tencent RTC Chat — iOS and macOS > Chat documentation for iOS and macOS 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/45913.md): This guide explains how to quickly run the iOS UIKit Chat Demo, part of Tencent RTC's Chat SDK, enabling text, voice, and video messaging features. It is intended for developers preparing their environment with Xcode 16.0 or later, a physical iOS device running iOS 14.0 or above, and CocoaPods 1.12.0 or newer. The steps include enabling the Chat service in the Tencent Cloud Console, cloning the TUIKit repository, configuring SDKAppID and SECRETKEY, installing dependencies, and running the demo. The guide also highlights security best practices for UserSig generation in production environments. - [Integration](https://pre.trtc.io/document/60521.md): This iOS UIKit quickstart guide explains how to integrate TUIKit and TUIChat SDKs from Tencent Cloud to enable chat messaging capabilities. It details environment setup, creating a Chat application and user accounts on Tencent Cloud Console, generating UserSig for authentication, integrating chat components, and logging in to send your first message. This guide is designed for iOS developers aiming to implement real-time chat features using Tencent Cloud's chat SDK. - [UIKit](https://pre.trtc.io/document/50056.md): TUIKit is a UI component library under the Chat SDK designed for iOS UIKit that enables developers to quickly implement chat, conversation, search, relationship chain, and group management features. This quickstart guide is intended for iOS developers integrating TUIKit into their apps, providing step-by-step instructions including user authentication configuration, user login, and building core UI components such as conversation list, chat interface, contacts, and audio/video call functionality. - [SwiftUI](https://pre.trtc.io/document/77460.md): TUIKit SwiftUI is a SwiftUI UI component library based on the Chat SDK, designed for iOS developers to integrate instant messaging features including chat, conversation lists, and contact management. This quickstart guide provides step-by-step instructions to manually integrate TUIKit SwiftUI components into your iOS project using Xcode and configure essential functionalities such as user authentication, login, and UI construction for chat and contacts. ### Build Basic Interfaces - [Chat](https://pre.trtc.io/document/61215.md): This guide explains how to build a chat interface on iOS using UIKit with Tencent RTC chat SDKs. It is intended for developers who want to implement one-to-one and group chat features in their apps. The document details environment requirements, necessary prerequisites such as app and user setup, and provides step-by-step instructions with sample Swift and Objective-C code to create and display chat view controllers for both private and group chats. - [Conversation List](https://pre.trtc.io/document/61217.md): This guide provides a step-by-step quickstart for building a conversation list interface on iOS using UIKit. It targets developers who have integrated TUIKit or TUIConversation and completed login via TUILogin API. The instructions cover environment setup, prerequisites, loading the conversation list with TUIConversationListController, handling user selection events, and navigating to chat interfaces, enabling efficient implementation of conversation UI in iOS apps. - [Contact List](https://pre.trtc.io/document/61219.md): The iOS UIKit contact interface quickstart guide explains how to integrate and display the TUIContactController in your app. It targets iOS developers using Xcode 10+ and iOS 9.0+, helping them build a contact list interface with features such as viewing friend requests, group chats, and blocked contacts. The guide includes prerequisites, environment setup, and step-by-step sample code in Swift and Objective-C to quickly launch the contact UI component. - [Add Contact](https://pre.trtc.io/document/61221.md): TUIKit is a chat UI component for iOS (UIKit) that enables developers to add contacts within their applications. This quickstart guide is intended for iOS developers who have integrated TUIKit and completed login via TUILogin API. It provides step-by-step instructions including displaying the contact interface, searching users by valid userID, sending friend requests, and handling friend request verification settings. The guide also covers environment requirements and preconditions to ensure smooth implementation. - [Create Group Chat](https://pre.trtc.io/document/61223.md): TUIKit for iOS (UIKit) is a chat SDK that enables developers to create and manage group chats. This quickstart guide walks you through the steps to create a group chat after meeting environment requirements such as Xcode 10+ and iOS 9.0+, and completing prerequisites including application setup, user account creation, TUIKit integration, and login. Key actions include loading the conversation list, selecting contacts as group members, and configuring group settings like name and avatar. ### Features - [Calls Integration](https://pre.trtc.io/document/61225.md): This guide explains how to quickly integrate audio and video call features on iOS using TUICallKit and TUILogin SDKs. It covers environment setup, service activation in Chat and TRTC consoles, component integration, enabling offline push notifications, and adding AI noise reduction for enhanced voice messaging. The instructions help developers implement call invitation UI and manage call sessions effectively on iOS devices. - [Reactions](https://pre.trtc.io/document/59442.md): The iOS UIKit emoji response feature is provided by the TUIEmojiPlugin plugin, designed for Pro Plus and Enterprise editions. This guide explains how to integrate emoji reactions into your chat by combining TUIChat and TUIEmojiPlugin. After integration, users can long press messages to send or cancel emoji responses, view all reactions below messages, and access detailed emoji response information. Follow the steps to enable interactive emoji feedback in your chat application. - [Quote Reply](https://pre.trtc.io/document/60771.md): TUIChat message quoting feature enables users to reply to specific previous messages by quoting them within the message list on Android and iOS platforms. This feature allows users to long press a message to quote it, cancel a quotation before sending, and click the quoted message to locate and highlight the original message. It enhances message context and navigation in chat conversations. - [Read Receipt](https://pre.trtc.io/document/59440.md): The iOS UIKit Message Read Receipt feature in Tencent RTC's Chat SDK notifies senders when recipients have viewed their messages. Available in Pro, Pro Plus, and Enterprise editions, it supports both one-to-one and group chats with distinct read status indicators. Users can enable this feature through TUIChatConfig by setting msgNeedReadReceipt to true. This capability helps ensure important messages are acknowledged while respecting user privacy preferences. - [Typing Indicator](https://pre.trtc.io/document/59438.md): TUIKit is a Chat SDK component that supports displaying the "Typing..." indicator in one-to-one chats on iOS UIKit. This feature helps users know when the other party is actively typing a message, enhancing real-time communication. It can be enabled or disabled through the enableTypingStatus configuration switch. The typing prompt appears only if the other user has sent a message within the last 30 seconds and is currently typing. - [User Online Status](https://pre.trtc.io/document/59436.md): TUIKit iOS UIKit SDK supports displaying user online status on avatars in chat and contact lists, helping developers show real-time presence information. This feature is available for Pro, Pro Plus, and Enterprise editions and requires enabling the user status switch in the Chat console and subscribing to the Pro package. It provides a green circle indicator for online users and supports customization through API subscription for non-friends. This overview explains how to enable, display, and troubleshoot the user online status feature. - [Message Search](https://pre.trtc.io/document/50037.md): TUIKit's TUISearch component provides a local search SDK for iOS UIKit, enabling users to quickly find chat history, contacts, and group chats within large datasets. This guide covers purchasing the required Pro or Enterprise edition, integrating the TUISearch pod, logging in to TUIKit, and initializing the search UI with TUISearchBar. It helps developers efficiently implement local search functionality in their iOS apps. - [Message Translation](https://pre.trtc.io/document/60772.md): The text message translation feature is a paid SDK function for Android (View) and iOS (UIKit) platforms that enables users to translate text messages by long pressing a message bubble and selecting the Translate option. Available to Pro, Pro Plus, and Enterprise customers, it integrates the TUITranslationPlugin with TUIChat, supporting translation of text and text-type quotes or replies into various target languages. This feature enhances communication by breaking language barriers within chat interfaces. - [Customize Messages](https://pre.trtc.io/document/50043.md): TUIKit Messaging SDK for iOS UIKit provides default support for basic message types including text, image, audio, video, and file messages. This guide helps developers extend TUIKit by creating, displaying, and sending custom message types such as hypertext messages with browser redirection. It covers key steps including creating custom CellData classes, customizing message rendering, registering custom cells, and handling message sending using TUIKit version 7.4.4643. - [Customize Emojis and Stickers](https://pre.trtc.io/document/52396.md): The TUIChat emoji panel SDK for iOS (UIKit) enables developers to add custom emoji stickers by preparing emoji resource bundles and loading them when the app starts. This guide walks through the essential steps to integrate custom stickers, manage emoji groups, and ensure multi-terminal compatibility for enhanced emoji messaging experiences. - [Manufacturer configuration](https://pre.trtc.io/document/67573.md) - [Quick Integration](https://pre.trtc.io/document/50033.md) - [Client APIs](https://pre.trtc.io/document/67574.md) ### Customization - [Global](https://pre.trtc.io/document/65369.md): TUIKit SDK offers global customization features including language switching and built-in toast prompt control. This guide explains how to switch the TUIKit interface language among English, Simplified Chinese, and Arabic, and how to enable or disable the built-in toast prompts. These settings should be applied before initializing the TUIKit interface to customize the user experience effectively. - [Chat Theming](https://pre.trtc.io/document/65370.md): TUIChat SDK offers APIs for customizing chat interface elements on iOS platforms. It enables developers to set the background color and image of the message list, configure user avatar styles including rectangle, circle, and rounded rectangle with adjustable corner radius, and apply these settings across message, conversation, and contact lists. This guide provides detailed API prototypes and sample code in Swift and Objective-C for implementing these customizations before initializing the chat interfaces. - [Conversation List Theming](https://pre.trtc.io/document/65371.md): TUIConversation is a UI component SDK designed for customizing the conversation list interface in Tencent RTC applications. It enables developers to set background colors, fonts for titles, subtitles, and timestamps of conversation cells, as well as display unread message indicators and online status. This guide provides step-by-step instructions and sample code for Swift and Objective-C to help developers personalize the conversation list appearance before initialization. - [Group Theming](https://pre.trtc.io/document/65372.md): TUIGroup offers an API to hide specific group setting options across all groups. This API supports Swift and Objective-C and allows developers to selectively hide options such as members, manage, mute and pin, and more. The method should be invoked before initializing the group setting interface to take effect. - [Contact Theming](https://pre.trtc.io/document/65373.md): TUIContact SDK offers a function to hide specific contact setting options for all contacts or users not yet added. This guide explains the steps to use the hideItemsInContactConfig API in Swift and Objective-C, enabling developers to customize the contact settings interface by hiding options such as block, clear chat history, delete, or add friend before initializing the contact settings. ### Localization - [Localization](https://pre.trtc.io/document/57431.md): TUIKit iOS SDK provides built-in support for Simplified Chinese, English, and Arabic languages, including right-to-left scripts. This guide explains how to use the default language packs, specify interface languages, and add custom language resource files to support additional languages. It covers steps for creating new .lproj directories, customizing translation strings, and configuring language settings to follow the system language or a specified language code, enabling flexible localization for iOS applications. ### Changelog - [Changelog](https://pre.trtc.io/document/34282.md): The Native Enhanced Version SDK is a comprehensive real-time communication SDK providing streaming messages, text-to-speech, media upload/download, and push notification support across iOS, Android, Mac, HarmonyOS, and Unity platforms. This document details version updates, new features, bug fixes, and stability improvements to help developers stay informed about the latest enhancements and compatibility fixes. ## 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. - [iOS](https://pre.trtc.io/document/34307.md): The Chat SDK Quickstart Guide for iOS details environment requirements, automatic integration via CocoaPods, and manual SDK setup. It is designed for iOS developers using Xcode 9.0 or later on devices running iOS 8.0 or above. The guide provides step-by-step instructions to install, configure, and import the Chat SDK, enabling developers to quickly add chat capabilities to their iOS applications. - [macOS](https://pre.trtc.io/document/34308.md): The Chat SDK for Mac is a software development kit designed for Mac OS X 10.10+ and Xcode 9.0+ environments. It enables developers to integrate chat features into their Mac applications. This guide provides step-by-step instructions for setting up the development environment, integrating the SDK automatically using CocoaPods or manually importing the SDK, and referencing the SDK in project code to enable chat functionalities. - [Initialize Chat SDK](https://pre.trtc.io/document/47968.md): The Tencent RTC SDK for Android, iOS, Windows, and Mac requires initialization before use. This guide explains how to prepare an SDKAppID, configure the V2TIMSDKConfig object including log levels and listeners, add SDK event listeners, and call the initialization API. It covers log storage locations and decompression methods for different platforms, enabling developers to properly set up the SDK for real-time communication features. - [Login and Logout](https://pre.trtc.io/document/47971.md): Tencent Cloud Chat SDK provides login APIs for Android, iOS, Windows, and Mac platforms to authenticate users and enable messaging and conversation features. This guide explains the login process, key parameters like UserID and UserSig, handling ticket expiration, multi-client login scenarios, and logout operations. Sample code snippets in Java, Swift, Objective-C, and C++ demonstrate how to implement login functionality effectively. ### Users - [User Profile](https://pre.trtc.io/document/48162.md): Tencent RTC provides SDK APIs for Android, iOS, Windows, and Mac that allow users to query and modify their own profiles, as well as profiles of friends and non-friends. The SDK supports adding and removing relationship event listeners to receive real-time notifications about friendship changes. These APIs enable developers to manage user nicknames, profile photos, statuses, and friend remarks efficiently across multiple platforms. - [User Online Status](https://pre.trtc.io/document/49562.md): The Tencent RTC SDK version 6.3 and later introduces user status management capabilities, allowing applications to display and manage both general and custom user statuses. This feature targets developers integrating real-time communication in their apps to reflect users' online presence and personalized status messages. It supports multiple platforms including Android, iOS, Windows, and Mac, and provides APIs to set, query, and receive notifications about user status changes, enhancing user interaction and presence awareness. - [Friend Management](https://pre.trtc.io/document/48159.md): The Chat SDK is a cross-platform API suite that enables friend management features such as retrieving friend lists, adding and deleting friends, checking relationships, modifying friend profiles, and setting messaging permissions to friends only. It supports Android, iOS, Windows, and Mac platforms, providing developers with comprehensive methods and sample code in Java, Swift, Objective-C, and C++ to integrate social interactions into their applications. - [Friend List](https://pre.trtc.io/document/48156.md): Tencent RTC provides SDK APIs for managing friend groups on Android, iOS, Windows, and Mac platforms. These APIs enable developers to create, delete, rename, and retrieve friend groups, as well as add or remove friends from groups and receive notifications on group changes. The document includes sample code in Java, Swift, Objective-C, and C++ to facilitate integration and implementation of friend group management features. - [Block Lists](https://pre.trtc.io/document/48153.md): Tencent Cloud Chat SDK provides blocklist features for Android, iOS, Windows, and Mac platforms to block and unblock users effectively. This guide explains how to add users to the blocklist, listen for blocklist changes, and configure friendship behavior after blocking. It also details handling error codes when blocked users attempt to send messages, with sample code in Java, Swift, Objective-C, and C++. - [Follow](https://pre.trtc.io/document/61230.md): Tencent RTC's following feature SDK enables users on Android, iOS, Windows, and Mac platforms to follow and unfollow other users, facilitating timely receipt of updates and personalized content recommendations. This API documentation details the followUser and unfollowUser methods, including usage limits such as following up to 20 users simultaneously and a maximum of 5000 followers per user. It supports Pro, Pro-plus, and Enterprise Editions from SDK version 7.8 onwards. ### 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/48466.md): Tencent RTC SDK provides a comprehensive group management API that enables developers to create, join, leave, and disband groups. The Group Event Listener API supports event callbacks for group member changes, lifecycle events, join requests, and custom system notifications across Java, Swift, Objective-C, and C++ platforms. This API helps developers efficiently handle real-time group events and maintain group state synchronization. - [Group Channel Profile](https://pre.trtc.io/document/48185.md): The group profile management SDK for Android, iOS, Windows, and Mac platforms enables developers to retrieve and modify group information such as group ID, type, custom fields, and member count. This guide covers key steps including fetching group profiles with getGroupsInfo, updating profiles using setGroupInfo, and understanding role-based permissions for modifications. It also explains how to handle callbacks for group info changes to keep members informed. - [Member Management (Mute & Ban)](https://pre.trtc.io/document/48181.md): The getGroupMemberList API is part of the group member management SDK that supports Android, iOS, Windows, and Mac platforms. It enables developers to retrieve detailed member lists including user profiles, roles, and online status. This API supports pagination with the nextSeq parameter and filtering by member roles, facilitating efficient management of large groups such as AVChatRooms. It is designed for developers implementing group member operations like muting, removing, and permission granting within Tencent RTC. - [Member Profile](https://pre.trtc.io/document/48178.md): Tencent RTC provides APIs for managing group member profiles across Android, iOS, Windows, and Mac platforms. The V2TIMGroupMemberFullInfo class encapsulates userID, custom info, role, and muting status. Developers can retrieve multiple group member profiles efficiently using getGroupMembersInfo and update member details such as name cards and custom fields with setGroupMemberInfo. This guide covers key steps for obtaining and modifying group member information, including necessary pre-configuration for custom fields. - [Group Channel Attributes](https://pre.trtc.io/document/48175.md): The Group Custom Attributes API provides SDKs for Android, iOS, Windows, and Mac to manage custom key-value pairs for groups. It enables developers to initialize, set, delete, get, and update group attributes to support scenarios like voice chat room seat management, group activity organization, and group tagging. This API supports multiple group types including AVChatRoom, Public, Meeting, and Work groups, facilitating flexible group data management across Tencent RTC platforms. - [Group Channel Counter](https://pre.trtc.io/document/53431.md): The Group Counters API in Tencent RTC SDK allows developers to manage integer data storage at the group level across Android, iOS, Windows, and Mac platforms. It supports Pro, Pro Plus, and Enterprise editions starting from Enhanced SDK version 7.0. Key functionalities include setting, increasing, and decreasing group counters with real-time notifications via callbacks, enabling features such as cumulative viewer counts and total gifts in audio-video groups. ### Community Channels - [Manage Community](https://pre.trtc.io/document/48172.md): Tencent RTC Chat SDK provides community group and topic management capabilities across Android, iOS, Windows, and macOS. It enables developers to create large community groups with multiple topics to facilitate member interactions and message exchanges within topics. This feature supports managing community members and topics via dedicated APIs in V2TIMGroupManager and V2TIMMessageManager classes. Usage requires enabling the community feature in Tencent Cloud Console and appropriate edition licensing. - [Permission Group](https://pre.trtc.io/document/59829.md): Permission groups in Tencent RTC enable flexible management of community and topic permissions by allowing users to configure distinct permissions and members for different groups. Supported on Android, iOS, Windows, and Flutter platforms from version 7.8 onward, this feature is designed for communities with many members and topics. It requires Pro, Pro Plus, or Enterprise editions and activation via the Console. Permission groups use 64-bit values to represent enabled or disabled permissions, complementing default permissions that apply to all members. This overview explains the core concepts and management rules for permission groups to help users implement differentiated permission control effectively. ### Messages - [Overview](https://pre.trtc.io/document/47989.md): The V2TIMMessage class in the Chat SDK provides a comprehensive message structure for sending and receiving messages across Android, iOS, Windows, and Mac platforms. It defines key attributes such as message ID, timestamp, sender information, message status, and supports various message types including text, image, audio, video, and custom messages. This API reference details the properties and usage of V2TIMMessage for developers integrating chat functionalities. - [Send a Message](https://pre.trtc.io/document/47994.md): The sendMessage API in Tencent RTC SDK enables sending one-to-one and group messages across Android, iOS, Windows, and Mac platforms. It supports text, custom, and rich media messages with configurable options such as message priority, offline push notifications, and online user filtering. This reference details the API methods, parameters, and usage examples in Java, Swift, Objective-C, and C++ to facilitate integration of messaging features. - [Receive a Message](https://pre.trtc.io/document/47995.md): Tencent IM SDK provides the addSimpleMsgListener and addAdvancedMsgListener APIs for Android, iOS, Windows, and Mac platforms. These APIs enable developers to listen for and receive various message types including text, custom, and rich media messages. The simple message listener supports text and custom messages, while the advanced listener supports all message types. This reference details the listener setup, callback methods, and usage examples in multiple programming languages to facilitate timely and comprehensive message handling. - [Message History](https://pre.trtc.io/document/47998.md): The historical message pulling API in V2TIMManager and V2TIMMessageManager SDKs enables developers on Android, iOS, Windows, and Mac to retrieve one-to-one and group chat messages. It supports advanced retrieval methods including paging, time range, and message sequence, handling both local and cloud-stored messages with edition-based storage limits. This API ensures reliable access to chat history even during network issues by falling back to local data. - [Forward Message](https://pre.trtc.io/document/48001.md): Tencent RTC provides SDKs for Android, iOS, Windows, and Mac that enable developers to combine multiple messages into a single merged message and forward it. This guide explains how to create a combined message with a title and digest list, send it to a receiver, and handle compatibility with earlier SDK versions by providing fallback text. Key steps include using the createMergerMessage API to package original messages and display combined message details. - [Edit Message](https://pre.trtc.io/document/48006.md): The modifyMessage API in Tencent RTC Enhanced edition (v6.2+) enables participants on Android, iOS, Windows, and Mac platforms to modify sent messages within a conversation. It supports updating cloudCustomData and various message elements such as text, custom, location, and face elements. This API ensures that changes are synchronized across all conversation participants, facilitating features like message reply and quote. - [Insert a Message](https://pre.trtc.io/document/48008.md): The local message insertion API of Tencent RTC enables developers to insert messages such as tips or notifications directly into the local database for one-to-one and group chats on Android, iOS, Windows, and Mac. This API does not send messages to the server, ensuring messages like "You have left the group" are displayed locally without being shared. It is designed for scenarios requiring local-only message display, with usage demonstrated in Java, Swift, Objective-C, and C++. - [Delete Messages](https://pre.trtc.io/document/48011.md): Tencent RTC Messaging SDK provides APIs to delete both local and cloud messages on Android, iOS, Windows, and Mac platforms. This guide explains how to use deleteMessageFromLocalStorage to remove local messages and deleteMessages to permanently delete messages from the cloud and local storage. It includes platform-specific sample code and important notes on message recovery, deletion limits, and effects on conversation sorting. - [Clear History Messages](https://pre.trtc.io/document/48013.md): Tencent Cloud Messaging SDK provides APIs to clear one-to-one and group message histories on Android, iOS, Windows, and Mac platforms. These APIs remove all messages in a conversation both locally and from the cloud without deleting the conversation itself. Supported from SDK version v5.4.666 onwards, the clearing operation affects conversation list sorting depending on SDK version and sorting method. This documentation includes usage instructions and sample code for Java, Swift, Objective-C, and C++ to help developers integrate message clearing functionality. - [Recall a Message](https://pre.trtc.io/document/48016.md): Tencent RTC message recall SDK enables senders on Android, iOS, Windows, and Mac platforms to revoke messages within a configurable time frame. This guide explains how senders can recall messages and how receivers can detect and handle message recall notifications using APIs in Java, Swift, Objective-C, and C++. It covers message recall in both one-to-one and group chats, including permissions for group administrators and owners. - [Online Message](https://pre.trtc.io/document/48019.md): Tencent RTC Messaging SDK guides developers on sending online-only messages that are not stored offline or across devices. This quickstart covers how to implement a typing indicator in one-to-one chats on Android, iOS, Windows, and Mac by sending custom online messages with the onlineUserOnly flag set to true. The guide includes sample code snippets for Java, Swift, Objective-C, and C++ to help developers display "Typing..." status in real time. - [Read Receipt](https://pre.trtc.io/document/48022.md): The Read Receipt feature in Tencent RTC SDKs for Android, iOS, Windows, and Mac notifies message senders when recipients have read their messages. It supports group messages with configuration limits and one-to-one messages by default. This API documentation explains how to enable read receipts, send messages requesting receipts, report reads, listen for notifications, and retrieve read details. The feature requires Pro, Pro Plus, or Enterprise editions and supports groups up to 200 members. - [Query Messages](https://pre.trtc.io/document/48025.md): The findMessages API is a local message querying SDK provided by Tencent RTC for Android, iOS, Windows, and Mac platforms. It enables developers to retrieve detailed information of local messages by messageID, including revoked and deleted messages. This API is designed for scenarios where message lists store only messageIDs in memory and detailed content is fetched on demand, optimizing memory usage. It supports querying received and historical messages but excludes audio-video group messages which are not saved locally. - [Mentions (@)](https://pre.trtc.io/document/48027.md): This guide explains how to implement group @ message functionality on Android, iOS, Windows, and Mac platforms using Tencent RTC SDK. It covers detecting the '@' character in the chat input box, selecting target group members, creating a group @ message with specified members, and sending the message. Sample code in Java, Swift, Objective-C, and C++ demonstrates the key steps to enable group mentions in chat applications. - [Targeted Message](https://pre.trtc.io/document/48029.md): The Tencent RTC targeted group message SDK allows sending messages to specified members within a group, excluding others from receiving them. This feature supports Android, iOS, Windows, and Mac platforms and requires the Enhanced edition SDK v6.0.1975 or later with Pro, Pro Plus, or Enterprise licenses. The guide covers creating original messages, specifying recipients, and sending targeted group messages with sample code in multiple programming languages. - [Do Not Disturb](https://pre.trtc.io/document/48032.md): The Tencent RTC SDK provides message receiving options for one-to-one chat, group chat, and all messages to implement Do Not Disturb features. This guide covers how to configure these options on Android, iOS, Windows, and Mac platforms, including setting message receiving preferences using the setC2CReceiveMessageOpt API. It supports different modes such as receiving messages normally, receiving without notifications, or blocking messages entirely, enabling developers to customize user message alerts effectively. - [Message Extension](https://pre.trtc.io/document/50865.md): The Message Extension SDK enables developers on Android, iOS, Windows, and Mac platforms to configure custom keys and values for messages, supporting scenarios like polling, group notices, and surveys. This guide explains how to enable the feature in the Tencent RTC Console and use the setMessageExtensions API to add or modify message extensions, including important usage constraints and concurrency considerations. - [Reactions](https://pre.trtc.io/document/56572.md): The message reaction feature in Tencent RTC SDK enables users on Android, iOS, Windows, and Mac platforms to add, remove, and retrieve emoji reactions on messages. Available to Pro, Pro Plus, and Enterprise edition customers using Enhanced SDK v7.4 or later, this API supports interactive emoji responses with user counts and profiles, providing methods such as addMessageReaction, removeMessageReaction, getMessageReactions, and getAllUserListOfMessageReaction, along with notifications for reaction changes. - [Message Translation](https://pre.trtc.io/document/53434.md): The message translation API enables text message translation for Android, iOS, Windows, and Mac platforms. It supports manual translation calls for multiple UTF-8 encoded text messages, with automatic source language detection and multiple target languages. Available to Pro, Pro Plus, and Enterprise edition customers using SDK enhanced edition v7.0 or later, this API facilitates seamless integration of text translation capabilities in messaging applications. - [Pin Messages](https://pre.trtc.io/document/60171.md): Tencent Cloud Chat SDK provides the PinGroupMessage and GetPinnedGroupMessageList APIs to manage pinned messages in group chats. These APIs allow developers to pin important messages at the top of the chat list and retrieve pinned message lists, helping users quickly access frequently referenced content. The message pinning feature is supported in enhanced edition 7.9 and later, exclusively for premium edition customers, and currently applies only to ordinary groups. The PinGroupMessage API enables pinning or unpinning messages with detailed control, while the GetPinnedGroupMessageList API fetches pinned messages along with pinner information when available. ### Conversations - [Overview](https://pre.trtc.io/document/48329.md): The Chat SDK provides conversation management capabilities for Android, iOS, Windows, and Mac platforms. It enables developers to handle one-to-one and group chat conversations, including displaying and updating conversation lists, managing unread message counts, pinning conversations, setting drafts, and customizing conversation data. The SDK supports storing up to 100 conversations in the cloud with options to increase this limit via Pro and Enterprise editions, while local storage has no limit but may differ from cloud data. - [Conversation List](https://pre.trtc.io/document/48326.md): The conversation list feature SDK for Android, iOS, Windows, and Mac enables applications to retrieve and manage recent conversations after user login. It supports one-time and paged pulling of conversations, automatic synchronization of updates, and sorting by orderKey or last message timestamp. This guide provides step-by-step instructions to implement conversation list retrieval, update handling, and listener management across multiple platforms. - [Get Conversations](https://pre.trtc.io/document/48323.md): Tencent Cloud Conversation SDK offers APIs for Android, iOS, Windows, and Mac platforms to retrieve detailed information of specified conversations. These APIs allow developers to obtain V2TIMConversation objects for one or multiple conversations by their IDs, facilitating efficient conversation management in real-time communication applications. - [Unread Count](https://pre.trtc.io/document/48320.md): The Chat SDK provides the getTotalUnreadMessageCount API to retrieve the total unread message count across all conversations on Android, iOS, Windows, and Mac platforms. This API is designed for developers to efficiently display unread message indicators in chat applications, supporting work groups, public groups, and communities. It also includes callback notifications for real-time updates when unread counts change, enhancing user engagement and communication efficiency. - [Pin Conversations](https://pre.trtc.io/document/48317.md): The PinConversation API in Tencent RTC Enhanced edition SDK (v5.3.425+) allows developers to pin one-to-one or group conversations to the top of the conversation list on Android, iOS, Windows, and Mac platforms. This API helps users quickly access important conversations by fixing them above others, with the pinned status synchronized across devices. The maximum limit is 50 pinned conversations. The API provides methods to pin or unpin conversations and retrieve the conversation list with pinned conversations prioritized and sorted by activation order. - [Delete Conversations](https://pre.trtc.io/document/48314.md): Tencent Cloud Chat SDK provides the deleteConversation API for Android, iOS, Windows, and Mac platforms to delete one-to-one or group conversations. This API allows users to permanently remove conversations and their historical messages from both client and server, with multi-client synchronization supported from SDK version 5.1.1 onwards. The SDK version 7.1 or later enables batch deletion of up to 100 conversations with options to retain or delete message history. This documentation details the usage and parameters of the deleteConversation API across multiple platforms. - [Conversation Draft](https://pre.trtc.io/document/48311.md): The setConversationDraft API enables saving and restoring unfinished message drafts locally on Android, iOS, Windows, and Mac platforms. This SDK feature helps users preserve draft text when switching between chat windows, improving messaging continuity. The guide includes key steps and sample code in Java, Swift, Objective-C, and C++ to set or clear conversation drafts within Tencent RTC. - [Conversation Mark](https://pre.trtc.io/document/48853.md): The MarkConversation API in Tencent RTC SDK enables developers to mark or unmark conversations as favorite, unread, collapsed, or hidden across Android, iOS, Windows, and Mac platforms. This API supports batch marking of up to 100 conversations simultaneously and requires the Pro, Pro Plus, or Enterprise edition with SDK enhanced edition v6.5.2803 or later. It allows customization of extended marks while preserving the underlying conversation logic. - [Conversation Group](https://pre.trtc.io/document/48854.md): Tencent RTC conversation group management APIs enable developers to create, delete, rename, and manage conversation groups within their applications on Android, iOS, Windows, and Mac platforms. Available from SDK enhanced edition v6.5.2803 and requiring Pro or Enterprise editions, these APIs support grouping conversations for better organization and provide notifications on group changes. Supported languages include Java, Swift, Objective-C, and C++. ### Search - [Search Messages](https://pre.trtc.io/document/48134.md): The local message search feature in Tencent RTC Chat SDK allows developers to efficiently find messages within conversations using the V2TIMMessageSearchParam and V2TIMMessageSearchResult classes. This API supports keyword-based search, filtering by sender, message type, conversation scope, time range, and paginated results. It is available in Enhanced SDK v5.4.666 or later and applicable to Pro, Pro Plus, and Enterprise editions, enabling improved user experience by quickly locating relevant messages. - [Search Friends](https://pre.trtc.io/document/48137.md): The local user profile search feature in Tencent RTC Enhanced SDK v5.4.666 and later allows searching only locally stored users such as contacts or pulled profiles on Android, iOS, Windows, and Mac platforms. Available in IM Pro, Pro Plus, and Enterprise editions, this guide explains how to use the searchFriends API to search user profiles by userID, nickname, and remark fields with sample code snippets for Java, Swift, Objective-C, and C++. - [Search Channels](https://pre.trtc.io/document/48138.md): Tencent IM SDK provides a local group search feature for Android, iOS, Windows, and Mac platforms, allowing users to search only locally stored groups such as joined groups and pulled group profiles. This feature requires Enhanced SDK version 5.4.666 or later and is available exclusively on the IM Pro, Pro Plus, and Enterprise editions. This quickstart guide covers how to use the searchGroups API with sample code in Java, Swift, Objective-C, and C++ to set search keywords and specify search scopes for groupID and groupName fields. - [Search Channel Members](https://pre.trtc.io/document/48140.md): The local group member search feature in Tencent RTC Enhanced SDK (v5.4.666 or later) allows searching for group members stored locally on Android, iOS, Windows, and Mac platforms. Available on IM Pro, Pro Plus, and Enterprise editions, it enables developers to search group members by user ID, nickname, remark, or name card within specified groups or across all groups. This guide provides step-by-step instructions to integrate and use the searchGroupMembers API for efficient local group member retrieval. - [Cloud Search Messages](https://pre.trtc.io/document/67834.md): Cloud message search is a powerful SDK feature available on Android, iOS, Windows, and Mac platforms that enables users to quickly find desired content within complex messaging data. Designed for Pro Plus and Enterprise customers, it supports keyword-based, sender-specific, message type, and session-based searches with flexible time and pagination controls. This feature improves app user experience and operational efficiency by facilitating precise and fast message retrieval. - [Cloud Search Users](https://pre.trtc.io/document/67835.md): The Search Cloud Users API in Tencent RTC SDK allows developers to find user profiles by user ID, nickname, gender, and other parameters across Android, iOS, Windows, and Mac platforms. This API supports flexible keyword matching with OR/AND logic, pagination via search cursors, and returns detailed user information including friend status. It is designed for scenarios such as adding friends or following users in social applications. The feature requires SDK version 8.4 or later and service activation for advanced capabilities. - [Cloud Search Channels](https://pre.trtc.io/document/67836.md): The searchCloudGroups API in Tencent RTC allows developers to search for cloud groups by group ID, group name, or keywords across Android, iOS, Windows, and Mac platforms. It supports keyword matching with AND/OR logic, pagination via search cursors, and returns detailed group search results including total count and group lists. This API is essential for applications requiring efficient cloud group discovery and management. - [Cloud Search Channel Members](https://pre.trtc.io/document/67837.md): The searchCloudGroupMembers API provides a method to search cloud group members by memberID, nickname, and nameCard across Android, iOS, Windows, and Mac platforms. It supports keyword matching with OR/AND logic, group-specific or global searches, and paginated results. This API is designed for developers needing efficient member lookup in large groups and requires Tencent RTC version 8.4 or later, available to Pro Plus and Enterprise customers. ### Official Channel - [Official Channel](https://pre.trtc.io/document/69506.md): The official channel feature in Tencent RTC IMSDK allows users on Android, iOS, Windows, and Mac platforms to subscribe to broadcast messages and engage in one-on-one chats. This guide covers subscribing to official channels, receiving notifications on profile updates or deletions, and managing official channel lists using the subscribeOfficialAccount API method. Supported on the Enhanced edition from version v7.6.5011 onwards, it enables real-time interaction with official channels through detailed profile attributes and callback notifications. ### Extended Features - [Cloud Search](https://pre.trtc.io/document/60066.md): Cloud message search is a critical SDK feature available on Android, iOS, Windows, and Mac platforms that enables users to quickly locate desired messages across complex conversations. Designed for Pro Plus and Enterprise customers, it supports keyword-based, sender-specific, and session-specific searches with flexible time and pagination controls. This feature improves user experience and operational efficiency by providing precise and efficient content retrieval within Tencent RTC applications. - [Text Message Translation](https://pre.trtc.io/document/65360.md): The Android & iOS Chat message translation feature is provided by the TUITranslationPlugin integrated with TUIChat. It enables users to translate text messages by long-pressing them in the chat interface. This feature is available for Pro, Pro Plus, and Enterprise customers and requires no additional settings after integration. Supported message types include text, text quotes, and text replies, with language support varying by source and target languages. Integration instructions and language settings are detailed for seamless use. - [Poll](https://pre.trtc.io/document/67611.md): The TUIPollPlugin voting plugin is a UI closed-source library that depends on TUIChat and enables group voting features within TUIChat. This quickstart guide covers the integration steps for Android using gradle and iOS using CocoaPods. It explains how to add the necessary dependencies and highlights the requirement to upgrade TUIChat to version 7.1 or later to ensure proper functionality of the voting interface. - [GroupNote](https://pre.trtc.io/document/67615.md): TUIGroupNotePlugin is a group solitaire plugin SDK that depends on TUIChat and is supported from version 7.1 onward. This guide explains how to integrate the plugin on Android by adding the dependency in gradle and on iOS by adding the pod via CocoaPods. It ensures proper setup for initiating group solitaire activities within TUIChat on both platforms. - [ConversationMark](https://pre.trtc.io/document/67618.md): TUIConversationMarkPlugin is a UI closed-source plugin for marking conversations, part of the Tencent RTC SDK family. This guide explains how to integrate the plugin on Android using gradle and on iOS using CocoaPods. It covers adding dependencies and highlights the requirement to use TUIConversation version 7.3 or later to ensure proper functionality. - [ConversationGroup](https://pre.trtc.io/document/67621.md): TUIConversationGroupPlugin is a UI closed-source plugin for conversation group management, dependent on TUIConversation SDK version 7.3 or later. This guide provides step-by-step integration instructions for Android using Gradle and iOS using CocoaPods, enabling developers to create, delete, edit, hide, and reorder conversation groups within their applications. ### Client APIs - [Swift](https://pre.trtc.io/document/51450.md): Tencent Cloud IM SDK for Swift offers comprehensive APIs for initializing the SDK, user login, sending and receiving simple and advanced messages, signaling operations, group management, user profile handling, offline push, and friend management. This API reference details methods for managing message events, user status, signaling invitations, and message history, enabling developers to integrate real-time communication features efficiently. - [Objective-C](https://pre.trtc.io/document/36170.md): Tencent Cloud Chat iOS & Mac SDK provides comprehensive APIs for initializing the SDK, user login, sending and receiving various types of messages including text, custom, and rich media, managing signaling and group interactions, handling user profiles, offline push notifications, and friend management. This API reference details methods for message creation, event listeners, message history retrieval, and message status management, enabling developers to build robust chat functionalities on iOS and Mac platforms. ### Changelog - [Changelog](https://pre.trtc.io/document/34282.md): The Native Enhanced Version SDK is a comprehensive real-time communication SDK providing streaming messages, text-to-speech, media upload/download, and push notification support across iOS, Android, Mac, HarmonyOS, and Unity platforms. This document details version updates, new features, bug fixes, and stability improvements to help developers stay informed about the latest enhancements and compatibility fixes.