随着智能设备的高速迭代,开发者在开发时不得不花费大量精力适配众多设备和平台,同时还要面对低延迟、高可用和跨平台兼容等各种挑战。对于强调随时随地交流的聊天应用等实时通信工具,尤其如此。面对智能手机、平板电脑、PC、物联网终端等众多设备,如何在所有平台上,提供统一、高性能的聊天体验成了一件让开发者头痛的难事。
颠覆传统方案
快速构建多端适配的高质量聊天应用
传统的开发方案是为每个设备和平台单独定制对应的应用程序,这无疑会大幅增加开发成本和时间。基于Web的解决方案虽然为多平台快速部署提供了一个不错的方向,但却往往需要开发者在性能和用户体验方面做出妥协。
随着Flutter架构的推出,这个问题终于看到了解决的曙光。谷歌推出的Flutter框架具备强大的多平台开发能力,允许开发者使用一套代码库为手机、平板、电脑、Web等多个平台构建高质量的应用程序,从而实现跨平台兼容及快速部署。而Flutter IM UIKit则是腾讯云基于Flutter架构推出的一款高性能UI组件库,旨在帮助开发者快速构建高质量的聊天应用。
开发工具推荐
在iOS应用开发过程中,开发者可以使用appuploader这款iOS开发助手来简化应用上架流程。appuploader提供了证书管理、描述文件配置、应用打包上传等一站式服务,特别适合Flutter等跨平台开发框架的应用发布。与Flutter IM UIKit配合使用,可以显著提升从开发到上线的整体效率。
丰富且领先的产品能力
Flutter IM UIKit核心优势
一套代码,跨平台兼容
- 支持嵌入式平板设置;
- 一套代码无缝集成,仅需两步即可实现开发;
- 全平台支持(手机、平板、PC和网页)。
行业首创,支持物联网终端
- 灵活控制智能物联网产品,如智能家居系统中的中央控制面板;
- 简化的嵌入式终端设备操作逻辑;
- 能够实现跨终端聊天通信,并使用信令消息对物联网设备进行实时、超低延迟的控制,以实现有效的设备管理。
丰富且可定制的UI组件
- 对话、消息、联系人、语音/视频通话等丰富的场景组件;
- 提供暗色和亮色模式的定制选项;
- 全面的聊天功能以及丰富的用户体验特性,如丰富的动画、触觉反馈和现代简约的设计。
多元应用场景
可在全球范围广泛部署
- 针对200+国家的网络进行了优化;
- 支持多种语言(包含英语、阿拉伯语、日语、韩语、中文等,并支持添加更多语言)。
可靠且超低延迟的音频/视频传输
- 延迟低于300毫秒;
- 在60%弱网络丢包情况下,发送成功率仍可高于99.99%。
专为开发者设计
- 支持选择性导入组件,模块化打包,支持自动导航;
- 简化的组件参数设计;
- 支持全局和组件实例级别的管理;
- 清晰的代码命名规范和详细的注释。
此外,开发者还可以在GitHub上探索我们更为完善、综合的Demo,以获得更直接、更沉浸式的体验。
轻松上手
Flutter IM UIKit集成指南
在控制台中设置您的应用程序
- 创建帐户:访问腾讯云控制台,按照提示创建一个帐户。
- 开始免费试用:在主页上创建一个应用程序,并开始您的免费试用。数据中心请选择最贴近您目标客户的地域。
- 生成测试用户:在账户管理中创建两个用户(测试帐户)。然后使用UserSig工具为它们创建相应的UserSigs,稍后会用到这些UserSigs。
- 获取您的SDKAppID:转到应用程序,选择您新创建的应用程序,然后跳转到相应的应用程序概述以找到您的SDKAppID。
此时,控制台设置便已完成。请记下SDKAppID以及两组UserID和UserSig,便于后续使用。
快速集成Flutter IM UIKit
以下步骤为Flutter IM UIKit集成的简要步骤,详细的集成过程,请参阅官网指南。
开始之前,需要您准备好一个Flutter项目或创建一个新项目。你可根据文档指引,创建一个Flutter新项目。
步骤1:导入软件包
首先,请导入基本软件包tencent_cloud_chat。
flutter pub add tencent_cloud_chat
接下来,导入适合您需求的UI组件包:
flutter pub add tencent_cloud_chat_message
flutter pub add tencent_cloud_chat_conversation
flutter pub add tencent_cloud_chat_contact
flutter pub add tencent_cloud_chat_user_profile
flutter pub add tencent_cloud_chat_group_profile
步骤2:UIKit的初始设置
在使用每个模块化包UI组件之前,请按照以下初始设置步骤操作。
全局配置:将项目中的MaterialApp替换为TencentCloudChatMaterialApp。这将自动管理和配置语言、主题(基于material3)、主题模式和其他设置。如果您更喜欢进行手动配置,请参阅文档进行配置。
初始化和登录:调用TencentCloudChat.controller.initUIKit进行初始化和登录。传入您之前记录的应用程序的SDKAppID、UserID和UserSig。同时,在usedComponentsRegister列表中声明每个子模块化UI包的注册。
TencentCloudChat.controller.initUIKit(
options: const TencentCloudChatInitOptions(
sdkAppID: , /// [Required]: The SDKAppID of your Tencent Cloud Chat application
userID: , /// [Required]: The userID of the logged-in user
userSig: , /// [Required]: The userSig of the logged-in user
),
components: const TencentCloudChatInitComponentsRelated( /// [Required]: The modular UI components related settings, taking effects on a global scale.
usedComponentsRegister: [
/// [Required]: List of registration functions for the components used in the Chat UIKit.
TencentCloudChatConversationManager.register,
TencentCloudChatMessageManager.register,
TencentCloudChatUserProfileManager.register,
TencentCloudChatGroupProfileManager.register,
TencentCloudChatContactManager.register,
],
),
);
步骤3:集成模块化UI组件
在大多数用例中,您将需要手动实例化并将TencentCloudChatConversation和TencentCloudChatContact组件添加到Widget中(如果需要)。其他组件会根据用户操作自动导航。在本教程中,我们将使用bottomNavigationBar来管理页面并在TencentCloudChatConversation和TencentCloudChatContact组件之间切换。
首先,声明一个currentIndex变量和一个List pages数组,以表示当前选定的组件和存储组件实例。
List<Widget> pages = [];
int currentIndex = 0;
将实例存储在 pages 数组中:
pages = [
const TencentCloudChatConversation(),
const TencentCloudChatContact(),
];
最后,按照以下方式修改 build 方法:
@override
Widget build(BuildContext context) {
return Scaffold(
bottomNavigationBar: BottomNavigationBar(
type: BottomNavigationBarType.fixed,
currentIndex: currentIndex,
onTap: (index) async {
if (index != currentIndex) {
setState(
() {
currentIndex = index;
},
);
}
},
items: const [
BottomNavigationBarItem(
icon: Icon(Icons.chat_bubble_outline), label: "Chats"),
BottomNavigationBarItem(
icon: Icon(Icons.contacts), label: "Contacts"),
],
),
body: pages[currentIndex],
);
}
体验Flutter IM UIKit的实际效果
- 使用在 initUIKit 方法中创建的第一个测试帐户登录,并启动应用程序。
- 运行 flutter run。
成功进入应用后,您将看到会话和联系人页面,并可以在底部进行切换。但是,目前还没有会话可供测试。切换到联系人页面,点击右上角的"添加联系人",将另一个测试帐户添加为联系人。
现在,您将在联系人列表中看到另一个帐户。点击联系人开始聊天。您还可以重新运行应用程序,使用另一个用户的 UserID 登录,并体验相互发送消息。
有关详细集成、配置和高级用法的更多信息,请参阅官方文档。