tencent cloud

即时通信 IM

动态与公告
产品动态
公告
产品简介
产品概述
基本概念
应用场景
功能介绍
账号系统
用户资料与关系链
消息管理
群组相关
公众号系统
音视频通话 Call
使用限制
购买指南
计费概述
价格说明
购买指引
续费指引
停服说明
退费说明
开发指引
Demo 专区
开通服务
体验 Demo
快速跑通
下载中心
SDK & Demo 源码
更新日志
聊天互动(含 UI)
TUIKit 组件介绍
快速开始
全功能接入
单功能接入
AI 集成
构建基础界面
更多特性
定义外观
国际化界面语言
推送服务(Push)
服务概述
名词解释
开通服务
快速跑通
厂商通道
数据统计
排查工具
客户端 API
服务端 API
推送回调
高级功能
更新日志
错误码
常见问题
智能客服
功能概述
快速入门
集成指引
管理员操作手册
客服操作手册
更多实践
直播间搭建
AI 聊天机器人方案
超大娱乐协作社群
Discord 实现指南
游戏内集成 Chat 指南
类 WhatsApp Channel 搭建方案
发送红包
Chat 应对防火墙限制相关
无 UI 集成
快速开始
集成 SDK
初始化
登录登出
消息相关
会话相关
群组相关
社群话题
用户管理
离线推送
云端搜索
本地搜索
公众号
客户端 API
JavaScript
Android
iOS & macOS
Swift
Flutter
Electron
Unity
React Native
C 接口
C++
服务端 API
生成 UserSig
REST API
第三方回调
控制台指南
新版控制台介绍
创建并升级应用
基本配置
功能配置
账号管理
群组管理
公众号管理
回调配置
用量统计
资源包查看指南
实时监控
开发辅助工具
访问管理
高级功能
常见问题
uni-app 常见问题
购买相关问题
SDK 相关问题
账号鉴权相关问题
用户资料与关系链相关问题
消息相关问题
群组相关问题
直播群相关问题
昵称头像相关问题
协议与认证
服务等级协议
安全合规认证
IM 政策
隐私政策
数据隐私和安全协议
平滑迁移方案
平滑迁移完整版
平滑迁移简化版
错误码
联系我们
文档即时通信 IM

Flutter

聚焦模式
字号
最后更新时间: 2026-04-02 15:52:06
Flutter Chat UIKit 旨在为开发者提供一套全面的工具,以便轻松创建功能丰富的聊天应用程序。
它采用模块化方法构建,让您可以选择所需的组件,同时保持应用程序轻量级和高效。
其中的 TencentCloudChatMessage 组件提供了私信聊天(1V1)和群聊(Group)功能,支持对消息的多种操作,例如发送不同类型的消息、对消息长按回复/引用、查询消息已读回执详情等。
您可以仅集成 TencentCloudChatMessage 到您的 App 中。聊天界面使用场景非常广泛,例如房产中介咨询、在线医疗问诊、电商在线客服、保险远程定损等。界面效果可参考文档 Chat 重点功能介绍

特点

1. 个性化外观: UIKit内置深色和浅色模式,提供多种主题和外观定制选项,以满足您的业务需求。
2. 多平台兼容性: 适应性强的单一代码库可确保跨各种平台的兼容性,包括移动设备(iOS/Android)、平板电脑(iPad和Android平板电脑)、Web 浏览器和桌面软件(Windows/macOS)。
3. 本地化支持: 使用本地英语和其他语言选项开发,包括阿拉伯语、日语、韩语、简体中文和繁体中文。国际化功能确保了本地化的界面语言,并支持自定义和补充语言,其中阿拉伯语支持 RTL 用户界面。
4. 增强的性能: UIKit提供了改进的消息列表性能、内存使用和精确的消息定位功能,以满足具有大量消息和导航到旧消息的情况。
5. 高级功能: UIKit拥有众多高级功能,包括连续语音消息播放、增强的多媒体和文件消息体验以及直观的左右滑动以预览多媒体消息。
6. 精致的用户体验: 丰富的动画、触觉反馈和精美的界面等细节优化有助于改善用户体验。网格风格的头像、重新设计的转发面板、群组成员选择器和改进的长按消息菜单等新功能进一步丰富了体验。
7. 模块化设计: 组件被组织成模块化包,允许选择性导入并减少不必要的膨胀。每个包都支持内置导航转换,通过自动处理转换(例如对话和消息之间的转换)来简化开发和集成。
8. 对开发人员友好的方法: 更统一、标准化的组件参数设计,更清晰的代码命名约定和详细的注释,以及选择全局或实例级配置管理的灵活性,使开发更轻松、更高效。

