AI-powered Customer Service - Tencent Cloud Desk
Tencent Cloud Desk Customer UIKit is a UIKit for integrating AI-powered customer service chat on the customer side of Tencent Cloud Desk, providing efficient and seamless communication with both AI and human agents.
Key Features
- Built for customer service – Optimized UI, interactions, and workflows.
- Quick integration – Add a complete chat interface with just a few lines of code.
- Customizable – Supports global and session-level configurations.
Requirements
Environment
- Flutter version: 3.24 or later
- Platform support: Compatible with both emulators and physical devices
Note: Flutter 3.24+ is recommended. If using an older version, consider integrating the IM UIKit with the customer service plugin instead.
Prerequisites
Before integrating, complete the following steps:
- Create a Tencent Cloud Chat application.
- Enable the Desk feature.
- Obtain a Customer Service ID.
For detailed setup instructions, refer to the Tencent Cloud Desk Quick Start Guide.
Installation
Install the tencentcloud_ai_desk_customer
package via pub:
flutter pub add tencentcloud_ai_desk_customer
Usage
1. Initialize the SDK
Call init
to initialize the SDK and configure global settings. Authentication requires Tencent Cloud Chat credentials (SDKAppID, userID, userSig).
Example
import 'package:tencentcloud_ai_desk_customer/tencentcloud_ai_desk_customer.dart';
TencentCloudAIDeskCustomer.init(
sdkAppID: "SDKAppID", // Your SDKAppID from the Tencent Cloud Chat Console
userID: "userID", // The authenticated user ID
userSig: "userSig", // The authentication signature
config: TencentCloudCustomerConfig(), // Optional: Global configuration for customer service interactions
);
2. Launch the Customer Service Chat Interface
Use navigate
to open the customer service chat screen. Session-level configurations can be applied to override global settings.
Example
import 'package:tencentcloud_ai_desk_customer/tencentcloud_ai_desk_customer.dart';
TencentCloudAIDeskCustomer.navigate(
context: context, // Flutter's BuildContext
customerServiceID: "@customer_service_account", // The customer service account to connect with
config: TencentCloudCustomerConfig(), // Optional: Session-specific configuration
);
Learn More
For comprehensive documentation, visit the Tencent Cloud Desk Documentation.
Libraries
- base_widgets/tim_ui_kit_base
- base_widgets/tim_ui_kit_class
- base_widgets/tim_ui_kit_state
- base_widgets/tim_ui_kit_statelesswidget
- business_logic/life_cycle/base_life_cycle
- business_logic/life_cycle/chat_life_cycle
- business_logic/listener_model/tui_group_listener_model
- business_logic/model/profile_model
- business_logic/separate_models/tui_chat_model_tools
- business_logic/separate_models/tui_chat_separate_view_model
- business_logic/view_models/tui_chat_global_model
- business_logic/view_models/tui_conversation_view_model
- business_logic/view_models/tui_self_info_view_model
- business_logic/view_models/tui_setting_model
- customer_service/data/tencent_cloud_customer_data
- customer_service/manager/tencent_cloud_customer_manager
- customer_service/manager/tencent_cloud_customer_manager_impl
- customer_service/model/tencent_cloud_customer_config
- customer_service/model/tencent_cloud_customer_qucik_message
- customer_service/plugin/common/utils
- customer_service/plugin/components/message-branch
- customer_service/plugin/components/message-branchMessage
- customer_service/plugin/components/message-create/card_create
- customer_service/plugin/components/message-customer-service
- customer_service/plugin/components/message-form/message-form
- customer_service/plugin/components/message-form/message-formInput
- customer_service/plugin/components/message-form/message-formInput-mobile
- customer_service/plugin/components/message-form/mobile_form
- customer_service/plugin/components/message-formSave/formSave-branch
- customer_service/plugin/components/message-formSave/formSave-input
- customer_service/plugin/components/message-formSave/message-formSave
- customer_service/plugin/components/message-loading
- customer_service/plugin/components/message-multiple
- customer_service/plugin/components/message-orderCard
- customer_service/plugin/components/message-productCard
- customer_service/plugin/components/message-rating/message-rating
- customer_service/plugin/components/message-rating/rating-number
- customer_service/plugin/components/message-rating/rating-star
- customer_service/plugin/components/message-richText
- customer_service/plugin/components/message-robot-welcome
- customer_service/plugin/components/message-robot.dart/message-robot
- customer_service/plugin/components/message-robot.dart/robot-card
- customer_service/plugin/components/message-robot.dart/robot-text
- customer_service/plugin/components/message-show
- customer_service/plugin/components/message-stream
- customer_service/plugin/tencent_cloud_chat_customer_service_plugin
- customer_service/utils/tencent_cloud_customer_logger
- customer_service/utils/tencent_cloud_customer_toast
- customer_service/widgets/tencent_cloud_customer_message_container
- customer_service/widgets/tencent_cloud_customer_message_header
- customer_service/widgets/tencent_cloud_customer_message_quick_message
- customer_service/widgets/tencent_cloud_customer_message_tongue_item
- data_services/conversation/conversation_services
- data_services/conversation/conversation_services_implements
- data_services/core/core_services
- data_services/core/core_services_implements
- data_services/core/tim_uikit_config
- data_services/core/tim_uikit_wide_modal_operation_key
- data_services/core/web_support/uikit_web_support
- data_services/core/web_support/uikit_web_support_implement
- data_services/friendShip/friendship_services
- data_services/friendShip/friendship_services_implements
- data_services/group/group_services
- data_services/group/group_services_implement
- data_services/message/message_service_implement
- data_services/message/message_services
- data_services/services_locatar
- import_proxy/general
- import_proxy/import_proxy
- import_proxy/platform/native_import
- import_proxy/platform/web_import
- tencentcloud_ai_desk_customer
- ui/constants/history_message_constant
- ui/constants/time
- ui/controller/tim_uikit_chat_controller
- ui/theme/tim_uikit_avatar_theme
- ui/theme/tim_uikit_message_theme
- ui/utils/common_utils
- ui/utils/custom_sticker
- ui/utils/error_message_converter
- ui/utils/frame
- ui/utils/logger
- ui/utils/message
- ui/utils/optimize_utils
- ui/utils/permission
- ui/utils/platform
- ui/utils/route
- ui/utils/screen_shot
- ui/utils/screen_utils
- ui/utils/sound_record
- ui/utils/time_ago
- ui/views/TIMUIKitChat/tim_uikit_chat
- ui/views/TIMUIKitChat/tim_uikit_chat_config
- ui/views/TIMUIKitChat/tim_uikit_cloud_custom_data
- ui/views/TIMUIKitChat/tim_uikit_multi_select_panel
- ui/views/TIMUIKitChat/tim_uikit_send_file
- ui/views/TIMUIKitChat/TIMUIKitAppBar/tim_uikit_appbar
- ui/views/TIMUIKitChat/TIMUIKitAppBar/tim_uikit_appbar_title
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/main
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_custom_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_face_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_file_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_file_icon
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_group_tips_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_image_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_reply_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_sound_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_text_translate_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_video_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_chat_videoplayer
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/tim_uikit_merger_message_elem
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/message_reaction_emoji
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_detail
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_select_emoji
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_show_item
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_show_panel
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_utils
- ui/views/TIMUIKitChat/TIMUIKitMessageItem/TIMUIKitMessageReaction/tim_uikit_message_reaction_wrapper
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_config
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_history_message_list_item
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_chat_message_tooltip
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_history_message_list_container
- ui/views/TIMUIKitChat/TIMUIKItMessageList/tim_uikit_message_read_receipt
- ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_chat_history_message_list_tongue
- ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_chat_history_message_list_tongue_container
- ui/views/TIMUIKitChat/TIMUIKItMessageList/TIMUIKitTongue/tim_uikit_tongue_item
- ui/views/TIMUIKitChat/TIMUIKItMessageList/utils
- ui/views/TIMUIKitChat/TIMUIKitTextField/at_member_panel
- ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/DefaultSpecialTextSpanBuilder
- ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/emoji_text
- ui/views/TIMUIKitChat/TIMUIKitTextField/special_text/http_text
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_at_text
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_call_invite_list
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_emoji_panel
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_more_panel
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_send_sound_message
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_controller
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/narrow
- ui/views/TIMUIKitChat/TIMUIKitTextField/tim_uikit_text_field_layout/wide
- ui/widgets/avatar
- ui/widgets/az_list_view
- ui/widgets/customize_ball_pulse_header
- ui/widgets/drag_widget
- ui/widgets/emoji
- ui/widgets/extended_wrap/extended_render_wrap
- ui/widgets/extended_wrap/extended_wrap
- ui/widgets/forward_message_screen
- ui/widgets/gestured_image
- ui/widgets/group_member_list
- ui/widgets/image_hero
- ui/widgets/image_screen
- ui/widgets/keepalive_wrapper
- ui/widgets/link_preview/common/extensions
- ui/widgets/link_preview/common/utils
- ui/widgets/link_preview/compiler/md_text
- ui/widgets/link_preview/link_preview_entry
- ui/widgets/link_preview/models/link_preview_content
- ui/widgets/link_preview/widgets/link_preview
- ui/widgets/link_preview/widgets/link_text
- ui/widgets/loading
- ui/widgets/merger_message_screen
- ui/widgets/message_read_receipt
- ui/widgets/recent_conversation_list
- ui/widgets/text_input_bottom_sheet
- ui/widgets/textSize
- ui/widgets/unread_message
- ui/widgets/video_custom_control
- ui/widgets/video_screen
- ui/widgets/wide_popup