Tencent Cloud Desk Customer UIKit

Tencent Cloud Desk Customer UIKit is a Flutter library designed for seamless integration of Tencent Cloud Desk customer service features into your app. With minimal code, you can implement a professional chat interface tailored to intelligent customer service scenarios. This package eliminates the need to manage complex Chat integrations while offering a customizable and efficient solution for customer interaction.


Key Features

  • Purpose-built for customer service scenarios: Focused design for UI, interactions, and functionality to enhance the smart customer service experience.
  • Effortless integration: Add a fully functional customer service module with just a few lines of code.
  • Customizable configuration: Global and session-level configurations to fit your specific needs.

Requirements

Environment

  • Flutter version: 3.24 or above
  • Platform support: Works on both simulators and physical devices.

Note: If your project uses a Flutter version earlier than 3.24, it is highly recommended to upgrade. For older Flutter versions, consider using the legacy IM UIKit + customer service plugin combination.

Prerequisites

Ensure you have completed the necessary backend setup:

  1. Added customer service agents.
  2. Configured skill groups.
  3. Created conversation service flows.

For more information on these steps, refer to the Tencent Cloud Desk Quick Start Guide.


Installation

Add the tencent_cloud_customer package to your project:

flutter pub add tencent_cloud_customer

How to Use

1. Initialize the Customer Service SDK

Call the init method to initialize the SDK and configure global settings. You'll need Tencent Cloud Chat credentials (SDKAppID, userID, userSig) for authentication.

Example:

import 'package:tencent_cloud_customer/tencent_cloud_customer.dart';

TencentCloudCustomer.init(
  sdkAppID: "SDKAppID", // Your SDKAppID from Tencent Cloud Chat Console
  userID: "userID", // The UserID for authentication
  userSig: "userSig", // The UserSig for authentication
  config: TencentCloudCustomerConfig(), // Optional: Default global configuration for all the customer service experience
);

2. Open the Customer Service Chat Interface

Use the navigate method to open the customer service chat page. Session-specific configurations can override the global defaults for more granular control.

Example:

import 'package:tencent_cloud_customer/tencent_cloud_customer.dart';

TencentCloudCustomer.navigate(
  context: context, // Flutter's BuildContext
  customerServiceID: "@customer_service_account", // The customer service account ID to initiate a chat with
  config: TencentCloudCustomerConfig(), // Optional: Additional configuration specific to this session
);

Learn More

Refer to the official Tencent Cloud Desk Documentation for detailed guidance.

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/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-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
tencent_cloud_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_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/intl_camer_picker
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/center_play_button
ui/widgets/column_menu
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/loading
ui/widgets/merger_message_screen
ui/widgets/message_read_receipt
ui/widgets/radio_button
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