兼容性

我们的 UIKit 支持手机端, 平板端桌面端 UI 样式,并兼容 Android、iOS、macOS、Windows 和 Web(将在未来版本中支持)。
它内置支持英语、简体中文、繁体中文、日语、韩语和阿拉伯语(支持阿拉伯RTL界面)以及亮色和暗色外观样式。

要求

Flutter 版本:3.24或更高。
Dart 版本:3.0或更高。

开始使用

引入包

要开始使用我们的UIKit,首先导入基础包,tencent_cloud_chat_common。
flutter pub add tencent_cloud_chat

模块化组件包

然后,导入模块化的 UI 组件包为 Message Chat, tencent_cloud_chat_message:
flutter pub add tencent_cloud_chat_message
说明:
平台集成
在继续“基本用法”部分之前,请确保完成此处列出的其他平台集成步骤,特别是当您针对这些特定平台进行部署时。
Web / macOS: 如果您计划在 WebmacOS 平台上部署项目,请 参考此文档说明
iOS: 打开 ios/Podfile ,并将最后一节替换为以下内容。
post_install do |installer|
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
target.build_configurations.each do |config|
config.build_settings['EXCLUDED_ARCHS[sdk=iphonesimulator*]'] = 'arm64'
config.build_settings['ENABLE_BITCODE'] = 'NO'
config.build_settings["ONLY_ACTIVE_ARCH"] = "NO"
end
target.build_configurations.each do |config|
config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= [
'$(inherited)',
'PERMISSION_MICROPHONE=1',
'PERMISSION_CAMERA=1',
'PERMISSION_PHOTOS=1',
]
end
end
end
Android / Windows: 不需要执行其他操作。

初始化 UIKit

在开始使用每个模块化包 UI 组件之前,您需要在项目中遵循一些初始设置步骤。
1. 准备必要的腾讯云 Chat 配置信息,如 sdkappid、测试 userID、userSig 等。详情可参见:前提条件
2. 安装 Package:
在您的 Flutter 项目中,安装主包和上面的“开始使用”部分中提到的可选模块化包。
3. 全局配置:
导入TencentCloudChatMaterialApp:将项目的MaterialApp替换为TencentCloudChatMaterialApp。这将自动管理和配置语言、主题(带有material3)、主题模式和其他设置,确保UIKit的界面参数与您的项目保持一致。
这一步将接管项目的语言、主题和主题模式配置。如果您不希望我们为您的项目自动管理所有这些配置,您可以按照以下指南在您的项目中手动导入必要的功能。
4. 初始化和登录:
调用TencentCloudChat.controller.initUIKit方法进行初始化和登录。调用说明和参考代码如下:
说明:
我们高度建议配置 callbacks 以可定制的方式通过 DialogToolTip 高效地处理 SDK API 错误和需要用户关注的特定 UIKit 事件。
await TencentCloudChat.controller.initUIKit(
config: TencentCloudChatConfig(), /// [可选]: 影响整个聊天界面的全局配置,包括用户相关配置、主题相关配置等。
options: TencentCloudChatInitOptions(
sdkAppID: , /// [必需]: 腾讯云聊天应用的SDKAppID
userID: , /// [必需]: 已登录用户的userID
userSig: , /// [必需]: 已登录用户的userSig
),

components: TencentCloudChatInitComponentsRelated( /// [必需]: 模块化UI组件相关设置,全局生效。
usedComponentsRegister: [
/// [必需]: 聊天界面中使用的组件的注册函数列表。
/// 只需要使用 TencentCloudChatMessage 中的 `register` 即可。
TencentCloudChatMessageManager.register,
],
componentConfigs: TencentCloudChatComponentConfigs(
/// [可选]: 在此处为每个UI模块组件提供自定义配置。这些构建器将全局应用。
),
componentBuilders: TencentCloudChatComponentBuilders(
/// [可选]: 在此处为每个UI模块组件提供自定义UI构建器。这些构建器将全局应用。
),
componentEventHandlers: TencentCloudChatComponentEventHandlers(
/// [可选]: 在此处为UI组件相关事件提供自定义事件处理程序。这些构建器将全局应用。
),
),

/// [关键]: 强烈建议将以下回调侦听器集成到SDK事件、SDK API错误和需要用户关注的特定UIKit事件的有效管理中。
/// 有关详细用法,请参阅本自述文件末尾的“引入UIKit回调”部分。
callbacks: TencentCloudChatCallbacks(
onTencentCloudChatSDKEvent: V2TimSDKListener(), /// [可选]: 处理SDK事件,如onKickedOffline和onUserSigExpired等。
onTencentCloudChatSDKFailCallback: (apiName, code, desc) {}, /// [可选]: 处理SDK API错误。
onTencentCloudChatUIKitUserNotificationEvent: (TencentCloudChatComponentsEnum component, TencentCloudChatUserNotificationEvent event) {}, /// [可选]: 处理全局范围内需要用户关注的特定UIKit事件。
),

plugins: [], /// [可选]: 使用的插件,如tencent_cloud_chat_robot等。具体用法请参阅每个插件的自述文件。
);

