please select
Conference
  • Overview
  • Web
    • Run Sample Demo
    • Integration
    • UI Customization
    • Conference Control
    • In-Conference Chat
    • On-Cloud Recording
    • AI Noise Suppression
    • Robot Streaming
    • Virtual Background
    • More Features
      • Floating Window
      • Text Watermark
    • API Documentation
      • RoomKit API
      • RoomEngine API
        • API Overview
        • TUIRoomEngine
        • TUIRoomEvents
        • TUIRoomEngine Defines
    • FAQs
  • iOS
    • Run Sample Demo
    • Integration
    • UI Customization
    • Conference Control
    • In-Conference Chat
    • On-Cloud Recording
    • AI Noise Suppression
    • Robot Streaming
    • More Features
      • Floating Window
    • API Documentation
      • RoomKit API
      • RoomEngine API
        • API Overview
        • TUIRoomEngine
        • TUIRoomObserver
        • Type Definition
    • FAQs
  • Android
    • Run Sample Demo
    • Integration
    • UI Customization
    • Conference Control
    • In-Conference Chat
    • On-Cloud Recording
    • AI Noise Suppression
    • Robot Streaming
    • More Features
      • Floating Window
    • API Documentation
      • RoomKit API
      • RoomEngine API
        • API Overview
        • TUIRoomEngine
        • TUIRoomObserver
        • Type Definition
    • FAQs
  • Electron
    • Run Sample Demo
    • Integration
    • UI Customization
    • Conference Control
    • In-Conference Chat
    • On-Cloud Recording
    • AI Noise Suppression
    • Robot Streaming
    • More Features
      • Floating Window
      • Text Watermark
    • API Documentation
      • RoomKit API
      • RoomEngine API
        • API Overview
        • TUIRoomEvent
        • TUIRoomEngine
        • TUIRoomEngine Defines
    • FAQs
  • Flutter
    • Run Sample Demo
    • Integration
    • UI Customization
    • Conference Control
    • In-Conference Chat
    • On-Cloud Recording
    • AI Noise Suppression
    • Robot Streaming
    • More Features
      • Floating Window
    • API Documentation
      • RoomKit API
      • RoomEngine API
        • API Overview
        • TUIRoomEngine
        • TUIRoomObserver
        • Type Definition
    • FAQs
  • Overview
    • Overview
  • Activate the Service
  • Pricing
    • TRTC Conference Monthly Packages
    • Pay-As-You-Go
    • Free Minutes
  • Server APIs
    • REST API
      • RESTful API Overview
      • RESTful API List
      • Room Management
        • Create a Room
        • Destroy a Room
        • Update the Room Information
        • Get the Room Information
      • User Management
        • Get the Room Member List
        • Update the Room Member Information
        • Change the Room Ownership
        • Mark Room Members
        • Ban Room Members
        • Unban Room Members
        • Get the Banned Room Member List
        • Remove Room Member
      • Seat Management
        • Get the Seat List
        • Pick User on the Seat
        • Kick User off the Seat
        • Lock the Seat
    • Third-Party Callback
      • Callback Overview
      • Callback Command List
      • Callback Configuration
        • Query Callback Configuration
        • Create Callback Configuration
        • Update Callback Configuration
        • Delete Callback Configuration
      • Room Related
        • After a Room Is Created
        • After a Room Is Destroyed
        • After the Room Information Is Updated
      • User Related
        • After a Room Is Entered
        • After a Room Is Left
      • Seat Connection Related
        • After the Seat List Is Changed
  • Error Code
Conference

In-Conference Chat

In video conferences, participants can send messages in real-time in the chat area, share opinions and ideas, and create a relaxed and pleasant communication environment by exchanging emoticons and animations. To maintain the order of the meeting, the host or administrator can set to prohibit participants from sending messages in the chat, ensuring the focus and efficiency of the conference content. By flexibly using these features, video conferences can provide efficient and convenient communication experiences for various scenarios.

Feature Introduction

Text, Multimedia Information Interaction

Click the Chat option at the bottom of the conference interface to access the chat interface. Participants can freely send text, pictures, videos, and voice messages, enabling real-time communication without disrupting the conference flow.




Emoji Interaction

Click the Emoji Icon in the message board editor in the chat interface to bring up the emoji list. Click the corresponding emoji to display it in the message board for sending.




Chat permissions in the control panel

The host/administrator can set a member’s chat permissions in Member Management. If muted, regular members will not be able to send messages.