发起聊天

Chat UIKit 为用户创建聊天模块提供了全面的解决方案。 通过指定聊天用户选项定向到 TencentCloudChatMessage ,即可为其无缝搭建聊天模块,同时满足一对一和群聊的需求。

自动导航到消息组件

利用 Chat UIKit 自带的自动导航功能,通过 TencentCloudChatMessageOptions 调用 navigateToMessage 方法即可轻松发起聊天,如下所示:
final messageOptions = TencentCloudChatMessageOptions(
// 提供UserID或GroupID,指示聊天对话。
userID: "", // 对于一对一聊天,提供另一个用户的用户 ID
groupID: "", // 对于群聊,请提供 groupID
);
/// 使用上面构造的 messageOptions
navigateToMessage(context: context, options: messageOptions);
通过提供用户 ID 或 groupID,可以轻松地发起一对一或群聊的聊天对话。

手动导航到消息组件

如果你需要手动处理导航,或将组件包装在你的自定义页面中,那么要实例化一个 TencentCloudChatMessage 组件。
final messageOptions = TencentCloudChatMessageOptions(
// 提供UserID或GroupID,指示聊天对话。
userID: "", // 对于一对一聊天,提供另一个用户的用户 ID
groupID: "", // 对于群聊,请提供 groupID
);
final Widget message = TencentCloudChatMessage(
options: messageOptions,

// ... 其他参数,如 builders,可以根据您的需求在全局范围内指定或在此处静态传入。有关详细用法,请参考参数和方法注释。
);
你可以将这个实例化的组件放在单独页面的 build 方法中,或像使用 Navigator.push 一样直接用于导航。

高级用法

一旦你实现了基本的使用步骤,你的项目中就会有一个带有默认用户界面和业务逻辑的聊天消息模块。然而,如果这些默认设置不能完全满足你的业务需求,有几种方式可以自定义模块:
Controller:使用控制器管理消息小部件。这可能涉及到根据需要发送额外的消息,滚动消息列表等操作。
Config:使用 config 调整基本设置。
Builders:使用 builder 进一步自定义 UI 部件。每个构建器都配备了数据(构建自定义部件所需的基本参数)、方法(业务逻辑相关方法)和部件(每个构建器的默认原子化部件)。
EventHandlers:附加监听器到 eventHandlers 来管理特定组件的事件。这包括 uiEventHandlers(如各种 onTap 类似的事件)和 lifeCycleEventHandlers(如发送消息后触发的事件)。
这些高级实现方法在所有 Chat UIKit 组件中都保持一致。要深入了解这些高级特性,你可以参考模块化 UI 包的高级用法

总结

以上步骤提供了一个快速指南,介绍了如何单独集成消息聊天组件。如果你希望了解聊天 UIKit 的完整使用方法,或者有任何未解决的问题,请参阅完整版 UIKit 快速接入文档

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