feature Integration

Integrate chat component

Add the tencent_cloud_chat_message plugin dependency to your project's pubspec.yaml file.
dependencies:
tencent_cloud_chat_message: latest version

International Language Configuration

This step is required. First, import the localization tools into the entry file of the application.
import 'package:tencent_cloud_chat_intl/localizations/tencent_cloud_chat_localizations.dart';
Next, add the localization configuration to entries provided by third-party packages such as MaterialApp or GetMaterialApp. Here, GetMaterialApp is used as an example:
GetMaterialApp(
localizationsDelegates: const [
/// Your original configuration
GlobalMaterialLocalizations.delegate,
/// Add this line
...TencentCloudChatLocalizations.localizationsDelegates,
],
supportedLocales: [
/// Your original configuration
...S.delegate.supportedLocales,

/// Add this line
...TencentCloudChatLocalizations.supportedLocales,
],
/// Other settings
)

Initialization and Login

Add the following code to your project. Its function is to complete the initialization and log in to by calling the relevant interfaces in the chat component. This step is crucial, as the chat can only be used normally after initialization. Therefore, please be patient and check whether the relevant parameters are configured correctly. Among the parameters, sdkAppId, userID, and userSig, you have already used them when logging in to TUIRoomKit.
import 'package:tencent_cloud_chat/components/component_config/tencent_cloud_chat_message_common_defines.dart';
import 'package:tencent_cloud_chat/components/component_config/tencent_cloud_chat_message_config.dart';
import 'package:tencent_cloud_chat/models/tencent_cloud_chat_models.dart';
import 'package:tencent_cloud_chat/tencent_cloud_chat.dart';
import 'package:tencent_cloud_chat_message/tencent_cloud_chat_message.dart';

await TencentCloudChat.controller.initUIKit(
options: TencentCloudChatInitOptions(
sdkAppID: 'SDKAPPID', // Your SDKAPPID
userID: 'userID', // Your userID
userSig: 'userSig', // Your userSig
),
components: TencentCloudChatInitComponentsRelated(
usedComponentsRegister: [TencentCloudChatMessageManager.register], // Register chat components
componentConfigs: TencentCloudChatComponentConfigs(
messageConfig: TencentCloudChatMessageConfig(
// The following configuration is recommended.
showMessageSenderName: ({groupID, topicID, userID}) => true,
showSelfAvatar: ({groupID, topicID, userID}) => true,
defaultMessageMenuConfig: ({groupID, topicID, userID}) =>
TencentCloudChatMessageDefaultMessageMenuConfig(
enableMessageForward: false,
enableMessageSelect: false,
),
),
),
),
plugins: [],
);

Using Emojis (Optional)

If you need to send and receive emojis, you need to configure as follows:

Add Dependencies

In your project's pubspec.yaml file, add the tencent_cloud_chat_sticker plugin dependency.

Complete configuration

In the plugins of Initialization and Login in the previous step, add the following code:
plugins: [
TencentCloudChatPluginItem(
name: "sticker",
initData: TencentCloudChatStickerInitData(
useDefaultSticker: true, // Default stickers, only this sticker pack can interoperate with TUIRoomKit from other platforms.
useDefaultCustomFace_4350: false, // If you do not need to use TUIRoomKit from other platforms, you can enable the following emoji pack.
useDefaultCustomFace_4351: false,
useDefaultCustomFace_4352: false,
userID: 'userId', // Your userId
).toJson(),
pluginInstance: TencentCloudChatStickerPlugin(
context: context,
),
),
],
Note:
To respect the copyright of emoji designs, the TUIRoomKit example project does not include large emoji cut elements. Before official commercial use, please replace them with your own designs or other emoji packs you have copyright to. The default Little Yellow Face emoji pack is copyrighted by Tencent Cloud, and can be licensed for a fee. If you wish to obtain a license, you can Submit a ticket to contact us.

Using Chat

When you create or join a conference successfully, you need to pass the chatWidget into the conference page, ConferenceMainPage . After passing it in, the chat button will display in the bottom toolbar. Clicking the chat button will automatically navigate to chatWidget.
Navigator.push(
context,
MaterialPageRoute(
builder: (context) => ConferenceMainPage( // Conference main page
chatWidget: TencentCloudChatMessage(
options: TencentCloudChatMessageOptions(groupID: 'yourConferenceId'), // Your Confere
),
),
),
);
After completing the above configuration, you can click the chat button to chat during the conference.